(我无意中摸索出来的解决办法,如果你也遇到了这个问题且解决不了,可以按下面的步骤看看你的情况和我是否一样,一样的话可以试试我的方法)
我的环境:三台机器组成的集群
启动zookeeper要先在三台机器都zkServer.sh start,然后再zkServer.sh status查看状态。
>> 我的情况是:有两台都启动正常,状态分别是leader和follow,但是剩下的一台机器报错:error contacting service.lt is probably not running!
如果你遇到这个情况,你可以去这个目录下(我的路径是/home/hadoop_files/hadoop_data/zookeeper/)ls一下
>> 我的情况是,两台正常启动的机器的这个目录下有三个文件:myid、version-2和zookeeper_server.pid,但是我报错的机器的这个目录下只有两个文件:
>> 若你的情况与我一样,你可以:
先讲办法,直接在这个目录下mkdir version-2,然后直接zkServer.sh status查看是否成功。
以下是我的神奇探索历程
(这个时候其实我想粗暴的直接把没问题的机器的version-2文件复制过去,于是我复制了某正常机器的version-2文件里面的文件,version-2里面有三个小文件,我正打算把那三个拷过去)
但是!当我使用这个命令:mkdir version-2,直接在出错机器的这个目录下创建一个叫version-2的文件夹后:
我试着打开这个文件夹看,神奇的是!
里面居然出现了正常机器才有的那三个小文件
!然鹅我什么都没有拷过去,仅是mkdir了个文件夹
然后我神乎其神直接zkServer.sh status,神奇的是!