nacos日志文件protocol-raft.log巨大问题解决方案

问题描述

protocol-raft.log文件经常巨大无比

具体错误

java.lang.IllegalStateException: Fail to get leader of group naming_service_metadata, Unknown leader
java.lang.IllegalStateException: Fail to get leader of group naming_persistent_service_v2, Unknown leader


原因分析:

按日志提示就是无法选举出服务器

但是nacos又是活的,并且还能进行服务注册


解决方案:

方案一: 

   进入docker 容器内的 /data/protocol 下的东西全部删除,重启nacos,问题解决,但是过了一段时间,又发现日志又开始重复上面那个错误了

由此再次判断可能是因为网络问题引起的,重启了只能初步解决问题,查看nacos管理界面的节点列表,果然发现问题,发现节点列表的IP 和 里面的 【节点元素】的Ip不一致,而节点元素里面有的关键字正是:

naming_instance_metadata、naming_persistent_service_v2、naming_service_metadata

就是日志中报的错误

大概知道问题原因了,因为nacos采用容器模式 , 里面分配的IP可能会随着容器重启会被dhcp重新再分配,导致配置文件出错(个人认为nacos本身也有问题,这个是需要优化和自适应的,毕竟nacos还能正常运行)

方案二:

给容器一个固定ip: 创建自定义网络,给静态IP给容器

方案三:

创建容器时候,指定服务IP地址为 127.0.0.1 ,不用nacos自动获取容器内部hdcp分配的IP,再用端口映射代理出去

添加容器启动参数 

-e NACOS_SERVER_IP=127.0.0.1 

你可能感兴趣的:(java,开发语言,spring,cloud,spring,boot)