一、错误信息
在用springboot搭好dubbo框架后(springboot+dubbo搭建简单分布式服务),启动项目发现报错说无法注册服务原因是zookeeper没有连接到,java.lang.IllegalStateException: Zookeeper is not connected yet!
错误信息如下:
二、原因及解决方案
网上有很多童鞋也遇到过这个问题,有人的是因为配置zookeeper的虚拟机上的防火墙没关,有的人是把项目里的zookeeper版本降低后解决的问题,但是这些都不是根本原因! 根本原因是因为在zookeeper较新的版本中增加了zkClientWrapper,来做连接的控制,如果在设定的时限内没有连通,就会报上文中的错误。所以如果防火墙没关又没有配置安全规则的话,请求被墙当然连不上。同样如果设置的连接超时时间太短,同样会报错。
知道原因后问题就很好解决了,在zookeeper的配置机上的配置文件中修改参数就好了。