1. 单机模式
1.1 准备安装介质
nacos-server-2.1.1.tar.gz
1.2 环境准备
- 1台服务器
- 安装JDK 1.8+
1.3 解压
tar-zxvf nacos-server-2.1.1.tar.gz
1.4 启动
进入解压的nacos目录,进入bin目录,运行:
./startup.sh -m standalone
1.5 验证
nacos服务默认端口是8848,如访问:http://10.1.192.120:8848/nacos/#/login,出现登录页面:
默认账号: nacos / nacos
1.6 关闭服务
# 进入nacos bin目录
./shutdown.sh
2. 集群模式
集群搭建以3个节点为例进行步骤说明。
2.1 介质准备
nacos-server-2.1.1.tar.gz
2.2 环境准备
- 准备3个节点机器
- 安装jdk 1.8+
2.3 解压
依次在服务节点进行安装介质解压:
tar-zxvf nacos-server-2.1.1.tar.gz
2.4 配置集群配置文件
在nacos的解压目录nacos的/config目录下,有配置文件cluster.conf,请每行配置成ip:port。(需要每个节点都配置。)
#it is ip
#example
10.1.192.120:8845
10.1.192.121:8845
10.1.192.122:8848
2.5 确定数据源
使用外置数据源
-
初始化MySQL数据库,sql可以在nacos config目录下面获取
/* * 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 TABLEconfig_info( idbigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', data_idvarchar(255) NOT NULL COMMENT 'data_id', group_idvarchar(255) DEFAULT NULL, contentlongtext NOT NULL COMMENT 'content', md5varchar(32) DEFAULT NULL COMMENT 'md5', gmt_createdatetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', gmt_modifieddatetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', src_usertext COMMENT 'source user', src_ipvarchar(50) DEFAULT NULL COMMENT 'source ip', app_namevarchar(128) DEFAULT NULL, tenant_idvarchar(128) DEFAULT '' COMMENT '租户字段', c_descvarchar(256) DEFAULT NULL, c_usevarchar(64) DEFAULT NULL, effectvarchar(64) DEFAULT NULL, typevarchar(64) DEFAULT NULL, c_schematext, encrypted_data_keytext NOT NULL COMMENT '秘钥', PRIMARY KEY (id), UNIQUE KEYuk_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 TABLEconfig_info_aggr( idbigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', data_idvarchar(255) NOT NULL COMMENT 'data_id', group_idvarchar(255) NOT NULL COMMENT 'group_id', datum_idvarchar(255) NOT NULL COMMENT 'datum_id', contentlongtext NOT NULL COMMENT '内容', gmt_modifieddatetime NOT NULL COMMENT '修改时间', app_namevarchar(128) DEFAULT NULL, tenant_idvarchar(128) DEFAULT '' COMMENT '租户字段', PRIMARY KEY (id), UNIQUE KEYuk_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 TABLEconfig_info_beta( idbigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', data_idvarchar(255) NOT NULL COMMENT 'data_id', group_idvarchar(128) NOT NULL COMMENT 'group_id', app_namevarchar(128) DEFAULT NULL COMMENT 'app_name', contentlongtext NOT NULL COMMENT 'content', beta_ipsvarchar(1024) DEFAULT NULL COMMENT 'betaIps', md5varchar(32) DEFAULT NULL COMMENT 'md5', gmt_createdatetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', gmt_modifieddatetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', src_usertext COMMENT 'source user', src_ipvarchar(50) DEFAULT NULL COMMENT 'source ip', tenant_idvarchar(128) DEFAULT '' COMMENT '租户字段', encrypted_data_keytext NOT NULL COMMENT '秘钥', PRIMARY KEY (id), UNIQUE KEYuk_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 TABLEconfig_info_tag( idbigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', data_idvarchar(255) NOT NULL COMMENT 'data_id', group_idvarchar(128) NOT NULL COMMENT 'group_id', tenant_idvarchar(128) DEFAULT '' COMMENT 'tenant_id', tag_idvarchar(128) NOT NULL COMMENT 'tag_id', app_namevarchar(128) DEFAULT NULL COMMENT 'app_name', contentlongtext NOT NULL COMMENT 'content', md5varchar(32) DEFAULT NULL COMMENT 'md5', gmt_createdatetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', gmt_modifieddatetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', src_usertext COMMENT 'source user', src_ipvarchar(50) DEFAULT NULL COMMENT 'source ip', PRIMARY KEY (id), UNIQUE KEYuk_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 TABLEconfig_tags_relation( idbigint(20) NOT NULL COMMENT 'id', tag_namevarchar(128) NOT NULL COMMENT 'tag_name', tag_typevarchar(64) DEFAULT NULL COMMENT 'tag_type', data_idvarchar(255) NOT NULL COMMENT 'data_id', group_idvarchar(128) NOT NULL COMMENT 'group_id', tenant_idvarchar(128) DEFAULT '' COMMENT 'tenant_id', nidbigint(20) NOT NULL AUTO_INCREMENT, PRIMARY KEY (nid), UNIQUE KEYuk_configtagrelation_configidtag(id,tag_name,tag_type), KEYidx_tenant_id(tenant_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_tag_relation'; /**************/ /* 数据库全名 = nacos_config */ /* 表名称 = group_capacity */ /**************/ CREATE TABLEgroup_capacity( idbigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID', group_idvarchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群', quotaint(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值', usageint(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量', max_sizeint(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值', max_aggr_countint(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数,,0表示使用默认值', max_aggr_sizeint(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值', max_history_countint(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量', gmt_createdatetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', gmt_modifieddatetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', PRIMARY KEY (id), UNIQUE KEYuk_group_id(group_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='集群、各Group容量信息表'; /**************/ /* 数据库全名 = nacos_config */ /* 表名称 = his_config_info */ /**************/ CREATE TABLEhis_config_info( idbigint(20) unsigned NOT NULL, nidbigint(20) unsigned NOT NULL AUTO_INCREMENT, data_idvarchar(255) NOT NULL, group_idvarchar(128) NOT NULL, app_namevarchar(128) DEFAULT NULL COMMENT 'app_name', contentlongtext NOT NULL, md5varchar(32) DEFAULT NULL, gmt_createdatetime NOT NULL DEFAULT CURRENT_TIMESTAMP, gmt_modifieddatetime NOT NULL DEFAULT CURRENT_TIMESTAMP, src_usertext, src_ipvarchar(50) DEFAULT NULL, op_typechar(10) DEFAULT NULL, tenant_idvarchar(128) DEFAULT '' COMMENT '租户字段', encrypted_data_keytext NOT NULL COMMENT '秘钥', PRIMARY KEY (nid), KEYidx_gmt_create(gmt_create), KEYidx_gmt_modified(gmt_modified), KEYidx_did(data_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='多租户改造'; /**************/ /* 数据库全名 = nacos_config */ /* 表名称 = tenant_capacity */ /**************/ CREATE TABLEtenant_capacity( idbigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID', tenant_idvarchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID', quotaint(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值', usageint(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量', max_sizeint(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值', max_aggr_countint(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数', max_aggr_sizeint(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值', max_history_countint(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量', gmt_createdatetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', gmt_modifieddatetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', PRIMARY KEY (id), UNIQUE KEYuk_tenant_id(tenant_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='租户容量信息表'; CREATE TABLEtenant_info( idbigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', kpvarchar(128) NOT NULL COMMENT 'kp', tenant_idvarchar(128) default '' COMMENT 'tenant_id', tenant_namevarchar(128) default '' COMMENT 'tenant_name', tenant_descvarchar(256) DEFAULT NULL COMMENT 'tenant_desc', create_sourcevarchar(32) DEFAULT NULL COMMENT 'create_source', gmt_createbigint(20) NOT NULL COMMENT '创建时间', gmt_modifiedbigint(20) NOT NULL COMMENT '修改时间', PRIMARY KEY (id), UNIQUE KEYuk_tenant_info_kptenantid(kp,tenant_id), KEYidx_tenant_id(tenant_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info'; CREATE TABLEusers( usernamevarchar(50) NOT NULL PRIMARY KEY, passwordvarchar(500) NOT NULL, enabledboolean NOT NULL ); CREATE TABLEroles( usernamevarchar(50) NOT NULL, rolevarchar(50) NOT NULL, UNIQUE INDEXidx_user_role(usernameASC,roleASC) USING BTREE ); CREATE TABLEpermissions( rolevarchar(50) NOT NULL, resourcevarchar(255) NOT NULL, actionvarchar(8) NOT NULL, UNIQUE INDEXuk_role_permission(role,resource,action) USING BTREE ); INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE); INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');
-
修改application.properties配置
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://10.1.186.129:3306/nacos1308?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=********
2.6 启动服务
依次在服务节点启动nacos服务
# 使用外置数据源 进入nacos bin目录
./start.sh
2.7 验证服务
登录任意一个节点 账号: nacos / nacos
2.8 关闭服务
依次在服务节点关闭nacos服务。
# 使用外置数据源 进入nacos bin目录
./shutdown.sh