ToB企服应用市场:ToB评测及商务社交产业平台

标题: 全网最新的nacos 2.1.0集群多节点部署教程 [打印本页]

作者: 守听    时间: 2022-8-27 07:37
标题: 全网最新的nacos 2.1.0集群多节点部署教程
原文链接:全网最新的nacos 2.1.0集群多节点部署教程-语雀
基本信息

源码编译环境

  1. java -version
  2. java version "1.8.0_202"
  3. Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
  4. Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
复制代码
  1. java -version
  2. openjdk version "11" 2018-09-25
  3. OpenJDK Runtime Environment 18.9 (build 11+28)
  4. OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode)
复制代码
编译准备

通过vim /etc/profile编辑profile文件,配置JAVA_HOME,并通过source /etc/profile刷新配置。示例如下:
  1. [root@aliyun ~]# cat /etc/profile
  2. # jdk8
  3. export JAVA_HOME=/data/source/jdk1.8.0_202
  4. # openjdk11
  5. #export JAVA_HOME=/usr/local/jdk-11
  6. export CLASSPATH=$JAVA_HOME/lib:$CLASSPATH
  7. export PATH=$JAVA_HOME/bin:$PATH
复制代码
通过vim ~/.bash_profile编辑.bash_profile文件,配置MAVEN_HOME,并通过source ~/.bash_profile刷新配置。示例如下:
  1. #JAVA_HOME CONFIG IN /etc/profile
  2. #JAVA_HOME=/usr/local/jdk-11
  3. #JAVA_HOME=/data/source/jdk1.8.0_202
  4. #export JAVA_HOME
  5. MAVEN_HOME=/data/app/apache-maven-3.8.4
  6. PATH=$PATH:$HOME/bin:$MAVEN_HOME/bin
  7. export PATH
复制代码
在/data/app/apache-maven-3.8.4/conf/settings.xml的mirrors节点添加aliyun maven镜像源。
  1.     <mirror>
  2.         <id>alimaven</id>
  3.         <name>aliyun maven</name>
  4.         <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
  5.         <mirrorOf>central</mirrorOf>
  6.     </mirror>
复制代码
命令

编译打包
  1. cd /data/source
  2. # 从git拉取最新代码
  3. git clone https://github.com/alibaba/nacos.git
  4. cd nacos
  5. # 切换到master主分支,并通过git log确认当前commit为b584531331cc95054964ba4e33984f4cab9e582d
  6. git checkout master
  7. # cherry-pick 74c3355b712e74e8274ac038470dc3db411b7c9e,解决nacosAuthConfig jwtTokenManager之间的circular reference
  8. git cherry-pick 74c3355b712e74e8274ac038470dc3db411b7c9e
  9. # 编译
  10. mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U
复制代码
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U 【推荐】
mvn -Prelease-nacos clean install -U -DskipTests -Drat.skip=true
执行成功时,日志如下:
  1. [INFO] Building tar: /data/source/nacos/distribution/target/nacos-server-2.1.0.tar.gz
  2. [WARNING] Encountered ModuleSet with no sources or binaries specified. Skipping.
  3. [INFO] Building zip: /data/source/nacos/distribution/target/nacos-server-2.1.0.zip
  4. [INFO] ------------------------------------------------------------------------
  5. [INFO] Reactor Summary for Alibaba NACOS 2.1.0 2.1.0:
  6. [INFO]
  7. [INFO] Alibaba NACOS 2.1.0 ................................ SUCCESS [  4.612 s]
  8. [INFO] nacos-api 2.1.0 .................................... SUCCESS [ 12.877 s]
  9. [INFO] nacos-common 2.1.0 ................................. SUCCESS [ 13.351 s]
  10. [INFO] nacos-consistency 2.1.0 ............................ SUCCESS [  6.605 s]
  11. [INFO] nacos-plugin 2.1.0 ................................. SUCCESS [  0.228 s]
  12. [INFO] nacos-auth-plugin 2.1.0 ............................ SUCCESS [  0.979 s]
  13. [INFO] nacos-sys 2.1.0 .................................... SUCCESS [  2.045 s]
  14. [INFO] nacos-auth 2.1.0 ................................... SUCCESS [  1.515 s]
  15. [INFO] nacos-core 2.1.0 ................................... SUCCESS [ 13.775 s]
  16. [INFO] nacos-encryption-plugin 2.1.0 ...................... SUCCESS [  0.533 s]
  17. [INFO] nacos-config 2.1.0 ................................. SUCCESS [ 21.569 s]
  18. [INFO] nacos-cmdb 2.1.0 ................................... SUCCESS [  0.916 s]
  19. [INFO] nacos-naming 2.1.0 ................................. SUCCESS [ 23.832 s]
  20. [INFO] nacos-address 2.1.0 ................................ SUCCESS [  0.954 s]
  21. [INFO] nacos-client 2.1.0 ................................. SUCCESS [ 25.395 s]
  22. [INFO] nacos-plugin-default-impl 2.1.0 .................... SUCCESS [  2.811 s]
  23. [INFO] nacos-istio 2.1.0 .................................. SUCCESS [  8.047 s]
  24. [INFO] nacos-console 2.1.0 ................................ SUCCESS [  4.740 s]
  25. [INFO] nacos-test 2.1.0 ................................... SUCCESS [  0.382 s]
  26. [INFO] nacos-config-test 2.1.0 ............................ SUCCESS [  0.364 s]
  27. [INFO] nacos-naming-test 2.1.0 ............................ SUCCESS [  0.340 s]
  28. [INFO] nacos-core-test 2.1.0 .............................. SUCCESS [  0.433 s]
  29. [INFO] nacos-example 2.1.0 ................................ SUCCESS [  0.536 s]
  30. [INFO] nacos-distribution 2.1.0 ........................... SUCCESS [ 10.944 s]
  31. [INFO] ------------------------------------------------------------------------
  32. [INFO] BUILD SUCCESS
  33. [INFO] ------------------------------------------------------------------------
  34. [INFO] Total time:  02:38 min
  35. [INFO] Finished at: 2022-07-14T22:55:27+08:00
  36. [INFO] ------------------------------------------------------------------------
