Zookeeper的集群模式搭建,步骤如下:
1、准备工作
1)zookeeper需要在java 的环境中运行,所以需要安装java工具包,可以使用yum工具安装:
yum install java
2)下载zookeeper包:http://mirrors.hust.edu.cn/apache/zookeeper/,以zookeeper-3.4.13.tar.gz为例说明。
3)将zookeeper包上传到节点的/usr/local目录下(此目录根据自己的喜好来)
2、解压 & 重命名
1)解压zookeeper:tar -zxf zookeeper-3.4.13.tar.gz
2)重命名:mv zookeeper-3.4.13.tar.gz zk
3、设置环境变量
在/etc/profile文件中加入如下内容:
export ZOOKEEPER_HOME=/usr/local/zk
export PATH=.:
Z
O
O
K
E
E
P
E
R
H
O
M
E
/
b
i
n
:
ZOOKEEPER_HOME/bin:
ZOOKEEPERHOME/bin:PATH
然后执行命令source /etc/profile使环境变量生效。
4、修改配置文件
1)将conf目录下的zoo_sample.cfg文件修改为zoo.cfg:mv zoo_sample.cfg zoo.cfg
2)修改zoo.cfg文件:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zk/data
clientPort=2181
server.0=localhost:2888:3888
server.1=localhost:2888:3888
server.2=localhost:2888:3888
3)在zk目录下创建data目录,然后再data目录下创建文件myid。myid文件的内容为server.X中的X
5、将环境变量配置文件/etc/profile以及zk目录拷贝到其他节点上
scp -r /usr/local/zk/ server1:/usr/local
scp /etc/profile server1:/etc/
scp -r /usr/local/zk/ server2:/usr/local
scp /etc/profile server2:/etc/
6、启动
启动服务:zkServer.sh start
查看服务:zkServer.sh status
Zookeeper集群搭建中的问题:
**问题一:**执行zkServer.sh status,提示错误:Error contacting service. It is probably not running.
表示线程启动成功,但是没有端口占用。可以查看zookeeper.out文件明确启动失败的原因!!
解决方案如下:
1)关闭防火墙:systemctl stop firewalld.service
2)查看conf目录下是否同时存在zoo.cfg和zoo_sample.cfg(两个文件不能同时存在)
3)检查zoo.cfg配置,特别是myid文件是否存在及其内容是否正确
4)查看zookeeper.out文件,排查具体原因
**问题二:**执行zkCli.sh,提示错误:./zkCli.sh: line 39: java: command not found
解决方案:
1)安装jdk工具。