一、定位:
- 它是一个Service的:注册发现管理、配置管理的服务器。
- 自身是用SpringBoot的完在的Java项目
- 有着“独立和集群”两种启动模式。
- 采用Derby(standalone模式)或Mysql(Cluster模式)做为持久化存储方案。
- 其管理的服务可以是:
(1)SpringBoot微服务
(2) K8S的Service
(3)Doubbo的RPC Service
二、安装与启停管理:
- 下载:
可以从https://github.com/alibaba/nacos/releases进行下载,我采用的是1.3.2的最新版本。 - 解压,并观察目录结构
核心为bin和conf目录 - 启动和停止
启动:bash startup.sh -m standalone
,此时8848端口打开,同时可以使用http://localhost:8848/nacos/index.html
进入管理界面,使用nacos/nacos
进行登录。
停止:bash shutdown.sh
到此,完成了独立运行,此时使用了内置的tomcat和derby。
三、集群配置(单机版准备)
1. 配置application.properties
重新配置${nacos_home}/conf/application.properties文件:
server.servlet.contextPath=/nacos
server.port=8848
# ============ 以下部分是配置的关键所在 =============================
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=johnn
db.password=123
# ============ 以上部分是配置的关键所在 =============================
nacos.naming.empty-service.auto-clean=true
nacos.naming.empty-service.clean.initial-delay-ms=50000
nacos.naming.empty-service.clean.period-time-ms=30000
management.metrics.export.elastic.enabled=false
management.metrics.export.influx.enabled=false
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i
server.tomcat.basedir=
nacos.security.ignore.urls=/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**
nacos.core.auth.system.type=nacos
nacos.core.auth.enabled=false
nacos.core.auth.default.token.expire.seconds=18000
nacos.core.auth.default.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
nacos.core.auth.caching.enabled=true
nacos.istio.mcp.server.enabled=false
2、准备数据 库和表
mysql>create database nacos_config;
mysql>use nancos_config
mysql>source ../conf/nacos-mysql.sql
3. 集群方式单机启动测试:
bin/bash startup.sh
如果没有问题,则可以进一步进行多机集群测试环境搭建。
四、集群配置(多机版)
1. 编辑集群配置文件conf/cluster.conf
192.168.31.164:8848
192.168.31.164:8849
以上配置可以指定到同一个可用区的不同主机上(笔者对未做跨可用区的集群,希望有人能够补充)
此时可以使用bin/bash startup.sh
启动(此时是8848节点启动),可以在nacos管理界面的集群管理->节点列表
中看到集群的情况。
2. 启动8849节点。
(1)方法一:
复制一份nacos的安装文件,并发动application.properties,使用使用8849端口启动(注意:数据库配置应该和8848保持一致)。
当然,也可以使用不同的主机或docker来完成,只要保证不同的ip:port
组合。
(2)方法二:
改动bin/startup.sh启动脚本,使其加上-o 8849参数,文件改动如下:
59 while getopts ":m:f:s:c:p:o:" opt
60 do
61 case $opt in
62 m)
63 MODE=$OPTARG;;
64 f)
65 FUNCTION_MODE=$OPTARG;;
66 s)
67 SERVER=$OPTARG;;
68 c)
69 MEMBER_LIST=$OPTARG;;
70 p)
71 EMBEDDED_STORAGE=$OPTARG;;
72 o)
73 PORT=$OPTARG;;
74 ?)
75 echo "Unknown parameter"
76 exit 1;;
77 esac
78 done
144 nohup $JAVA -Dserver.port=${PORT} ${JAVA_OPT} nacos.nacos >> ${BASE_DIR}/logs/start.out 2>&1 &
文件的改动在59,72,73,144四行代码。
此时可以使用bash startup.sh -o 8848
和bash startup.sh -o 8849
启动nacos即可以完成测试了。
网友评论