数据持久化
- 在单机模式时nacos使用嵌入式数据库实现数据存储,0.7版本后增加了mysql存储数据。
初始化数据库
- 在conf目录下,提供了
nacos-mysql.sql
SQL语句,进行数据库的初始化
- 要求:5.6+ mysql
- 注意:如果使用mysql 5.5,需要修改sql语句
- 提供的SQL语句没有创建database,手动创建
nacos_config
开启mysql存储
- conf目录下,提供了
application.properties
可以修改数据库配置信息
### If use MySQL as datasource: spring.datasource.platform=mysql ### Count of DB: db.num=1 ### Connect URL of DB: db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config_2_1?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC db.user.0=root db.password.0=1234
测试
- 添加配置信息
- 检查数据库存储
Nacos集群搭建
概述
- 3个或3个以上Nacos节点才能构成集群
- 配置数据源
- 使用内置数据源
startup.cmd -p embedded
- 使用外置数据源(MySQL,参考4.4.2)
- 在一台主机配置多个节点的端口号==不能连续==。
- 例如:8841/8842/8843 不可用
- 例如:8841/8843/8845 可用
配置步骤
节点1:配置Nacos8841
- 配置数据源
- 修改端口号:8841
- 配置集群配置文件
- 启动服务:startup.cmd
- 节点2:复制Nacos8843
- 修改端口号:8843
- 启动服务:startup.cmd
- 节点3:复制Nacos8845
- 修改端口号:8845
- 启动服务:startup.cmd
配置详情
1)配置节点1
- 拷贝nacos,并重命名
nacos-2.1.0-8841
- 配置数据源
修改端口号:8841
配置集群配置文件:conf/cluster.conf
启动服务:startup.cmd
成功启动
2)配置节点2
- 复制节点nacos-2.1.0-8841,并重命名nacos-2.1.0-8843
- 修改端口号
启动服务
3)配置节点3
- 复制节点nacos-2.1.0-8841,并重命名nacos-2.1.0-8845
- 修改端口号
启动服务
4)配置成功
常见错误
1)db.num is null
- 错误提示:
db.num is null
- 原因:没有配置数据库
2) unable to start embedded tomcat
- 错误提示:
unable to start embedded tomcat
- 原因1:没有编写集群配置文件
3)内存不足
- 提示信息:
- 原因:内存不足,修改分配内存大小
4) Cannot determine JNI library name for ARCH='x86' OS='windows 10' name='rocksdb'
- 提示信息:Cannot determine JNI library name for ARCH='x86' OS='windows 10' name='rocksdb
- 原因:nacos与jdk 系统位数(64位和32位,)不一致
5) JNI相关错误
- 提示信息:
C:\Users\Administrator\AppData\Local\Temp\/librocksdbjni1411968517689619912.dll: Can't find dependent libraries
- 原因:JAVA_HOME配置的jdk安装目录,而不是jre安装目录