使用zkui进行zookeeper可视化管理遇到的坑总结(一)
最近练手的一个项目用到zookeeper进行项目的相关配置,使用了zkui进行可视化管理。但是由于新手很多知识都不熟悉,所以在使用时遇到了很多问题,这里进行总结。
首先列出本项目的背景:
本项目基于springboot、使用springcloud的依赖 这一套体系来实现的微服务架构。
在所有springboot项目中会涉及到各种这样的配置,通常有两种类型的配置文件,yaml和properties文件,每一种文件又可以分为application-xxx(环境变量),比如application-dev.properties和application-prob.properties。还有一种配置文件是bootstrap文件,如bootstrap.properties,bootstrap的优先级比application的优先级高。
在本项目中不采用上述配置文件来进行配置,而是采用zookeeper作为配置中心,用bootstrap指定每一个zookeeper的地址。以下图为例,spring.cloud.zookeeper.connect-string指定了要连接的zookeeper的地址,name是应用名称,spring.profiles.active是环境变量,name、root、active三者共同决定zookeeper中节点的名字。
下面列出遇到的问题:
一、zkui无法导入本地写好的节点配置项的txt文件
报的错误:选择import后,报Invalid format at line 1:???或者类似的错误,但是txt文件第一行并没有任何符号和多余的回车
解决:将本地txt文件另存一份,编码方式选择utf-8,再将utf-8编码方式的文件导入即可
二、报异常Exception in thread “main” java.net.BindException: Address already in use:bind
错误如下图:端口已经在使用中
解决:Win+R打开命令行界面,输入netstat -ano,找到本地地址对应的端口号中为9090的(9090是在zkui的config.cfg中设置的端口号),记住其对应的PID。如下图所示:
由上图可知,占用了9090端口的进程对应的pid为11520.
然后再命令行中输入:taskkill /pid 11520 /f,将对应的进程杀死。
再重新启动zkui的web程序即可。
踩坑总结(二)请见我的下一篇博客