zookeeper基本配置以及一些坑

配置

1. 解压安装包:tar zxvf zookeeper-3.4.14.tar.gz

2. 修改zookeeper配置:

#Master

cd zookeeper-3.4.14

#创建日志文件夹及数据文件夹

mkdir data

mkdir log

#修改配置

cd conf

mv zoo_sample.cfg zoo.cfg

vim zoo.cfg

dataDir=/usr/local/src/zookeeper-3.4.14/data

dataLogDir=/usr/local/src/zookeeper-3.4.14/log

server.1=master:2888:3888

server.2=slave1:2888:3888

server.3=slave2:2888:3888

master、slave1、slave2 都是这样配,不需要改 ip 和 port

3. 配置环境变量

#Master、Slave1、Slave2

vim ~/.bashrc

ZOOKEEPER_HOME=/usr/local/src/zookeeper-3.4.14

PATH=$PATH:$ZOOKEEPER_HOME/bin

#刷新环境变量

source ~/.bashrc

4. 拷贝安装包

#Master

scp -r /usr/local/src/zookeeper-3.4.14 root@slave1:/usr/local/src/zookeeper-3.4.14

scp -r /usr/local/src/zookeeper-3.4.14 root@slave2:/usr/local/src/zookeeper-3.4.14

5. 分别添加ID

#Master

echo "1" > /usr/local/src/zookeeper-3.4.14/data/myid

#Slave1

echo "2" > /usr/local/src/zookeeper-3.4.14/data/myid

#Slave2

echo "3" > /usr/local/src/zookeeper-3.4.14/data/myid

 

6. 启动Zookeeper服务

 

zkServer.sh start

 

7. 查看运行状态

zkServer.sh status

尴尬的事情出现了:

报错原因:

Error contacting service. It is probably not running.

Error contacting service. It is probably not running.

Error contacting service. It is probably not running.

解决办法:

网上有很多解决方案,无非都是抄来抄去,并没有卵用。

我把有用的贴在这里:

1. 检查端口占用:

netstat -apn | grep 2181

如果有输出结果,就kill -9 :

kill -9 6211

2. 关闭防火墙

systemctl stop firewalld.service

systemctl disable firewalld.service

3.最重要的一步:

删除配置在dataDir目录下的zookeeper.pid文件

这个是罪魁祸首,干掉它:rm -rf zookeeper_server.pid

这个是输出的日志文件,眼不见心不烦,一起干掉:rm -rf zookeeper.out

然后重启zkServer:

zkServer.sh stop

zkServer.sh start

最后,终于成功了!

zkServer.sh status

master 不是 leader,并不重要,这是zk的选举机制,要是leader挂掉了,会有一个 follower 成为 leader,我们暂时就不操这心了。

ps.有些博客还是会说人话的,总算找到有用的解决方案了。

posted @ 2019-08-24 01:26  水木青楓  阅读(611)  评论(0编辑  收藏  举报