Nacos服务异常——Cluster.conf

项目场景:

  因对Nacos代码进行二次开发,所以使用自定义构建的Nacos镜像。环境为集群模式,数据存储使用mysql数据库。


问题描述

  镜像版本更新后发现Naocs服务启动失败,因为镜像不是我们构建的,所以只能登录到环境具体查看,同时Nacos服务不断的重启,导致无法长时间在容器内部获取相关日志和信息。

在Nacos启动日志中

…
Have not found myself in list yet

org.springframework.context.ApplicationContextException: Unable to start web server; 
nested exception is  
org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat


…
distroFileterRegistration
…
Failed to instantiate [com.alibaba.nacos.core.cluster.ServerMemberManager]: Constructor threw exception; nested exception is ErrCode:500, ErrMsg:jmenv.tbsite.net


原因分析:

  查看相关错误信息反馈都是cluster.conf的配置文件异常,在nacos容器运行时,进入容器发现的确没有cluster.conf配置文件,因为容器的cluster.conf使用peer-finder-plugin插件生成。
  查看peer-finder-plugin插件启动脚本,发现会像CLUSTER_CONF变量输出cluster.conf相关内容。通过env查看CLUSTER_CONF发现其指向的文件并非cluster.conf文件,基本原因确定。是因为镜像构建时,CLUSTER_CONF的变量有问题导致cluster.conf文件生成异常。所以重新修订改变量然后构建镜像即可。


解决方案:

  修改CLUSTER_CONF的环境变量,让相关项目组重新构建镜像,Nacos服务恢复正常运行。

思考:

  设置CLUSTER_CONF全局变量,在Nacos启动时,是否会自动进行引用改变量,调用CLUSTER_CONF指定的文件以覆盖cluster.conf?
  在二进制集群中,将cluster.conf文件重命名,然后设置全局变量CLUSTER_CONF,然后启动Nacos服务,发现Nacos服务无法正常启动,错误信息与上面一致。所以CLUSTER_CONF的全局变量并不会对nacos服务有影响,而且查看Nacos相关变量也未见CLUSTER_CONF变量。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值