复制代码
解压部署的jar包
  1. # copy 需要部署的jar包
  2. cp distribution/target/nacos-server-2.1.0.tar.gz /data/app/nacos-server-2.1.0.tar.gz
  3. cd /data/app
  4. # 解压
  5. tar -xvzf nacos-server-2.1.0.tar.gz
复制代码
配置调整

应用配置文件application.properties

修改DB连接串

将nacos/conf/application.properties的第33~41行DB配置信息根据实际情况修改,并取消注释
  1. 31 #*************** Config Module Related Configurations ***************#
  2. 32 ### If use MySQL as datasource:
  3. 33 spring.datasource.platform=mysql
  4. 34
  5. 35 ### Count of DB:
  6. 36 db.num=1
  7. 37
  8. 38 ### Connect URL of DB:
  9. 39 db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
  10. 40 db.user.0=nacos
  11. 41 db.password.0=nacos
复制代码
注意点

修改服务端口

可先跳过,按顺序查看【批量服务端口】章节
启动文件startup.sh

根据硬件资源及实际情况,在nacos/bin/startup.sh文件中调整JVM参数
  1. 93     #JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
  2. 94     JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx256m -Xmn64m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m"
复制代码
JVM参数

Xss:每个线程的stack大小(栈)
Xmx:JAVA HEAP的最大值、默认为物理内存的1/4
Xms:JAVA HEAP的初始值,server端最好Xms与Xmx一样
Xmn:JAVA HEAP young区的大小
XX:MetaspaceSiz:设定内存的永久保存区域
XX:MaxMetaspaceSiz:设定最大内存的永久保存区域
编码问题
  1. [root@aliyun app]# sh nacos/bin/startup.sh
  2. startup.sh: line 2: $'\r': command not found
  3. startup.sh: line 7: $'\r': command not found
  4. startup.sh: line 15: $'\r': command not found
  5. startup.sh: line 19: syntax error near unexpected token `$'in\r''
  6. 'tartup.sh: line 19: `case "`uname`" in
复制代码
则可以执行sed -i 's/\r//g' nacos/bin/*全局替换回车符。
原因
脚本是在Windows下编辑完成后上传Linux上执行的,Windows下的换行是回车符+换行符,也就是\r\n,而Linux下是换行符\n。Linux下不识别\r为回车符,所以导致每行的配置都多了个\r,因此是编码的问题。
日志

启动日志
  1. [root@aliyun app]# sh nacos/bin/startup.sh
  2. /data/source/jdk1.8.0_202/bin/java -Djava.ext.dirs=/data/source/jdk1.8.0_202/jre/lib/ext:/data/source/jdk1.8.0_202/lib/ext  -server -Xms128m -Xmx256m -Xmn64m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/data/app/nacos/logs/java_heapdump.hprof -XX:-UseLargePages -Dnacos.member.list= -Xloggc:/data/app/nacos/logs/nacos_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -Dloader.path=/data/app/nacos/plugins/health,/data/app/nacos/plugins/cmdb,/data/app/nacos/plugins/selector -Dnacos.home=/data/app/nacos -jar /data/app/nacos/target/nacos-server.jar  --spring.config.additional-location=file:/data/app/nacos/conf/ --logging.config=/data/app/nacos/conf/nacos-logback.xml --server.max-http-header-size=524288
  3. nacos is starting with cluster
  4. nacos is starting,you can check the /data/app/nacos/logs/start.out
复制代码
服务日志

[code][root@aliyun app]# tail -f nacos/logs/start.out nacos/logs/nacos.log ==> nacos/logs/start.out  nacos/logs/nacos.log  logs/nacos.log  logs/start.out  logs/nacos.log  logs/start.out  logs/nacos.log




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4