Nacos快速入门(二):Nacos集群安装部署

1、集群部署架构图

官方提供了三种部署架构:

  • http://ip1:port/openAPI 直连ip模式,机器挂则需要修改ip才可以使用。

  • http://VIP:port/openAPI 挂载VIP模式,直连vip即可,下面挂server真实ip,可读性不好。

  • http://nacos.com:port/openAPI 域名 + VIP模式,可读性好,而且换ip方便,推荐模式

nacos-cluster-model.jpeg

2、集群环境搭建

2.1、环境准备

Nacos需要3个或3个以上节点才能构成集群,现准备以下三台linux机器:

  • 10.25.84.163
  • 10.25.84.164
  • 10.25.84.165

每台机器需配置JDK1.8+版本

2.2、下载安装

下载地址:https://github.com/alibaba/nacos/releases

本文版本:截止当前时间稳定版本1.1.4

2.3、解压

tar -xvf nacos-server-$version.tar.gz

解压后文件目录结构:

.
├── bin
│   ├── shutdown.cmd
│   ├── shutdown.sh
│   ├── startup.cmd
│   └── startup.sh
├── conf
│   ├── application.properties
│   ├── application.properties.example
│   ├── cluster.conf.example
│   ├── nacos-logback.xml
│   ├── nacos-mysql.sql
│   └── schema.sql
├── LICENSE
├── NOTICE
└── target
    └── nacos-server.jar

2.4、配置集群配置文件

集群配置文件为nacos的解压目录nacos/conf下的cluster.conf,但我们解压出来的目录下只有cluster.conf.example文件,这是个示例,我们修改下文件名可直接用

mv cluster.conf.example cluster.conf

编辑cluster.conf,每行配置ip:port

# ip:port
10.25.84.163:8848
10.25.84.164:8848
10.25.84.165:8848

2.5、配置MySQL数据库

nacos为什么要配置MySQL?

Nacos的单节点,即standalone模式下,数据默认存储到内嵌的数据库derby中。如果是集群环境,nacos数据存储没有使用分布式算法解决一致性性问题,而是采用比较常规的集中化存储,而且目前支持MySQL。从部署和硬件投入,相比consul、zookeeper、etcd这些采用分布式一致性算法的中间件就稍显不足了。

理解后,我们开始配置:

第一步:初始化MySQL数据库

新建一个数据库,库名自定义,如nacos,执行nacos/conf目录下的nacos-mysql.sql脚本,初始化表结构

nacos-mysql.png

第二步:application.properties添加数据库配置

编辑nacos/conf目录下的application.properties文件,添加mysql配置

db.num=1
db.url.0=jdbc:mysql://IP:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=user
db.password=password

注:生产使用建议至少主备模式,或者采用高可用数据库。

2.6、启动服务器

执行nacos/bin目录下的启动脚本startup.sh,启动其中一台,如10.25.84.165

[root@localhost bin]# ./startup.sh
/usr/local/java/jdk1.8.0_25/bin/java -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/root/nacos/logs/java_heapdump.hprof -XX:-UseLargePages -Djava.ext.dirs=/usr/local/java/jdk1.8.0_25/jre/lib/ext:/usr/local/java/jdk1.8.0_25/lib/ext:/root/nacos/plugins/cmdb:/root/nacos/plugins/mysql -Xloggc:/root/nacos/logs/nacos_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -Dnacos.home=/root/nacos -Dloader.path=/root/nacos/plugins/health -jar /root/nacos/target/nacos-server.jar  --spring.config.location=classpath:/,classpath:/config/,file:./,file:./config/,file:/root/nacos/conf/ --logging.config=/root/nacos/conf/nacos-logback.xml --server.max-http-header-size=524288
nacos is starting with cluster
nacos is starting,you can check the /root/nacos/logs/start.out

查看启动日志:

[root@localhost nacos]# more ./logs/start.out 
/usr/local/java/jdk1.8.0_25/bin/java -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:HeapD
umpPath=/root/nacos/logs/java_heapdump.hprof -XX:-UseLargePages -Djava.ext.dirs=/usr/local/java/jdk1.8.0_25/jre/lib/ext:/usr/local/java/jdk1.8.0_25/lib/ext:/root/nacos/plugins/cmdb:/root/n
acos/plugins/mysql -Xloggc:/root/nacos/logs/nacos_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -
XX:GCLogFileSize=100M -Dnacos.home=/root/nacos -Dloader.path=/root/nacos/plugins/health -jar /root/nacos/target/nacos-server.jar  --spring.config.location=classpath:/,classpath:/config/,fi
le:./,file:./config/,file:/root/nacos/conf/ --logging.config=/root/nacos/conf/nacos-logback.xml --server.max-http-header-size=524288

         ,--.
       ,--.'|
   ,--,:  : |                                           Nacos 1.1.4
,`--.'`|  ' :                       ,---.               Running in cluster mode, All function modules
|   :  :  | |                      '   ,'\   .--.--.    Port: 8848
:   |   \ | :  ,--.--.     ,---.  /   /   | /  /    '   Pid: 2771
|   : '  '; | /       \   /     \.   ; ,. :|  :  /`./   Console: http://10.25.84.163:8848/nacos/index.html
'   ' ;.    ;.--.  .-. | /    / ''   | |: :|  :  ;_
|   | | \   | \__\/: . ..    ' / '   | .; : \  \    `.      https://nacos.io
'   : |  ; .' ," .--.; |'   ; :__|   :    |  `----.   \
|   | '`--'  /  /  ,.  |'   | '.'|\   \  /  /  /`--'  /
'   : |     ;  :   .'   \   :    : `----'  '--'.     /
;   |.'     |  ,     .-./\   \  /            `--'---'
'---'        `--`---'     `----'

2020-03-03 17:59:25,257 INFO The server IP list of Nacos is [10.25.84.163:8848, 10.25.84.164:8848, 10.25.84.165:8848]

2020-03-03 17:59:26,275 INFO Nacos is starting...

可以看到nacos已经成功启动

登录nacos控制台,地址:http://10.25.84.165:8848/naocs

nacos-login.png

默认用户名/密码为:nacos/nacos,登录进去查看集群节点

nacos-CANDIDATE.png
此时只有一个节点,状态是CANDIDATE,即候选中,我们依次把剩下的两台机器上的nacos服务启动

nacos-cluster.png

此时,集群节点已全部启动,可以看到主节点已经选举出来

2.7、关闭服务器

我们现在来把主节点,即10.25.84.164节点服务关闭

[root@localhost nacos]# ./bin/shutdown.sh
The nacosServer(16341) is running...
Send shutdown request to nacosServer(16341) OK

再次查看集群节点,此时会重新选取主节点,如下10.25.84.163节点被选取为主节点

nacos-shutdown.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值