Nacos的那些事儿(一):集群搭建
本文环境:
CentOS 7.6; JDK1.8;MySQL 8.0.21;nacos-server 1.4.1
一、单机安装
单口相声:版本不同,部分细节不同。一切皆以官方文档为准。
1,下载及编译
//从GitHub拉取代码 如果下载代码比较慢,可以从Release地址下载 nacos-server-$version.zip 或者 nacos-server-$version.tar.gz 包。
git clone https://github.com/alibaba/nacos.git
//编译打包 (install命令完成了项目编译、单元测试(跳过)、打包功能,同时把打好的可执行jar包布署到本地maven仓库)
cd nacos/
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U
【坑】windows安装,在PowerShell窗口下执行maven命令行报错:Unknown lifecycle phase ".test.skip=true".
解决方案:'-Dmaven.test.skip=true' ,win10下 Shift+右击 打开 PowerShell 窗口,而 PowerShell 窗口下,执行带参数的需要’单引号’包起来才可以。或者直接在cmd窗口启动
2,单机启动
//进入编译好的Nacos文件夹
cd distribution/target/nacos-server-$version/nacos/bin
//启动 (linux用.sh , windows用.cmd)
./startup.sh 或 ./startup.cmd
//指定模式启动
./startup.sh -m standalone (单机)
./startup.sh -m cluster (集群)
ps:若启动失败,先查看日志确认下什么方式启动的。(不同版本默认方式不一样)日志会有提示信息,如:
Runing in stand alone mode (单机) 或 Nacos is starting in cluster (集群)
【坑】nacos1.3.2不能启动(Aug 4, 2020)启动报错:db.num is null
解决方案:
编辑startup.cmd文件,把 set MODE="cluster"集群模式改为单机模式,set MODE = "standalone"
或者配置mysql数据库解决:配置mysql数据库解决
3,快速访问
//默认端口为8848
http://yourlocalhost:8848/nacos/index.html
账户:nacos
密码:nacos
二、集群安装
群口相声:提高Nacos服务的吞吐量~
1.安装单机后,准备数据库
//文件夹distribution/target/nacos-server-$version/nacos/conf 中,有nacos的sql文件。
新建MySQL数据库,并运行nacos-mysql.sql。
2.修改配置
//每个版本的配置有所不同,以对应的模块cluster.conf.example和application.properties.example为准。
//本次配置使用的是 nacos-server-1.4.1
//配置集群IP
拷贝cluster.conf.example一份为cluster.conf,并修改cluster.conf配置,改为自己的ip地址
192.16.1.110:8848
//集群方式需配置数据库地址,修改application.properties。
spring.datesource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_db?serverTimezone=UTC (加serverTimezone=UTC是为了防止连接数据库时报错 Caused by: java.sql.SQLException: The server time zone value is unrecognized or represents more than one time zone. )
db.user=root
db.password=root
3.启动服务
保存配置文件,./start.sh -m cluster 启动访问即可 (注意配置文件里设置的端口)。
【坑】启动nacos时,总是启动不起来。日志提示Cannot allocate memory(分配内存失败)
原因: 查看启动脚本,发现单击启动时 默认的内存最小为256m, 如果是集群,则最小内存为 1G,所以在虚拟机上配置一个集群,可以能需要几个G的内存。
if [[ "${MODE}" == "standalone" ]]; then
JAVA_OPT="${JAVA_OPT} -Xms512m -Xmx512m -Xmn256m"
JAVA_OPT="${JAVA_OPT} -Dnacos.standalone=true"
else
JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
JAVA_OPT="${JAVA_OPT} -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${BASE_DIR}/logs/java_heapdump.hprof"
JAVA_OPT="${JAVA_OPT} -XX:-UseLargePages"
解决:
修改集群需要的内存大小。如: -Xms512m -Xmx512m -Xmn256m
4.简单使用
界面化操作,编辑保存,即可在数据库里看到对应的数据:
以上内容就是本次分享的Nacos集群搭建,赶快打开虚拟机上手吧!
HERO笔记
➬ 今日单曲循环~
➬ 关于文章,如果你有什么好的建议都可以私信我哦~~