赞
踩
"nacos is starting with cluster" Error occurred during initialization of VM Could not reserve enough space for 2097152KB object heap
以编辑模式打开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" )
为了使得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"
)
其中参数的含义如下:
-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 起用大内存储器页支持
为了使nacos集群中每个节点可以共享数据,我们需要将nacos的节点与数据库相连。
java.io.IOException: java.lang.IllegalArgumentException: db.num is null
Caused by: java.lang.IllegalArgumentException: db.num is null
打开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
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
我使用的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
技术小白,有错欢迎指正!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。