当前位置:   article > 正文

nacos集群部署遇到的问题总结

nacos集群部署遇到的问题总结

问题一:内存不足

问题描述:

"nacos is starting with cluster" Error occurred during initialization of VM Could not reserve enough space for 2097152KB object heap
  • 1

解决方案:

以编辑模式打开bin目录下startup.cmd,找到下面一段

**单节点模式内存配置**
rem if nacos startup mode is standalone
if %MODE% == "standalone" (
    echo "nacos is starting with standalone"
	  set "NACOS_OPTS=-Dnacos.standalone=true"
    set "NACOS_JVM_OPTS=-Xms512m -Xmx512m -Xmn256m"
)

**集群模式内存配置**
rem if nacos startup mode is cluster
if %MODE% == "cluster" (
    echo "nacos is starting with cluster"
	  if %EMBEDDED_STORAGE% == "embedded" (
	      set "NACOS_OPTS=-DembeddedStorage=true"
	  )
set "NACOS_JVM_OPTS=-server -Xms2g -Xmx2g -Xmn1g 
                     -XX:MetaspaceSize=128m 
                     -XX:MaxMetaspaceSize=320m 
                     -XX:-OmitStackTraceInFastThrow 
                     -XX:+HeapDumpOnOutOfMemoryError
                     -XX:HeapDumpPath=%BASE_DIR%\logs\java_heapdump.hprof 
                     -XX:-UseLargePages"
)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

为了使得nacos集群可以正常的启动,我们可以将集群模式的内存配小一些,例如:

rem if nacos startup mode is cluster
if %MODE% == "cluster" (
    echo "nacos is starting with cluster"
	  if %EMBEDDED_STORAGE% == "embedded" (
	      set "NACOS_OPTS=-DembeddedStorage=true"
	  )
set "NACOS_JVM_OPTS=-server -Xms512m -Xmx512m -Xmn256m 
                     -XX:MetaspaceSize=128m 
                     -XX:MaxMetaspaceSize=320m 
                     -XX:-OmitStackTraceInFastThrow 
                     -XX:+HeapDumpOnOutOfMemoryError
                     -XX:HeapDumpPath=%BASE_DIR%\logs\java_heapdump.hprof 
                     -XX:-UseLargePages"
)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

其中参数的含义如下:

-Xms512m   启动时分配的内存为512M
-Xmx512m   运行过程中分配的最大内存为512M
-Xmn256m   新生代的大小为256M
-XX:MetaspaceSize=128m    元空间的大小为128M
-XX:MaxMetaspaceSize=320m    MetaspaceSize容量触发FGC的阈值为320M
-XX:-OmitStackTraceInFastThrow   关闭堆栈异常信息的抛出
-XX:+HeapDumpOnOutOfMemoryError   运行过程中发生OOM(Out Of Memory)时,生成DUMP文件。
-XX:HeapDumpPath   指定DUMP文件生成的目录
-XX:-UseLargePages   起用大内存储器页支持
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

问题二:mysql配置问题

为了使nacos集群中每个节点可以共享数据,我们需要将nacos的节点与数据库相连。

问题描述:

java.io.IOException: java.lang.IllegalArgumentException: db.num is null
Caused by: java.lang.IllegalArgumentException: db.num is null
  • 1
  • 2

解决方案:

打开conf目录下的application.properties。
1、正确配置数据库,要填入自己数据库对应的username、password和数据库名称。
2、把spring.datasource.platform=mysql和db.num=1的注释打开。

#*************** Config Module Related Configurations ***************#
### If use MySQL as datasource:
spring.datasource.platform=mysql  # 指定数据源

### Count of DB:
db.num=1 # 指定mysql的数量

### Connect URL of DB:
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
db.user.0=root
db.password.0=123456

### Connection pool configuration: hikariCP
db.pool.config.connectionTimeout=30000
db.pool.config.validationTimeout=10000
db.pool.config.maximumPoolSize=20
db.pool.config.minimumIdle=2
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

问题三:JDK版本问题

问题描述:

org.springframework.context.ApplicationContextException: Unable to start web server;
nested exception is org.springframework.boot.web.server.WebServerException: 
Unable to start embedded Tomcat at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh
Caused by: org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
        at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initializ
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'trafficReviseFilterRegistration' defined in class path resource 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

解决方案:

我使用的nacos版本是1.4.1,用jdk1.8.0_281 nacos集群模式不能正常启动,换成jdk1.8.0_191就可以正常启动了
jdk下载路径:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html


技术小白,有错欢迎指正!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/159650
推荐阅读
相关标签
  

闽ICP备14008679号