问题:
异常信息: zookeeper not connected
异常场景: spring boot + dubbo 启动时,连接zk出现问题
解决方案:
1、 检查zk所在机的防火墙。 systemctl stop firewalld | service firewalld stop
2、 检查zk所在机的ip和yml配置中的ip是否对应
3、 检查zk是否成功启动。 $zk_home/bin/zkServer.sh status -> standalone
4、 在yml配置文件中增加新的配置,提高连接zk的访问超时时间。(有可能是虚拟机网络不稳定造成连接zk的时候,出现超时)。dubbo中的默认超时配置是3秒。
dubbo:
config-center:
timeout: 10000 # 单位是毫秒。
5、 在启动类型上增加新的注解, @EnableDubboConfig。 人为强制要求dubbo-spring-boot-starter扫描配置并加载。 dubbo是自动扫描配置并加载的。
6、 修改版本。降低spring-boot和dubbo-spring-boot-starter版本。(版本问题是win10操作系统对权限管理加强后,导致的结果。)
6.1、 先降低dubbo-spring-boot-starter 到 2.7.3 -> 2.7.0
6.2、 再考虑降低spring-boot版本 到 2.2.0 -> 2.1.10 -> 2.0.2
虚拟机网络稳定性:
1、 关闭不必要的网卡
2、 关闭所有的热点软件
3、 关闭windows防火墙
问题:
异常信息:启动zookeeper时提示Starting zookeeper … already running as process 2502.
使用命令./zkServer.sh status查看状态显示ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/…/conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Error contacting service. It is probably not running.
通过浏览conf中zoo.cfg文件发现配置没问题,后想起上次服务器异常关闭,通过命令进入cd /usr/local/zookeeper/data中找到zookeeper_server.pid文件进行删除,然后重新启动zookeeper即可。