目录

一、前置说明

二、Zookeepek集群安装

2.1、安装jdk

2.2、解压Zookeeper安装包,并配置环境变量

2.3、创建data和log文件夹

2.4、复制 zoo_sample.cfg为zoo.cfg,并进行配置

2.5、创建myid文件

​2.6、分发配置好的文件到其他节点,并且对其他节点进行配置

2.7、启动Zookeeper集群


一、前置说明

这个是我自己电脑的环境,考试会变动。

环境表
主机名 IP地址
masterNode1 192.168.5.200
slaveNode1 192.168.5.201
slaveNode2 192.168.5.202

简单操作比如解压、配置环境变量等就不写进来了,不会的自行百度。

二、Zookeepek集群安装

2.1、安装jdk

略。

2.2、解压Zookeeper安装包,并配置环境变量

请根据实际情况自行修改压缩包位置和解压位置。

2.3、创建data和log文件夹

这俩文件夹你放哪都行,你记得住就可以。

我习惯是在Zookeeper目录下创建data/log。

2.4、复制 zoo_sample.cfg为zoo.cfg,并进行配置

 配置文件添加以下内容。

dataDir:填写前面创建的data目录的绝对路径
dataLogDir:填写前面创建的log目录的绝对路径

server.X=[主机名]:2888:3888
X从1开始,集群内有几台zookeeper主机就递增
主机名填写zookeeper集群内主机的主机名

2.5、创建myid文件

使用echo命令向前面创建的data目录下新建一个myid文件,文件内容为zoo.cfg里server.后的数字。

例如,我上面zoo.cfg里,masterNode1前面是server.1,那么我就需要在masterNode1这台主机上的myid文件里写1。其他节点同理。

2.6、分发配置好的文件到其他节点,并且对其他节点进行配置

masterNode1执行:
scp -r /usr/local/src/zookeeper-3.4.8/ root@slaveNode1:/usr/local/src/
scp -r /usr/local/src/zookeeper-3.4.8/ root@slaveNode2:/usr/local/src/
scp /etc/profile root@slaveNode1:/etc/
scp /etc/profile root@slaveNode2:/etc/
注意一下上面这两行传输/etc/profile的,我这里是省事所以才这么干。
通常情况下不会这么做,有可能出现各种各样的问题。
所以最好去其他节点重新手动配置一遍环境变量。

slaveNode1执行:
source /etc/profile
echo 2 > /usr/local/src/zookeeper-3.4.8/data/myid

slaveNode2执行:
source /etc/profile
echo 3 > /usr/local/src/zookeeper-3.4.8/data/myid

这里echo的数字写什么请参照2.5的最后两句话自行修改。

2.7、启动Zookeeper集群

所有节点执行:

zkServer.sh start

执行后可在每个节点使用以下命令查看Zookeeper状态:

zkServer.sh status

每个节点都有状态时即搭建成功

masterNode1:
[root@masterNode1 ~]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/src/zookeeper-3.4.8/bin/../conf/zoo.cfg
Mode: follower

slaveNode1:
[root@slaveNode1 ~]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/src/zookeeper-3.4.8/bin/../conf/zoo.cfg
Mode: leader

slaveNode2:
[root@slaveNode2 ~]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/src/zookeeper-3.4.8/bin/../conf/zoo.cfg
Mode: follower

如果你的leader出现在slaveNode1也没关系,leader是选举的,有可能是slaveNode1也有可能是slaveNode2。

Logo

永洪科技,致力于打造全球领先的数据技术厂商,具备从数据应用方案咨询、BI、AIGC智能分析、数字孪生、数据资产、数据治理、数据实施的端到端大数据价值服务能力。

更多推荐