protocol-raft日志文件中报错:
java.lang.IllegalArgumentException: Blank leader
at com.alipay.sofa.jraft.util.Requires.requireTrue(Requires.java:85)
at com.alipay.sofa.jraft.RouteTable.updateLeader(RouteTable.java:181)
at com.alipay.sofa.jraft.RouteTable.refreshLeader(RouteTable.java:264)
at com.alibaba.nacos.core.distributed.raft.JRaftServer.refreshRouteTable(JRaftServer.java:501)
at com.alibaba.nacos.core.distributed.raft.JRaftServer.lambda$createMultiRaftGroup$1(JRaftServer.java:276)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
at java.base/java.lang.Thread.run(Thread.java:832)
麻烦把alipay-jraft.log 日志信息也贴一下
删除{nacos.home}/nacos/data/protocol文件夹后重新启动。
1.4.0使用了jraft, jraft会记录前一次启动的集群地址,如果重启机器ip变了的话,会导致jraft记录的地址失效,从而导致选主出问题。
@KomachiSion 问题怎么解决,我重启了,还有删除了naming文件夹,都没用
@KomachiSion 问题怎么解决,我重启了,还有删除了naming文件夹,都没用
删除data目录下的protocol文件夹
@KomachiSion 问题怎么解决,我重启了,还有删除了naming文件夹,都没用
删除data目录下的protocol文件夹
谢谢 已经可以了
我也遇到了同样的问题。我的nacos在win10下启动,关掉重启后,nacos客户端连接时报错code:503,msg:server is DOWN now, please try again later!。
protocal-raft.log报错:
`2020-11-15 14:56:53,574 ERROR Fail to refresh raft metadata info for group : naming_persistent_service, error is : {}
java.lang.IllegalArgumentException: Blank leader
at com.alipay.sofa.jraft.util.Requires.requireTrue(Requires.java:85)
at com.alipay.sofa.jraft.RouteTable.updateLeader(RouteTable.java:181)
at com.alipay.sofa.jraft.RouteTable.refreshLeader(RouteTable.java:264)
at com.alibaba.nacos.core.distributed.raft.JRaftServer.refreshRouteTable(JRaftServer.java:501)
at com.alibaba.nacos.core.distributed.raft.JRaftServer.lambda$createMultiRaftGroup$1(JRaftServer.java:276)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)`
按照 @horizonzy 的方法:
删除{nacos.home}/nacos/data/protocol文件夹后重新启动。
成功连上。我用的校园网,笔记本通过dhcp获取ip,所以会出现重启后ip和之前不一样的情况。但是我把nacos服务器的压缩包解压后,就直接修改startup.cmd,把默认的启动模式从cluster改成standalone,每次启动的时候都是以单机模式启动的,为什么还会出现选举leader的情况?
现在引入了SofaJRaft,单机情况下也是存在节点了。流程和集群一样,需要先选出leader,再提供服务
这个问题,需要分析下{nacos.home}/nacos/logs下的protocol-raft.log以及alipay-jraft.log日志
Move to #4291.
非常感谢楼主的分享!问题解决.分享此贴给学习nacos的同胞们
@KomachiSion 问题怎么解决,我重启了,还有删除了naming文件夹,都没用
删除data目录下的protocol文件夹
单机模式下,我是直接把 nacos\data下所有文件删除就可以了
1.4.0使用了jraft, jraft会记录前一次启动的集群地址,如果重启机器ip变了的话,会导致jraft记录的地址失效,从而导致选主出问题。
jraft虽好,但这确实有点儿坑
集群环境下,如果某主机IP变了,会导致nacos控制台网站访问死慢,需要在nginx.conf和nacos的cluster.conf中重新更正下IP就好。
Most helpful comment
删除{nacos.home}/nacos/data/protocol文件夹后重新启动。