zookeeper集群搭建(从入门到实战)
1.1 服务器列表
服务器名称 服务器地址 服务器端口
master 192.168.145.180 2181
slave1 192.168.145.181 2181
slave2 192.168.145.182 2181
1.2 jdk安装
1)使用winscp连接192.168.198.180的22端口。输入用户名:root,密码:******
2)上传jdk1.8.0_181.zip到home目录
3)使用XshellPortable连接192.168.198.180的22端口。输入用户名:root,密码:******
4)关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled
5)cd /home
6)unzip -d /home/jdk1.8.0_181 jdk1.8.0_181.zip
7)chmod -R 777 jdk1.8.0_181
8)vi /etc/profile
9)在 profile 最后位置添加如下命令
export JAVA_HOME=/home/jdk1.8.0_181
export JAVA_BIN=/home/jdk1.8.0_181/bin
export PATH=JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/
10)更改完成之后按下键盘Esc键退出编辑,之后输入:wq回车退出并保存
11)source /etc/profile
12)java -version
如果出现下图:
则要卸载openjdk,卸载步骤:
13)rpm -qa|grep java
对以上内容进行卸载,命令如下:
1.rpm -e --nodeps tzdata-java-2017b-1.el7.noarch
2.rpm -e --nodeps python-javapackages-3.4.1-11.el7.noarch
3.rpm -e --nodeps java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64
4.rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.131-11.b12.el7.x86_6
5.source /etc/profile
6.java -version
出现如下图为正常:
14)用以上步骤分别安装其他两台服务器
1.3 安装zookeeper
1)使用winscp连接192.168.198.62的180端口。输入用户名:root,密码:******
2)上传zookeeper-3.4.9.tar.gz到data目录
3)使用XshellPortable连接192.168.198.180的22端口。输入用户名:root,密码:******
4)cd /home
5)tar -zxvf zookeeper-3.4.9.tar.gz
6)cd /home/zookeeper-3.4.9/
7)mkdir data
8)chmod 777 data
9)cd /home/zookeeper-3.4.9/conf/
10)cp zoo_sample.cfg zoo.cfg
11)vi zoo.cfg
12)修改dataDir=/tmp/zookeeper为dataDir=/home/zookeeper-3.4.9/data
13)在clientPort=2181下面增加
server.0=192.168.145.180:2888:3888
server.1=192.168.145.181:2888:3888
server.2=192.168.145.182:2888:3888
14)更改完成之后按下键盘Esc键退出编辑,之后输入:wq回车退出并保存
15)创建myid文件
cd /home/zookeeper-3.4.9/data
touch myid
16)修改myid文件
vi myid
根据上面的配置,如果当前是180机器,则myid文件中写0,181写1,也就是server.x的这个x,上面配置180是0,181是1,182是2。则根据实际安装的机器修改。
17)用以上方式分别安装其他两台服务器
1.4 启动zookeeper集群
cd /home/zookeeper-3.4.9/bin
./zkServer.sh start
1.5 集群测试
1)服务器状态
cd /home/zookeeper-3.4.9/bin
./zkServer.sh status
180服务器:
181服务器:
182服务器:
从上面的三台服务器状态可以看到182服务器是leader角色,180和181服务器是follower角色。
2)停止182服务器
cd /home/zookeeper-3.4.9/bin
./zkServer.sh stop
182服务器:
181服务器:
180服务器:
3)再次启动182服务器
cd /home/zookeeper-3.4.9/bin
./zkServer.sh start
服务器状态如下:
182服务器:
181服务器:
180服务器:
到此为止,整个zookeeper集群全部搭建完成。
1.6错误处理
安装好以后在启动zookeeper时,可能会遇到Error contacting service. It is probably not running。
解决思路:
1.防火墙未关闭导致的,检查防火墙。
2.在启动zookeeper以后在bin目录下会出现一个zookeeper.out文件,是zookeeper的启动日志,可以进行查看具体的错误情况。
3.停止zookeeper集群,删除节点信息,重新启动。删除节点信息命令如下:
cd /home/zookeeper-3.4.9/data
rm -rf version-2/
rm -rf zookeeper_server.pid
4.检查端口是否被占用
netstat -apn | grep 2181