nacos集群部署

、首先 fork 一份 nacos 的代码到自己的 github 库,然后把代码 clone 到本地。  git地址:https://github.com/alibaba/nacos.git
2、然后将你的项目导入到ideal编辑器中(找到子项目distribution)

3、添加集群节点:找到文件distribution->conf->cluster.conf.example,复制一份去掉后缀.example,编辑cluster.conf,将节点修为
  127.0.0.1:8841
  127.0.0.1:8842
  127.0.0.1:8843
4、修改数据源
  在distribution->conf->application.properties中添加数据源(将mysql改成自己服务的链接地址,包括账号密码)
1
2
3
4
5
6
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.url.1=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=nacos
db.password=nacos

5、在自己的数据库中导入数据
  将distribution->conf->nacos-mysql.sql中的表结构导入到自己要链接到的数据库中
复制代码
6、打包
  然后在项目的根目录下执行以下命令(假设我们已经配置好了 java 和 maven 环境):mvn -Prelease-nacos clean install -U
  注:是项目存放在在本机的根目录D:\Workspaces\Nacos,然后在ideal中使用Terminal执行上述打包命令(前提是你安装了Terminal命令),打包完后会在distribution->target下生成两个压缩文件nacos-server-1.0.1.tar.gz(linux下使用)和nacos-server-1.0.1.zip(windows下使用)
复制代码
复制代码
7、集群配置
  a、创建节点:解压nacos-server-1.0.1.zip后,复制三份,分别命令为nacos-server-1.0.1-01、nacos-server-1.0.1-02、nacos-server-1.0.1-03;
  b、修改配置:修改三个节点的配置文件,打开文件nacos-server-1.0.1-01\nacos\conf\application.properties,将第一个节点的端口修改为server.port=8841,
  并修改nacos-server-1.0.1-01\nacos\bin\startup.sh文件,在JVM Configuration处,集群配置下添加下面两段代码:
  JAVA_OPT=" J A V A O P T − D s e r v e r . i p = 127.0.0.1 "     J A V A O P T = " {JAVA_OPT} -Dserver.ip=127.0.0.1"   JAVA_OPT=" JAVAOPTDserver.ip=127.0.0.1"  JAVAOPT="{JAVA_OPT} -Dserver.port=8841"
  注:如果在linux上实验有用到不同网段的IP则需要指定IP,否则会报错。windows本机测试只需要指定端口即可。参考来源:https://www.wandouip.com/t5i278697/
  其他两个节点的配置同第一个节点一样。
复制代码
复制代码
8、启动服务
  本地启动:直接双击启动nacos-server-1.0.1-\nacos\bin\startup.cmd文件启动(或者bin目录下cmd命令输入cmd startup.cmd启动),然后可以直接到浏览器中输入http://127.0.0.1:8841/nacos/index.html进行访问,账号密码均为nacos
  注:启动之后切记勿关闭doc命令窗口,三个节点同时按照此方法进行启动。linux下启动:需要将nacos-server-1.0.1.tar.gz拷贝到服务器上,然后解压命令解压tar -xvf nacos-server-1.0.1.tar.gz,输入启动命令:sh startup.sh
复制代码
9、修改账号密码
  在console项目下找到项目Nacos\console\src\main\java\com\alibaba\nacos\console\utils\PasswordEncoderUtil.java类,输入你将要设置的密码123456,运行生成加盐的字符串$2a 10 10 10XNArlfqerD3jY4LepVByPO6X1qJQDDWJsmbFnusKxVWjCFgJpCHbm,然后到nacos数据库中,修改user表用户nacos的密码即可,用户名直接可以在数据库中修改。
10、Nginx代理配置
  本地三个节点均启动后,开始配置集群代理,打开nginx-1.14.2\conf\nginx.conf配置文件,添加下面两段代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#集群的3个节点
upstream nacos {
server 127.0.0.1:8841 weight=2;
server 127.0.0.1:8842 weight=2;
server 127.0.0.1:8843 weight=2;
}

server {
listen 80;
server_name localhost;
location /nacos/ {
#代理
proxy_pass http://nacos/nacos/;
}
}
11、登录客户端
  http://localhost/nacos/index.html,输入预设好的账号和密码即可。

登录成功后的界面,集群节点查看

服务器配置后的节点效果

复制代码
疑问一:我在本地配置了三个节点为什么在客户端只显示了一个节点,每次强制刷新页面时访问的节点会发生变化;每次而且节点状态和集群任期也会发生变化
  127.0.0.1/8整个都是环回地址,用来测试本机的TCP/IP协议栈,发往这段A类地址数据包不会出网卡,网络设备不会对其做路由
疑问二:当注册实例或者创建一个服务等操作时,节点状态和集群任期也会产生相应的变化。
  这个属于Ratf协议的内容,关于Raft协议的介绍可以参考https://www.jianshu.com/p/aa77c8f4cb5c
复制代码

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值