最近因为公司关系,服务器在CentOS与Ubuntu间切换,故写几篇博文用于记录,把之前的部署方案记录下来,方便以后快速查找
一:下载
官网下载:https://zookeeper.apache.org/releases.html
百度云分享:
链接:https://pan.baidu.com/s/1sQjpbiFIFhnSpa0_uCP53A
提取码:AA56文件:apache-zookeeper-3.6.2-bin.tar
二:安装
注:zookeeper集群环境,多台服务器采用同样的操作
服务器系统:CentOs7
服务器名 | ip |
node1 | 192.168.1.2 |
node2 | 192.168.1.3 |
node3 | 192.168.1.3 |
注:需要保证三台服务器在同一局域网,云服务器则需要在统一网段下
1. 将apache-zookeeper-3.6.2-bin.tar 文件上传到home目录下,并解压
tar -zxvf apache-zookeeper-3.6.2-bin.tar
2. 重命名解压后的文件夹
mv apache-zookeeper-3.6.2-bin zookeeper-3.6.2
3. copy一份conf目录下的zoo_simple.cfg文件,重命名为zoo.cfg
cd /home/zookeeper-3.6.2
cp zoo_simple.cfg zoo.cfg
4. 编辑zoo.cfg
vim zoo.cfg
zoo.cfg配置如下:
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# 数据存储路径
dataDir=/data/zookeeper/data
# the port at which the clients will connect
clientPort=2181
注:这里2181为默认端口,可以修改,如果时单服务部署,这里就结束了
集群配置,修改zoo.cff在文件末尾插入如下:(三台服务器配置一样)
server.1=192.168.1.2:2888:3888
server.2=192.168.1.3:2888:3888
server.3=192.168.1.4:2888:3888
# 该参数设置为true,Zookeeper服务器将监听所有可用IP地址的连接。他会影响ZAB协议和快速Leader选举协议。默认是false
# 此参数主要针对云服务器
quorumListenOnAllIPs=true
注:2888 原子广播端口,3888 选举端口,zookeeper 有几个节点,就配置几个 server。
记下zoo.cfg文件的dataDir配置地址,如果不存在这个地址则手动创建,下面需要用到
mdkir /data/zookeeper/data
5. 到dataDir配置的目录下,创建my.id
cd /data/zookeeper/data
# 服务器1(192.168.1.2)执行
echo "1" >> my.id
# 服务器2(192.168.1.3)执行
echo "2" >> my.id
# 服务器3(192.168.1.4)执行,往后依次如下
echo "3" >> my.id
6. 所有服务器同时启动zookeeper,利用xshell的批量输入所有会话来进行操作:
cd /home/zookeeper-3.6.2/bin
./zkServer.sh start
注:这里一定要同时启动,否则可能会报错,很麻烦的
命令集(进入到程序bin目录下):
# 启动命令:
./zkServer.sh start
# 停止命令:
./zkServer.sh stop
# 重启命令:
./zkServer.sh restart
7. 防火墙开放端口
#开启防火墙
systemctl start firewalld
# 开放2181端口
firewall-cmd --zone=public --add-port=2181/tcp --permanent
# 开放3888端口
firewall-cmd --zone=public --add-port=3888/tcp --permanent
# 开放2888端口
firewall-cmd --zone=public --add-port=2888/tcp --permanent
# 重启防火墙,使之生效
firewall-cmd --reload