先确认zoo.cfg文件中的配置id与myid是不是一致
server.A=B:C:D
A是一个数字,表示这个是第几号服务器;
集群模式下配置一个文件myid,这个文件在dataDir目录下,这个文件里面有一个数据就是A的值,Zookeeper启动时读取此文件,拿到里面的数据与zoo.cfg里面的配置信息比较从而判断到底是哪个server。
B是这个服务器的ip地址;
C是这个服务器与集群中的Leader服务器交换信息的端口;
D是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。
Caused by: java.lang.IllegalArgumentException: /usr/local/zookeeper/zookeeper-3.4.10/data/data/myid file is missing
出现这个问题的原因是,myid文件配置有问题,所导致的,可能是路径不对,也有可能是文件没有,需要在自己的data目录下创建一个myid的文件,里面的编号需要和自己定义的路径配置好
Cannot open channel to 1 at election address /127.0.0.1:2225
导致这个问题的原因是,没有完全启动所有的zookeeper节点所导致的问题,所有节点都启动,就不会有这个问题了
地址已被使用:
有可能是端口已经被别的服务给占用了
需要使用命令查看端口 netstat -lnp|grep 2181
看看是什么服务在占用端口以后启动时尽量避免
然后
kill -9 进程号
杀掉进程
在启动zookeeper
没报错但也没对:
就去zookeeper.out查看日志
根据报错解决