Zookeeper的集群搭建与配置(二)

ZooKeeper的集群搭建与配置(二)

ZooKeeper 软件安装须知

鉴于 ZooKeeper 本身的特点,服务器集群的节点数推荐设置为奇数台。我这里我规划为三台, 分别为 hadoop01,hadoop02,hadoop03

下载地址:http://mirrors.hust.edu.cn/apache/ZooKeeper/

我使用的版本号3.4.10

一:上传并解压安装包

解压安装包 到 /home/hadoop/apps/ 路径下 tar -zxvf zookeeper-3.4.10.tar.gz -C /home/hadoop/apps/

二:配置环境变量

(PS:默认jdk都安装正常,已配置)

修改命令:vi  /etc/profile     配置zookeeper变量,完成后记得 source  /etc/profile

 三:修改zookeeper配置(ps:这个是关键哦)

3.1 切换到zookeeper的conf 目录下

3.2 修改配置文件 mv zoo_sample.cfg  zoo.cfg            修改zoo_sample.cfg 为zoo.cfg

3.3 修改zoo.cfg  : vi  zoo.cfg    

初始文件内容如下

3.3.1 更改节点id文件存储路径

dataDir=/home/hadoop/data/zookeeperdata

3.3.2 添加serverId

#有几个节点 追加几行 追加标准:server.id(每个节点的唯一编号 从1开始) = 主机名:心跳端口2888:选举端口3888
server.1=hadoop01:2888:3888
server.2=hadoop02:2888:3888
server.3=hadoop03:2888:3888

(PS:serverId的值范围为1-255  即zookeeper集群最多可配置255个节点)

四:同步配置集群各节点操作

将配置好的zookeeper发送至另外两个节点

scp -r /home/hadoop/apps/zookeeper-3.4.10 hadoop02:/home/hadoop/apps/
scp -r /home/hadoop/apps/zookeeper-3.4.10 hadoop03:/home/hadoop/apps/

将 /etc/profile发送至另外两个节点(可以单独去修改各节点的profile文件,配置好zookeeper_home 变量即可)

sudo scp /etc/profile hadoop02:/etc/
sudo scp /etc/profile hadoop02:/etc/

生效各个节点的/etc/profile文件 source /etc/profile

五.配置myid文件

zoo.cfg文件中已经配置好文件存储目录 dataDir=/home/hadoop/data/zookeeperdata

三台节点新建/home/hadoop/data/zookeeperdata并在该目录下新建myid文件(文件名必须叫myid,在源码中有指定),根据zoo.cfg文件中配置的server.id 来指定各节点myid文件的id值

将hadoop01设置的节点id为1 , hadoop02设置的节点id为2 , hadoop03设置的节点id为3

myid配置有误,一般会出现这个错误

Caused by: java.lang.IllegalArgumentException: /home/hadoop/data/zookeeperdata/myid file is missing

六.启动zookeeper集群

启动命令 zkServer.sh start

启动过程中会
 1.加载zoo.cfg文件
                    dataDir=/home/hadoop/data/zookeeperdata
 2.找myid文件
                    作用:
                        1)区分不同的节点
                        2)投票,选主

当集群节点启动数不超过一半的时候(这个是zookeeper的选主机制决定的),查看状态zkServer.sh status

zookeeper的启动机制要集群节点启动数必须超过一半,超过半数后,查看状态zkServer.sh status

此时zookeeper的启动算是OK了。

猜你喜欢

转载自blog.csdn.net/qq_36508766/article/details/81336588