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

2023-11-19

问题一:内存不足

问题描述:

"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   起用大内存储器页支持

问题二:mysql配置问题

为了使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

问题三: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 

解决方案:

我使用的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


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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

nacos集群部署遇到的问题总结 的相关文章

  • Java:迭代 Collection 的最佳方法(此处为 ArrayList)

    今天 当我看到一段我已经使用了数百次的代码时 我很高兴地开始编码 迭代集合 此处为 ArrayList 出于某种原因 我实际上查看了 Eclipse 的自动完成选项 这让我想知道 在什么情况下以下循环比其他循环更好使用 经典的数组索引循环
  • Android在排序列表时忽略大小写

    我有一个名为路径的列表 我目前正在使用以下代码对字符串进行排序 java util Collections sort path 这工作正常 它对我的 列表进行排序 但是它以不同的方式处理第一个字母的情况 即它用大写字母对列表进行排序 然后用
  • 找不到包“gdk-pixbuf-2.0”

    我正在尝试在 Amazon Linux 发行版实例上构建 librsvg 我已经通过 yum 安装了大部分依赖项 其中一些在实例上启用的默认 yum 存储库中不可用 因此必须从头开始构建它们 我已经走了很远 但还停留在最后一点 跑步时sud
  • 运行具有外部依赖项的 Scala 脚本

    我在 Users joe scala lib 下有以下 jar commons codec 1 4 jar httpclient 4 1 1 jar httpcore 4 1 jar commons logging 1 1 1 jar ht
  • wait() 在游戏中如何工作?

    在 playframework 的文档中here http www playframework org documentation 1 2 1 asynchronous已写 public static void loopWithoutBlo
  • JavaFX 中具有自定义内容的 ListView

    How i can make custom ListView with JavaFx for my app I need HBox with image and 2 Labels for each line listView 您可以通过查看
  • 为什么 Linux 原始套接字的 RX 环大小限制为 4GB?

    背景 我试图mmap 我的原始套接字的 RX 环形缓冲区64 bitLinux 应用程序 我的环由 4096 个块组成 每个块大小为 1MB 总共 4GB 请注意 每个 1MB 块中可以有许多帧 如果您好奇 请参阅此文档了解背景信息 htt
  • 我需要什么库才能在 Java 中访问这个 com.sun.image.codec.jpeg?

    我正在用java创建一个图像水印程序 并导入了以下内容 import com sun image codec jpeg JPEGCodec import com sun image codec jpeg JPEGEncodeParam im
  • 使用 SQLITE 按最近的纬度和经度坐标排序

    我必须获得一个 SQLite SQL 语句 以便在给定初始位置的情况下按最近的纬度和经度坐标进行排序 这是我在 sqlite 数据库中的表的例句 SELECT id name lat lng FROM items EXAMPLE RESUL
  • SSH,运行进程然后忽略输出

    我有一个命令可以使用 SSH 并在 SSH 后运行脚本 该脚本运行一个二进制文件 脚本完成后 我可以输入任意键 本地终端将恢复到正常状态 但是 由于该进程仍在我通过 SSH 连接的计算机中运行 因此任何时候它都会登录到stdout我在本地终
  • 在游戏视图下添加 admob

    我一直试图将 admob 放在我的游戏视图下 这是我的代码 public class HoodStarGame extends AndroidApplication Override public void onCreate Bundle
  • 编辑文件名在 JComboBox 中的显示方式,同时保持对文件的访问

    我对 Java 很陌生 对堆栈溢出也很陌生 我正在尝试利用 JMF API 创建一个用 Java 编码的简单媒体播放器 到目前为止 我已经能够设置一个简单的队列 播放列表来使用JComboBox called playListHolder
  • Jersey 客户端请求中未设置 Content-Length-Header

    我正在使用 Jersey Client 访问网络服务 如下所示 response r accept MediaType TEXT PLAIN TYPE header content length 0 post String class 其中
  • 游戏内的java.awt.Robot?

    我正在尝试使用下面的代码来模拟击键 当我打开记事本时 它工作正常 但当我打开我想使用它的游戏时 它没有执行任何操作 所以按键似乎不起作用 我尝试模拟鼠标移动和点击 这些动作确实有效 有谁知道如何解决这个问题 我发现这个问题 如何在游戏中使用
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • javafx android 中的文本字段和组合框问题

    我在简单的 javafx android 应用程序中遇到问题 问题是我使用 gradle javafxmobile plugin 在 netbeans ide 中构建了非常简单的应用程序 其中包含一些文本字段和组合框 我在 android
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • 为什么这个作业不起作用?

    我有课Results which extends ArrayList
  • hashcode 的默认实现为以相同方式构造的对象返回不同的值

    我在这里编写一个示例代码 public class Test private int i private int j public Test TODO Auto generated constructor stub public Test
  • Trie 数据结构 - Java [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 是否有任何库或文档 链接提供了在 java 中实现 Trie 数据结构的更多信息 任何帮助都会很棒 Thanks 你可以阅读Java特里树

随机推荐

  • 网络基础知识

    网络编程 2 网络的体系结构 七层模型 四层模型 因为网络通信比较麻烦 所以网络采用分层思想 OSI开放系统互联网模型 七层模型 高层 应用层 表示层 会话层 低层 传输层 网络层 数据链路层 物理层 驱动 网卡 仅仅是一种理想状态 现实中
  • 文本情感分析竞赛(首次提交排名第6)

    之前花了半个小时做了个DataCastle上的基础竞赛题 然后提交结果后直接第六名 因此来分享一下 该文章之前记录在我的公众号上 原文链接 https mp weixin qq com s nIJ2begF2 5i WnT1PEM3w 数据
  • 变量的存储类型 auto register extern static

    说明 在C语言中 变量和函数都有数据类型和存储类型两个属性 数据类型规定了取值范围和运算 存储类型规定了占用内存的方式 变量的存储类型可分为静态存储和动态存储 静态存储 生命周期为程序的运行时间 动态存储 动态分配内存 用完就放 内存的区域
  • 每日一问:你想如何破坏单例模式?

    前言 1 单例是什么 单例模式 是一种创建型设计模式 目的是保证全局一个类只有一个实例对象 分为懒汉式和饿汉式 所谓懒汉式 类似于懒加载 需要的时候才会触发初始化实例对象 而饿汉式正好相反 项目启动 类加载的时候 就会创建初始化单例对象 1
  • ThreadLocal的理解和使用

    1 ThreadLocal初步 早在JDK 1 2的版本中就提供java lang ThreadLocal ThreadLocal为解决多线程程序的并发问题提供了一种新的思路 使用这个工具类可以很简洁地编写出优美的多线程程序 ThreadL
  • LightGBM算法详解(教你一文掌握LightGBM所有知识点)

    LightGBM Light Gradient Boosting Machine 是一款基于决策树算法的分布式梯度提升框架 为了满足工业界缩短模型计算时间的需求 LightGBM的设计思路主要是两点 减小数据对内存的使用 保证单个机器在不牺
  • Ubuntu 切换工作区快捷键失效

    首先安装 Compiz Config Settings Manager sudo apt get install compizconfig settings manager 在 桌面 板块下勾选Desktop Wall 以启用 点开Desk
  • 信息安全管理(CISP)—— 部分重点内容总结

    目录 一 风险评估方法 定量分析计算 原理 公式 例题 二 风险评估要素之间的关系 三 GB Z 24364 2009信息安全风险管理指南 四阶段 两过程 四 能力成熟度模型SSE CMM 域维 能力维 五 等级保护2 0的工作流程 系统定
  • 利用Intellij IDEA创建Spring的Helloworld

    引言 Spring 作为一款轻量级的框架 自然会赢得大多数开发者的信赖 笔者今天也开始学习Spring框架了 那么如何利用当今非常火的IDEA来开发Spring呢 按照国际惯例 先从Spring的HelloWorld开始吧 准备环境 Int
  • validation query

    public static void mySQLConfigPlugin Plugins me C3p0Plugin dbplugin createC3p0Plugin DruidPlugin dbplugin createDruidPlu
  • sql优化

    SQL总结 优化部分 1 应尽量避免在 where 子句中使用 或 lt gt 操作符 否则将引擎放弃使用索引而进行全表扫描 2 对查询进行优化 应尽量避免全表扫描 首先应考虑在 where 及 order by 涉及的列上建立索引 3 应
  • 模糊数学Python(一)模糊运算

    代码 import numpy as np def istype a 判断模糊矩阵a的类型 a np array a s np eye a shape 0 a shape 1 if a gt s all and a T a all retu
  • 安装12.04lts的两个问题总结

    因为在win7下有很多bug 老师叫我用Linux来完成项目的最后一步 啊啊啊 之前一直是在虚拟机里面搞 安装Ubuntu的过程中遇到了好多个问题 好吧好吧 下面总结一下 让遇到同样问题的朋友少走点弯路吧 1 分区问题 建立 主分区 之后
  • 数据操作之-dataframe常见操作:取行、列、切片、统计特征值

    import numpy as np import pandas as pd from pandas import from numpy import data DataFrame np arange 16 reshape 4 4 inde
  • Spring Boot 学习研究笔记(十八) 添加log4j2日志文件

    Spring Boot 添加log4j2日志文件 对于一个线上程序或者服务而言 重要的是要有日志输出 这样才能方便运维 而日志的输出需要有一定的规划 如日志命名 日志大小 日志分割的文件个数等 在SpringBoot的框架下 会使用log4
  • 栈头文件C语言

    Stack ADT h 栈模型头文件 数据类型定义 typedef char Name typedef struct stack node Name name struct stack node next Stack Node typede
  • GD32450i-EVAL学习笔记 6 - ADC

    目录 1 初始化ADC 1 1 使能RCU 1 2 设置频率 1 3 设置分辨率 1 4 设置数据对齐方式 1 5 使能扫描模式 1 6 设置触发模式 1 6 使能ADC 2 初始化通道规则 3 通道使能 4 软件触发使能 5 获取ADC的
  • C#List类容输出

    将集合中的类容 添加间隔符号后 输出为string List
  • vue之babel自动埋点

    公司项目是vue单页面技术 这天组长对我说 为了凸显我们的作用 做点外行或者新手看起来高深的东西 例如自动埋点 当时我的表情先是 然后摸鱼摸习惯了 就是这种状态 最后组长说领导的态度决定我们的绩效 没办法 为了money 无奈打开了老朋友
  • nacos集群部署遇到的问题总结

    问题一 内存不足 问题描述 nacos is starting with cluster Error occurred during initialization of VM Could not reserve enough space f