disconf系列【2】——解决zk部署情况为空的问题

时间:2025-02-07 17:06:14

如下图所示,在安装完成之后,发现zk(zookeeper)部署情况为空。

注:承接上篇,环境未发生改变。

disconf系列【2】——解决zk部署情况为空的问题

1.解决zk没有启动的问题

查看disconf日志,发现zk没有启动。

实际情况是:zk已经启动,可以使用zkServer.sh status命令进行查看。

那么问题就明确了,disconf没有关联上zk

经过排查,发现在disconf部署目录之下,有一个zk的jar,且版本号和实际使用的版本号不一致。因此,zk才没法连接到disconf,导致最终的zk部署情况为空。

解决办法比较简单:让这个zk的jar和实际使用的zk版本保持一致就OK了。

详细步骤如下:

①在POM.xml中重新改动zk依赖的版本号(改为实际使用的zk版本),重新编译。

②将disconf-web部署目录下的zoo.properties中的hosts改为要启动的zk的client端口号,本机为127.0.0.1:2181。【重要】

经过上述步骤,重新启动zk,发现disconf日志中显示zk已经能够正确连接。

2.没有应用实际部署导致的zk部署情况为空

zk虽然能够正确启动,但zk部署情况还是为空。这是因为没有应用部署到容器中,zk监听不到应用部署的情况,因此zk部署情况为空是正常的。

解决步骤如下:

①从github上下载disconf客户端demo,网址为:https://github.com/knightliao/disconf-demos-java  。

②修改disconf-standalone-demo的配置文件disconf.properties中的disconf.conf_server_host选项改为nginx监听的端口,本机为127.0.0.1:8888。【重要】

disconf系列【2】——解决zk部署情况为空的问题

③按照github介绍的方法编译运行disconf-standalone-demo 。

此时就会看到zk部署情况不再为空(zookeeper为standalone模式)。

disconf系列【2】——解决zk部署情况为空的问题