nacos 主要作用是微服务的注册中心,及配置中心
nacos 支持AP,CP 模式(默认AP,允许数据短暂不一致),详细可查看CAP定律
下载Linux版 nacos-server-1.1.4.tar.gz,上传到 linux 服务器
https://github.com/alibaba/nacos/releases
linux默认集群版(cluster),win默认单机版(standalone)
tar -zxvf nacos-server-1.1.4.tar.gz 解压
cd /nacos/bin/ 进入bin目录
./startup.sh -m standalone 启动为单机版(standalone)
启动后可以查看 logs/start.out 查看启动日志
访问地址 ip:8848/nacos/index.html,如:http://192.168.177.128:8848/nacos/index.html
默认账号密码:nacos / nacos
默认的情况下,分布式配置中心的数据存放到本地data目录下,但是这种情况如果nacos集群的话无法保证数据的同步性。
在0.7版本之前,在单机模式时nacos使用嵌入式数据库实现数据的存储,不方便观察数据存储的基本情况。0.7版本增加了支持mysql数据源能力,具体的操作步骤:
1.安装数据库,版本要求:5.6.5+
2.初始化mysql数据库,数据库初始化文件:nacos-mysql.sql
3.修改conf/application.properties文件,增加支持mysql数据源配置(目前只支持mysql),添加mysql数据源的url、用户名和密码。
直接最后面添加即可重启服务即可(不支持mysql 8.x, mysql 8.x看步骤三)
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root
源码驱动包默认为5.x,我们需要修改成8.x
nocos 官网及Git 地址:https://nacos.io/zh-cn/
源码调试参考:https://www.jianshu.com/p/9f4eb503bbc9
修改为mysql8参考:https://blog.csdn.net/weixin_41422358/article/details/103765909
进入下载好的nacos目录,进入pom.xml 父文件,在665行修改为8.0.18驱动
mysql
mysql-connector-java
8.0.18
/usr/local/nacos/naming/src/main/java/com/alibaba/nacos/naming/healthcheck/MysqlHealthCheckProcessor.java
// import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;原数据在24行
//将其替换
import com.mysql.cj.jdbc.MysqlDataSource;
按步骤二、添加数据库脚本到
nacos-console 下的 application.properties 添加数据库配置消息
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=123456
启动后10秒类只要不报错,就是配置成功了
如配置失败会抛出数据库连接异常信息
#进入nacos目录
cd /usr/local/nacos/
#编译命令
mvn -Prelease-nacos clean install -U
#编译完成,复制target目录nacos-server-1.2.0-SNAPSHOT 到local目录
#进入target
cd /usr/local/nacos/distribution/target/
打包失败
进入pom.xml 父文件,438行,注掉 test 模块
test
复制 /distribution/target/ 下的 nacos-server-1.2.0-SNAPSHOT.tar.gz 到 linux 型服务器
然后重复步骤一、二即可启动即可
先看一、二步骤搭建单机版本,如果是mysql8.x 看一、二、三步骤搭建
nacos/ nacos2 都需要添加
集群ip + 端口,不能为127.0.0.1
## 服务器ip + 端口
192.168.177.128:8848
192.168.177.128:8849
修改服务端口,nacos/ nacos2 端口不能相同
修改 address 端口,nacos/ nacos2 端口不能相同socket 端口不能相同
集群方式启动
./startup.sh -m cluster
集群成功可参考集群节点
在http://192.168.177.128:8848 客户端上添加 age=24
在http://192.168.177.128:8849 客户端上查询,获取age=24 参数,配置成功
解决方案:修改/bin 下的服务启动脚本 .sh 脚本,改一下内存大小就行了:
JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn500m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
检查 application.properties 文件的配置的服务端口是否相同 --> server.port=
检查启动脚本 /bin/startup.sh,socket 端口是否相同 --> address=