目录
2.4、复制 zoo_sample.cfg为zoo.cfg,并进行配置
2.6、分发配置好的文件到其他节点,并且对其他节点进行配置
一、前置说明
这个是我自己电脑的环境,考试会变动。
主机名 | 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。