建站不啰嗦,上手跟我做(二十八)nacos 注册中心搭建
什么是 Nacos
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
在接下里的教程中,将使用 Nacos 作为微服务架构中的注册中心(替代:eurekba、consul 等传统方案)以及配置中心(spring cloud config)来使用。
nacos server 端下载
下载地址:https://github.com/alibaba/nacos/releases
本文版本:1.2.1
下载完成之后,解压。根据不同平台,执行不同命令,启动单机版 Nacos 服务:
- Linux/Unix/Mac:
sh startup.sh -m standalone
- Windows:
cmd startup.cmd -m standalone
nacos server 安装
[root@localhost springcloud]# ls
nacos-server-1.2.1.tar.gz
[root@localhost springcloud]# tar -zxvf nacos-server-1.2.1.tar.gz
nacos/LICENSE
nacos/NOTICE
nacos/target/nacos-server.jar
nacos/conf/
nacos/conf/schema.sql
nacos/conf/nacos-mysql.sql
nacos/conf/application.properties.example
nacos/conf/nacos-logback.xml
nacos/conf/cluster.conf.example
nacos/conf/application.properties
nacos/bin/startup.sh
nacos/bin/startup.cmd
nacos/bin/shutdown.sh
nacos/bin/shutdown.cmd
[root@localhost springcloud]# ls
nacos nacos-server-1.2.1.tar.gz
[root@localhost springcloud]# cd nacos
[root@localhost nacos]# ls
bin conf LICENSE NOTICE target
[root@localhost nacos]# cd bin
[root@localhost bin]# ls
shutdown.cmd shutdown.sh startup.cmd startup.sh
nacos 单节点搭建
Nacos 的单节点,也就是我们使用的 standalone 模式,配置的数据是默认存储到内嵌的数据库 derby 中。
单节点启动
[root@localhost bin]# sh startup.sh -m standalone
/usr/local/java/jdk1.8.0_181/bin/java -Xms512m -Xmx512m -Xmn256m -Dnacos.standalone=true -Djava.ext.dirs=/usr/local/java/jdk1.8.0_181/jre/lib/ext:/usr/local/java/jdk1.8.0_181/lib/ext -Xloggc:/opt/springcloud/nacos/logs/nacos_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -Dloader.path=/opt/springcloud/nacos/plugins/health,/opt/springcloud/nacos/plugins/cmdb,/opt/springcloud/nacos/plugins/mysql -Dnacos.home=/opt/springcloud/nacos -jar /opt/springcloud/nacos/target/nacos-server.jar --spring.config.location=classpath:/,classpath:/config/,file:./,file:./config/,file:/opt/springcloud/nacos/conf/ --logging.config=/opt/springcloud/nacos/conf/nacos-logback.xml --server.max-http-header-size=524288
nacos is starting with standalone
nacos is starting,you can check the /opt/springcloud/nacos/logs/start.out
[root@localhost nacos]# cd logs
[root@localhost logs]# ls
cmdb-main.log config-memory.log config-server.log nacos-address.log naming-event.log naming-rt.log
config-client-request.log config-notify.log config-trace.log nacos_gc.log.0.current naming-performance.log naming-server.log
config-dump.log config-pull-check.log core-auth.log nacos.log naming-push.log start.out
config-fatal.log config-pull.log istio-main.log naming-distro.log naming-raft.log
[root@localhost logs]# tail -f -n 200 start.out
/usr/local/java/jdk1.8.0_181/bin/java -Xms512m -Xmx512m -Xmn256m -Dnacos.standalone=true -Djava.ext.dirs=/usr/local/java/jdk1.8.0_181/jre/lib/ext:/usr/local/java/jdk1.8.0_181/lib/ext -Xloggc:/opt/springcloud/nacos/logs/nacos_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -Dloader.path=/opt/springcloud/nacos/plugins/health,/opt/springcloud/nacos/plugins/cmdb,/opt/springcloud/nacos/plugins/mysql -Dnacos.home=/opt/springcloud/nacos -jar /opt/springcloud/nacos/target/nacos-server.jar --spring.config.location=classpath:/,classpath:/config/,file:./,file:./config/,file:/opt/springcloud/nacos/conf/ --logging.config=/opt/springcloud/nacos/conf/nacos-logback.xml --server.max-http-header-size=524288
,--.
,--.'|
,--,: : | Nacos 1.2.1
,`--.'`| ' : ,---. Running in stand alone mode, All function modules
| : : | | ' ,'\ .--.--. Port: 8848
: | \ | : ,--.--. ,---. / / | / / ' Pid: 3772
| : ' '; | / \ / \. ; ,. :| : /`./ Console: http://192.168.2.121:8848/nacos/index.html
' ' ;. ;.--. .-. | / / '' | |: :| : ;_
| | | \ | \__\/: . .. ' / ' | .; : \ \ `. https://nacos.io
' : | ; .' ," .--.; |' ; :__| : | `----. \
| | '`--' / / ,. |' | '.'|\ \ / / /`--' /
' : | ; : .' \ : : `----' '--'. /
; |.' | , .-./\ \ / `--'---'
'---' `--`---' `----'
访问后台
用户名和密码默认 nacos
登录后
停止服务
[root@localhost bin]# sh shutdown.sh
The nacosServer(3772) is running...
Send shutdown request to nacosServer(3772) OK
nacos 集群搭建
如果我们要搭建集群的话,那么肯定是不能用内嵌的数据库,不然数据无法共享。集群搭建的时候我们需要将 Nacos 对接 Mysql 进行数据存储。
集群模式跟我们平时进行扩容是一样的,可以通过 Nginx 转发到多个节点。
将 Nacos 的解压包复制分成 3 份,分别是:
- nacos
- nacos1
- nacos2
修改数据库配置
进入 nacos 的 conf 目录,编辑 application.properties 文件,增加数据库配置
nacos
[root@localhost conf]# vim application.properties
#*************** Spring Boot Related Configurations ***************#
### Default web context path:
server.servlet.contextPath=/nacos
### Default web server port:
server.port=8848
#*************** Config Module Related Configurations ***************#
### If user MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://192.168.2.122:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123456
nacos1
[root@localhost conf]# vim application.properties
#*************** Spring Boot Related Configurations ***************#
### Default web context path:
server.servlet.contextPath=/nacos
### Default web server port:
server.port=8849
#*************** Config Module Related Configurations ***************#
### If user MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://192.168.2.122:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123456
nacos2
[root@localhost conf]# vim application.properties
#*************** Spring Boot Related Configurations ***************#
### Default web context path:
server.servlet.contextPath=/nacos
### Default web server port:
server.port=8850
#*************** Config Module Related Configurations ***************#
### If user MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://192.168.2.122:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123456
修改集群配置
配置文件在 conf 目录下的 cluster.conf.example 文件,我们进行重命名成 cluster.conf
然后编辑 cluster.conf 文件,增加 3 个节点的信息,格式为 IP:PORT,三个目录都一致即可。
注:一定要记得将配置文件重命名为
cluster.conf
, 最好用实际 ip,而非127.0.0.1
,否则会出现问题。
nacos
[root@localhost conf]# mv cluster.conf.example cluster.conf
[root@localhost conf]# ls
application.properties application.properties.example cluster.conf nacos-logback.xml nacos-mysql.sql schema.sql
[root@localhost conf]# vim cluster.conf
#it is ip
#example
#10.10.109.214
#11.16.128.34
#11.16.128.36
192.168.2.121:8848
192.168.2.121:8849
192.168.2.121:8850
nacos1
[root@localhost conf]# mv cluster.conf.example cluster.conf
[root@localhost conf]# ls
application.properties application.properties.example cluster.conf nacos-logback.xml nacos-mysql.sql schema.sql
[root@localhost conf]# vim cluster.conf
#it is ip
#example
#10.10.109.214
#11.16.128.34
#11.16.128.36
192.168.2.121:8848
192.168.2.121:8849
192.168.2.121:8850
nacos2
[root@localhost conf]# mv cluster.conf.example cluster.conf
[root@localhost conf]# ls
application.properties application.properties.example cluster.conf nacos-logback.xml nacos-mysql.sql schema.sql
[root@localhost conf]# vim cluster.conf
#it is ip
#example
#10.10.109.214
#11.16.128.34
#11.16.128.36
192.168.2.121:8848
192.168.2.121:8849
192.168.2.121:8850
数据库初始化
执行 nacos-mysql.sql 文件创建数据库
集群启动
启动的话直接到 bin 目录下,执行./startup.sh 就可以了,默认就是集群模式,不需要加任何参数。
[root@localhost bin]# sh startup.sh
/usr/local/java/jdk1.8.0_181/bin/java -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/springcloud/nacos/logs/java_heapdump.hprof -XX:-UseLargePages -Djava.ext.dirs=/usr/local/java/jdk1.8.0_181/jre/lib/ext:/usr/local/java/jdk1.8.0_181/lib/ext -Xloggc:/opt/springcloud/nacos/logs/nacos_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -Dloader.path=/opt/springcloud/nacos/plugins/health,/opt/springcloud/nacos/plugins/cmdb,/opt/springcloud/nacos/plugins/mysql -Dnacos.home=/opt/springcloud/nacos -jar /opt/springcloud/nacos/target/nacos-server.jar --spring.config.location=classpath:/,classpath:/config/,file:./,file:./config/,file:/opt/springcloud/nacos/conf/ --logging.config=/opt/springcloud/nacos/conf/nacos-logback.xml --server.max-http-header-size=524288
nacos is starting with cluster
nacos is starting,you can check the /opt/springcloud/nacos/logs/start.out
查看集群状况
上一篇 建站不啰嗦,上手跟我做(二十七)安装 ftp 服务
目录
下一篇 建站不啰嗦,上手跟我做(二十九)rabbitMQ 安装