Nacos集群使用Docker部署

news2025/5/19 10:48:06

文章目录

  • 一、Nacos集群部署
    • - 单机三节点集群
    • - 三台机器部署集群

一、Nacos集群部署

  • 此次部署使用Docker,使用版本为Nacos1.4.0
  • mysql为5.7,nacos的表结构sql文件:
/*
 * Copyright 1999-2018 Alibaba Group Holding Ltd.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info   */
/******************************************/
CREATE TABLE `config_info` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(255) DEFAULT NULL,
  `content` longtext NOT NULL COMMENT 'content',
  `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
  `src_user` text COMMENT 'source user',
  `src_ip` varchar(20) DEFAULT NULL COMMENT 'source ip',
  `app_name` varchar(128) DEFAULT NULL,
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  `c_desc` varchar(256) DEFAULT NULL,
  `c_use` varchar(64) DEFAULT NULL,
  `effect` varchar(64) DEFAULT NULL,
  `type` varchar(64) DEFAULT NULL,
  `c_schema` text,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info';

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info_aggr   */
/******************************************/
CREATE TABLE `config_info_aggr` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(255) NOT NULL COMMENT 'group_id',
  `datum_id` varchar(255) NOT NULL COMMENT 'datum_id',
  `content` longtext NOT NULL COMMENT '内容',
  `gmt_modified` datetime NOT NULL COMMENT '修改时间',
  `app_name` varchar(128) DEFAULT NULL,
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfoaggr_datagrouptenantdatum` (`data_id`,`group_id`,`tenant_id`,`datum_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='增加租户字段';


/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info_beta   */
/******************************************/
CREATE TABLE `config_info_beta` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  `content` longtext NOT NULL COMMENT 'content',
  `beta_ips` varchar(1024) DEFAULT NULL COMMENT 'betaIps',
  `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
  `src_user` text COMMENT 'source user',
  `src_ip` varchar(20) DEFAULT NULL COMMENT 'source ip',
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfobeta_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_beta';

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info_tag   */
/******************************************/
CREATE TABLE `config_info_tag` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
  `tag_id` varchar(128) NOT NULL COMMENT 'tag_id',
  `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  `content` longtext NOT NULL COMMENT 'content',
  `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
  `src_user` text COMMENT 'source user',
  `src_ip` varchar(20) DEFAULT NULL COMMENT 'source ip',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfotag_datagrouptenanttag` (`data_id`,`group_id`,`tenant_id`,`tag_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_tag';

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_tags_relation   */
/******************************************/
CREATE TABLE `config_tags_relation` (
  `id` bigint(20) NOT NULL COMMENT 'id',
  `tag_name` varchar(128) NOT NULL COMMENT 'tag_name',
  `tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
  `nid` bigint(20) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`nid`),
  UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`),
  KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_tag_relation';

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = group_capacity   */
/******************************************/
CREATE TABLE `group_capacity` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群',
  `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
  `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
  `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
  `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数,,0表示使用默认值',
  `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
  `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
  `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_group_id` (`group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='集群、各Group容量信息表';

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = his_config_info   */
/******************************************/
CREATE TABLE `his_config_info` (
  `id` bigint(64) unsigned NOT NULL,
  `nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `data_id` varchar(255) NOT NULL,
  `group_id` varchar(128) NOT NULL,
  `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  `content` longtext NOT NULL,
  `md5` varchar(32) DEFAULT NULL,
  `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00',
  `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00',
  `src_user` text,
  `src_ip` varchar(20) DEFAULT NULL,
  `op_type` char(10) DEFAULT NULL,
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  PRIMARY KEY (`nid`),
  KEY `idx_gmt_create` (`gmt_create`),
  KEY `idx_gmt_modified` (`gmt_modified`),
  KEY `idx_did` (`data_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='多租户改造';


/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = tenant_capacity   */
/******************************************/
CREATE TABLE `tenant_capacity` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `tenant_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID',
  `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
  `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
  `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
  `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数',
  `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
  `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
  `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='租户容量信息表';


CREATE TABLE `tenant_info` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `kp` varchar(128) NOT NULL COMMENT 'kp',
  `tenant_id` varchar(128) default '' COMMENT 'tenant_id',
  `tenant_name` varchar(128) default '' COMMENT 'tenant_name',
  `tenant_desc` varchar(256) DEFAULT NULL COMMENT 'tenant_desc',
  `create_source` varchar(32) DEFAULT NULL COMMENT 'create_source',
  `gmt_create` bigint(20) NOT NULL COMMENT '创建时间',
  `gmt_modified` bigint(20) NOT NULL COMMENT '修改时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`),
  KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info';

CREATE TABLE users (
        username varchar(50) NOT NULL PRIMARY KEY,
        password varchar(500) NOT NULL,
        enabled boolean NOT NULL
);

CREATE TABLE roles (
        username varchar(50) NOT NULL,
        role varchar(50) NOT NULL,
        constraint uk_username_role UNIQUE (username,role)
);

CREATE TABLE permissions (
    role varchar(50) NOT NULL,
    resource varchar(512) NOT NULL,
    action varchar(8) NOT NULL,
    constraint uk_role_permission UNIQUE (role,resource,action)
);

INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE);

INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');

- 单机三节点集群

  • 使用docker-compose部署,单机三集群示例:

注意:yaml文件中的集群设置,要写成容器内的服务端口,也就是 NACOS_SERVER_PORT 这个端口,因为是一个compose文件,直接使用默认网络的话,三个容器直接就是互通的

  • 先创建目录
mkdir -p /home/fosafer/nacos_1/init.d
touch /home/fosafer/nacos_1/init.d/custom.properties
mkdir -p /home/fosafer/nacos_1/logs

mkdir -p /home/fosafer/nacos_2/init.d
touch /home/fosafer/nacos_2/init.d/custom.properties
mkdir -p /home/fosafer/nacos_2/logs

mkdir -p /home/fosafer/nacos_3/init.d
touch /home/fosafer/nacos_3/init.d/custom.properties
mkdir -p /home/fosafer/nacos_3/logs

chmod 777 -R /home/fosafer/nacos_*
  • compose内容
version: '2.2'
services:
  nacos1:
    image: "nacos/nacos-server:1.4.0"
    container_name: nacos1
    ports:
      - '8848:8848'
    #network_mode: host
    privileged: true
    volumes:
      - /home/fosafer/nacos_1/init.d/custom.properties:/home/nacos/init.d/custom.properties
      - /home/fosafer/nacos_1/logs:/home/nacos/logs
    environment:
      JVM_XMS: 256m
      JVM_XMX: 256m
      MODE: cluster  # 使用集群模式
      PREFER_HOST_MODE: hostname   # 使用hostname进行通信
      NACOS_SERVERS: nacos1:8848 nacos2:8848 nacos3:8848  # 单机三集群
      NACOS_SERVER_IP: 127.0.0.1 
      NACOS_SERVER_PORT: 8848  # 指定ip
      SPRING_DATASOURCE_PLATFORM: mysql
      MYSQL_DATABASE_NUM: 1
      MYSQL_SERVICE_HOST: 10.10.11.185
      MYSQL_SERVICE_PORT: 3306
      MYSQL_SERVICE_DB_NAME: nacos
      MYSQL_SERVICE_USER: root
      MYSQL_SERVICE_PASSWORD: Fosafer.com
    restart: always
  nacos2:
    image: "nacos/nacos-server:1.4.0"
    container_name: nacos2
    ports:
      - '8849:8848'
    #network_mode: host
    privileged: true
    volumes:
      - /home/fosafer/nacos_2/init.d/custom.properties:/home/nacos/init.d/custom.properties
      - /home/fosafer/nacos_2/logs:/home/nacos/logs
    environment:
      JVM_XMS: 256m
      JVM_XMX: 256m
      MODE: cluster
      PREFER_HOST_MODE: hostname
      NACOS_SERVERS: nacos1:8848 nacos2:8848 nacos3:8848  # 单机三集群
      NACOS_SERVER_IP: 127.0.0.1 
      NACOS_SERVER_PORT: 8848  # 指定ip
      SPRING_DATASOURCE_PLATFORM: mysql
      MYSQL_DATABASE_NUM: 1
      MYSQL_SERVICE_HOST: 10.10.11.185
      MYSQL_SERVICE_PORT: 3306
      MYSQL_SERVICE_DB_NAME: nacos
      MYSQL_SERVICE_USER: root
      MYSQL_SERVICE_PASSWORD: Fosafer.com
    restart: always
  nacos3:
    image: "nacos/nacos-server:1.4.0"
    container_name: nacos3
    ports:
      - '8850:8848'
    #network_mode: host
    privileged: true
    volumes:
      - /home/fosafer/nacos_3/init.d/custom.properties:/home/nacos/init.d/custom.properties
      - /home/fosafer/nacos_3/logs:/home/nacos/logs
    environment:
      JVM_XMS: 256m
      JVM_XMX: 256m
      MODE: cluster
      PREFER_HOST_MODE: hostname
      NACOS_SERVERS: nacos1:8848 nacos2:8848 nacos3:8848  # 单机三集群
      NACOS_SERVER_IP: 127.0.0.1 
      NACOS_SERVER_PORT: 8848  # 指定ip
      SPRING_DATASOURCE_PLATFORM: mysql
      MYSQL_DATABASE_NUM: 1
      MYSQL_SERVICE_HOST: 10.10.11.185
      MYSQL_SERVICE_PORT: 3306
      MYSQL_SERVICE_DB_NAME: nacos
      MYSQL_SERVICE_USER: root
      MYSQL_SERVICE_PASSWORD: Fosafer.com
    restart: always
  • docker-compose up -d 启动即可,日志没有报错,提示successfully即可

在这里插入图片描述

  • 登录任意节点页面IP:8848/nacos

在这里插入图片描述

  • 查看集群管理-节点列表,节点状态全为UP即可

在这里插入图片描述

- 三台机器部署集群

  • 单节点机器无法使用host网络模式,个人实验后发现如果使用主机网络模式,进程会冲突,三个节点可能只能启动成功一个,但是如果分开部署,为了避免因为网络出现的问题,可以使用host主机模式
  • 这里的通信方式变为ip,如果通信方式要使用 hostname 的话,那就需要使用host主机网络,并且将对应的dns解析写入hosts文件
  • 和单机部署一样,先在不同机器上创建相关目录,并且赋予777权限
mkdir -p /home/fosafer/nacos_1/init.d
touch /home/fosafer/nacos_1/init.d/custom.properties
mkdir -p /home/fosafer/nacos_1/logs

mkdir -p /home/fosafer/nacos_2/init.d
touch /home/fosafer/nacos_2/init.d/custom.properties
mkdir -p /home/fosafer/nacos_2/logs

mkdir -p /home/fosafer/nacos_3/init.d
touch /home/fosafer/nacos_3/init.d/custom.properties
mkdir -p /home/fosafer/nacos_3/logs

chmod 777 -R /home/fosafer/nacos_*
  • compose内容

nacos1:

version: '2.2'
services:
  nacos1:
    image: "nacos/nacos-server:1.4.0"
    container_name: nacos1
    ports:
      - '8851:8848'
    #network_mode: host
    privileged: true
    volumes:
      - /home/fosafer/nacos_1/init.d/custom.properties:/home/nacos/init.d/custom.properties
      - /home/fosafer/nacos_1/logs:/home/nacos/logs
    environment:
      JVM_XMS: 256m
      JVM_XMX: 256m
      MODE: cluster
      PREFER_HOST_MODE: ip  # 使用ip进行通信
      NACOS_SERVERS: 10.10.11.185:8851 10.10.11.213:8852 10.10.11.218:8853  # 这里就要用映射端口了
      NACOS_SERVER_IP: 10.10.11.185 # 替换为宿主机IP
      NACOS_SERVER_PORT: 8848  # 指定ip
      SPRING_DATASOURCE_PLATFORM: mysql
      MYSQL_DATABASE_NUM: 1
      MYSQL_SERVICE_HOST: 10.10.11.185
      MYSQL_SERVICE_PORT: 3306
      MYSQL_SERVICE_DB_NAME: nacos
      MYSQL_SERVICE_USER: root
      MYSQL_SERVICE_PASSWORD: Fosafer.com
    restart: always

nacos2:

version: '2.2'
services:
  nacos2:
    image: "nacos/nacos-server:1.4.0"
    container_name: nacos2
    ports:
      - '8852:8848'
    #network_mode: host
    privileged: true
    volumes:
      - /home/fosafer/nacos_2/init.d/custom.properties:/home/nacos/init.d/custom.properties
      - /home/fosafer/nacos_2/logs:/home/nacos/logs
    environment:
      JVM_XMS: 256m
      JVM_XMX: 256m
      MODE: cluster
      PREFER_HOST_MODE: ip
      NACOS_SERVERS: 10.10.11.185:8851 10.10.11.213:8852 10.10.11.218:8853
      NACOS_SERVER_IP: 10.10.11.213 # 替换为宿主机IP
      NACOS_SERVER_PORT: 8848  # 指定ip
      SPRING_DATASOURCE_PLATFORM: mysql
      MYSQL_DATABASE_NUM: 1
      MYSQL_SERVICE_HOST: 10.10.11.185
      MYSQL_SERVICE_PORT: 3306
      MYSQL_SERVICE_DB_NAME: nacos
      MYSQL_SERVICE_USER: root
      MYSQL_SERVICE_PASSWORD: Fosafer.com
    restart: always

nacos3:

version: '2.2'
services:
  nacos3:
    image: "nacos/nacos-server:1.4.0"
    container_name: nacos3
    ports:
      - '8853:8848'
    #network_mode: host
    privileged: true
    volumes:
      - /home/fosafer/nacos_3/init.d/custom.properties:/home/nacos/init.d/custom.properties
      - /home/fosafer/nacos_3/logs:/home/nacos/logs
    environment:
      JVM_XMS: 256m
      JVM_XMX: 256m
      MODE: cluster
      PREFER_HOST_MODE: ip
      NACOS_SERVERS: 10.10.11.185:8851 10.10.11.213:8852 10.10.11.218:8853 
      NACOS_SERVER_IP: 10.10.11.218 # 替换为宿主机IP
      NACOS_SERVER_PORT: 8848  # 指定ip
      SPRING_DATASOURCE_PLATFORM: mysql
      MYSQL_DATABASE_NUM: 1
      MYSQL_SERVICE_HOST: 10.10.11.185
      MYSQL_SERVICE_PORT: 3306
      MYSQL_SERVICE_DB_NAME: nacos
      MYSQL_SERVICE_USER: root
      MYSQL_SERVICE_PASSWORD: Fosafer.com
    restart: always
  • 启动后查看三台机器的日志

在这里插入图片描述

  • 登录任意一台节点的页面查看节点状态

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/851016.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

认识 spring 中的事务 与 事务的传播机制

前言 本篇介绍spring中事务的实现方式,如何实现声明式事务,对事物进行参数的设置,了解事务的隔离级别和事务的传播机制;如有错误,请在评论区指正,让我们一起交流,共同进步! 文章目录…

varint原理 - 负数的编码和解码

前一篇博客 varint原理 - 正数的编码和解码_YZF_Kevin的博客-CSDN博客我们讲了varint的实现原理,举例也分析对于正数的编码,解码过程 本篇博客,我们开始举例分析负数的编码和解码,因为负数有原码,反码,补码…

2022年03月 Python(一级)真题解析#中国电子学会#全国青少年软件编程等级考试

一、单选题(共25题,每题2分,共50分) 第1题 已知a“161”,b“16”,c“8”,执行语句da>b and a>c,变量d的值为是? A:0 B:1 C:True D&am…

JS二维数组转化为对象

将二维数组转化为对象的形式 转之前的数据: 转之后: const entries new Map([[foo, bar],[baz, 42],[beginNode, 202212151048010054],[beginNode, 202212151048447710],]); console.log(entries)const obj Object.fromEntries(entries);console.lo…

现代C++中的从头开始深度学习:【4/8】梯度下降

一、说明 在本系列中,我们将学习如何仅使用普通和现代C编写必须知道的深度学习算法,例如卷积、反向传播、激活函数、优化器、深度神经网络等。 在这个故事中,我们将通过引入梯度下降算法来介绍数据中 2D 卷积核的拟合。我们将使用卷积和上一个…

常用 JVM 调优工具

点击下方关注我,然后右上角点击...“设为星标”,就能第一时间收到更新推送啦~~~ JVM 日常调优总结起来就是:首先通过 jps 命令查看当前进程,然后根据 pid 通过 jinfo 命令查看和修改 jvm 参数,通过 jstat 命令查看 cla…

测试 tensorflow 1.x 的一个demo 01

tensorflow 1.0的示例代码 demo_01.py import tensorflow as tf import os os.environ[TF_CPP_MIN_LOG_LEVEL]2def tf114_demo():a 3b 4c a bprint("a b in py ",c)a_t tf.constant(3)b_t tf.constant(4)c_t a_t b_tprint("TensorFlow add a_t b_t &…

6. CSS(三)

目录 一、盒子模型 (一)网页布局的本质 (二)盒子模型组成 (三)边框(border) (四)表格的细线边框 (五)内边距(padding…

如何在 Spring Boot 中集成日志框架 SLF4J、Log4j

文章目录 具体步骤附录 笔者的操作环境: Spring Cloud Alibaba:2022.0.0.0-RC2 Spring Cloud:2022.0.0 Spring Boot:3.0.2 Nacos 2.2.3 Maven 3.8.3 JDK 17.0.7 IntelliJ IDEA 2022.3.1 (Ultimate Edition) 具体步骤 因为 …

【BMC】OpenBMC开发基础2:修改原有程序

修改原有程序 通常情况下我们会需要修改OpenBMC原有的程序来适配我们的项目,本节将介绍一般的流程。 为此首先我们需要了解devtool这个工具,注意它不是前端开发用的那个devtool,而是由OE(或者Yocto?)提供…

当肠道免疫系统与微生物共舞:了解肠道免疫细胞和肠道菌群互作

谷禾健康 同样暴露在含有致病微生物的环境中,有的人很少生病,有的人却很容易感染并生病。这是因为每个人的机体对潜在的病原体产生的免疫应答不同。 ★ 固有免疫和适应性免疫保护着人体 人体的免疫应答分为固有免疫(先天免疫)和适…

AVS3:跨多通道预测PMC

前面的文章中介绍了TSCPM,它是AVS3中用于intra模式的跨通道预测技术,它利用线性模型根据亮度重建像素预测色度像素, 跨通道预测技术用于去除不同通道间的冗余信息,TSCPM可以去除Y-Cb、Y-Cr通道间的冗余,然而却忽略了…

# Failed to initialize NVML: Driver/library version mismatch 的解决方法

Failed to initialize NVML: Driver/library version mismatch 的解决方法 首发于知乎: https://zhuanlan.zhihu.com/p/643343668 全网同名, 欢迎大家关注我的知乎帐号! 经常电脑好好的, 昨天还可以训练, 第二天忽然驱动就掉了: 这个错误通常表示NVIDIA驱动程序和NVIDIA管理库…

Octave Conv

Octave ConvOctave Convolution 代码详解_octconv代码_zghydx1924的博客-CSDN博客 def forward(self, x):X_h, X_l xif self.stride 2:X_h, X_l self.h2g_pool(X_h), self.h2g_pool(X_l)X_h2l self.h2g_pool(X_h)# X_h2l指的是对输入进行下采样,下采样的方法时卷…

用python做一个小游戏代码,用python制作一个小游戏

大家好,小编来为大家解答以下问题,如何用python编写一个简单的小游戏,用python做一个小游戏代码,今天让我们一起来看看吧! 今天呢,给大家展示一下Python有趣的小地方,展示给大家看看&#xff0c…

Android复习(Android基础-四大组件)——Service与Activity通信

我们前面学会了启动和停止服务的方法,但是服务虽然是在活动里启动的,但是启动服务之后,活动与服务之间基本没什么关系了。正常情况,我们在Activity里调用startService()方法启动MyService这个服务,然后MyService的onCr…

Openlayers实战:利用turf获取两个多边形的交集、差集、并集

在数据统计方面,通常会涉及到图形间的交集、并集、差集等。在Openlayers的实战中,我们显示两个多边形的交集、并集、差集的表现。通过turf的方式,可以快速的实现我们的数据处理,具体的请参考源代码。 效果图 源代码 /* * @Author: 大剑师兰特(xiaozhuanlan),还是大剑师…

three.js的镜面反射

three.js做成这种镜面反射的效果。 那就要使用three自带的功能Reflector 1.引入 组件 import { Reflector } from ../../node_modules/three/examples/jsm/objects/Reflector.js; 2.创建反射投影的存在面 let reflectorGeometry new THREE.PlaneBufferGeometry(100, 100); 3…

Java经典面试题总结(一)

Java经典面试题总结(一) 题一:Java编译运行原理题二:JDK,JVM,JRE三者之间的关系题三:谈一下对冯诺依曼体系的了解题四:重载与重写的区别题五:拆箱装箱是指什么&#xff1…

Spring源码解析(八):bean后置处理器CommonAnnotationBeanPostProcessor

Spring源码系列文章 Spring源码解析(一):环境搭建 Spring源码解析(二):bean容器的创建、默认后置处理器、扫描包路径bean Spring源码解析(三):bean容器的刷新 Spring源码解析(四):单例bean的创建流程 Spring源码解析(五)&…