Centos7搭建Zookeeper 3.4.14集群

一、环境准备

  1、下载安装包

官网:http://zookeeper.apache.org/

下载地址:http://archive.apache.org/dist/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz

  下载过程就不说了,我们下载的是zookeeper-3.4.14的包

  2、上传安装包

  把下载的包(如:zookeeper-3.4.14.tar.gz)上传到服务器,上传的方式也不多说了。

  3、解压

tar -zxvf zookeeper-3.4.14.tar.gz

  3、移动到/usr/local目录下

mv zookeeper-3.4.14 /usr/local/zookeeper-3.4.14                    移动
ln -s zookeeper-3.4.14 /usr/local/zookeeper-3.4.14 或者创建软连接
主机名IP
web1 192.168.112.57
web2 192.168.112.68
web3 192.168.112.69

二、开始安装

  Zookeeper集群原则上需要2n+1个实例才能保证集群有效性,所以集群规模至少是3台。

  下面演示如何创建3台的Zookeeper集群,N台也是如此。

  1、创建数据文件存储目录

mkdir -p /data/zk_kafka/zookeeper-3.4.14/data
mkdir -p /data/zk_kafka/zookeeper-3.4.14/logs

  2、添加主配置文件

cd conf
cp zoo_sample.cfg zoo.cfg

  3、修改配置

vim zoo.cfg
先把dataDir=/tmp/zookeeper注释掉,然后添加以下核心配置。

dataDir=/data/zk_kafka/zookeeper-3.4.14/data
server.1=web1:2888:3888
server.2=web2:2888:3888
server.3=web3:2888:3888

  4、创建myid文件

cd /data/zk_kafka/zookeeper-3.4.14/data
touch myid
echo "1">>myid                                      第一台写1,第二台写2,第三台写3

  每台机器的myid里面的值对应server.后面的数字x。

  5、开放3个端口

  使用 iptables

sudo /sbin/iptables -I INPUT -p tcp --dport 2181 -j ACCEPT
sudo /sbin/iptables -I INPUT -p tcp --dport 2888 -j ACCEPT
sudo /sbin/iptables -I INPUT -p tcp --dport 3888 -j ACCEPT

sudo /etc/rc.d/init.d/iptables save
sudo /etc/init.d/iptables restart

sudo /sbin/iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:3888 
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:2888 
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:2181
或者 firewalld

# 查看当前区域
firewall-cmd --get-active-zones
# 新建一个自定义服务
firewall-cmd --new-service=zookeeper --permanent
firewall-cmd --service=zookeeper --add-port 2181/tcp --permanent
firewall-cmd --service=zookeeper --add-port 2888/tcp --permanent
firewall-cmd --service=zookeeper --add-port 3888/tcp --permanent
# 不中断服务的重新加载
firewall-cmd --reload
firewall-cmd --add-service=zookeeper
# 将当前防火墙的规则永久保存;
firewall-cmd --runtime-to-permanent

  6、配置集群其他机器

  把配置好的Zookeeper目录复制到其他两台机器上,重复上面4-5步。

scp -r /usr/local/zookeeper centos-node2:/usr/local/

  7、重启集群

/usr/local/zookeeper/bin/zkServer.sh start

   3个Zookeeper都要启动。

  8、查看集群状态

$ /usr/local/zookeeper/bin/zkServer.sh status 
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Mode: follower
./zkCli.sh -server 192.168.112.68:2181
原文地址:https://www.cnblogs.com/aqicheng/p/14142785.html