Skip to content

Zookeeper Install

SoftwareVersionDownload
Zookeeper3.4.6https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz

ZooKeeper最新的版本可以通过官网https://archive.apache.org/dist/zookeeper/来获取

安装ZooKeeper 组件需要与Hadoop环境适配。

TIP

注意,各个节点的防火墙需要关闭,否则会出现连接问题

zookeeper的安装包已放置在/opt/software/目录下

row
[root@master opt]# ll /opt/software/
total 662824
-rw-r--r--. 1 root root 660017902 Mar 29 09:01 mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
-rw-r--r--. 1 root root   1007505 Mar 29 09:16 mysql-connector-java-5.1.47-bin.jar
-rw-r--r--. 1 root root  17699306 Mar 29 09:54 zookeeper-3.4.6.tar.gz
[root@master opt]#
[root@master opt]# ll /opt/software/
total 662824
-rw-r--r--. 1 root root 660017902 Mar 29 09:01 mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
-rw-r--r--. 1 root root   1007505 Mar 29 09:16 mysql-connector-java-5.1.47-bin.jar
-rw-r--r--. 1 root root  17699306 Mar 29 09:54 zookeeper-3.4.6.tar.gz
[root@master opt]#

解压zookeeper压缩包

sh
tar -xzvf /opt/software/zookeeper-3.4.6.tar.gz -C /opt/
tar -xzvf /opt/software/zookeeper-3.4.6.tar.gz -C /opt/

创建软链接:

sh
ln -s /opt/zookeeper-3.4.6 zookeeper
ln -s /opt/zookeeper-3.4.6 zookeeper

配置环境变量

sh
vim /etc/profile
vim /etc/profile
sh
export ZOOKEEPER_HOME=/opt/zookeeper
export PATH=$ZOOKEEPER_HOME/bin:$PATH
export ZOOKEEPER_HOME=/opt/zookeeper
export PATH=$ZOOKEEPER_HOME/bin:$PATH

使配置生效:

sh
source /etc/profile
source /etc/profile

master节点配置

在ZooKeeper 的安装目录下创建data和logs文件夹

sh
mkdir $ZOOKEEPER_HOME/data && mkdir $ZOOKEEPER_HOME/logs
mkdir $ZOOKEEPER_HOME/data && mkdir $ZOOKEEPER_HOME/logs

在每个节点写入该节点的标识编号,每个节点编号不同,master 节点写入 1,slave1 节点写入2,slave2节点写入3,依此类推

sh
echo 1 > $ZOOKEEPER_HOME/data/myid
echo 1 > $ZOOKEEPER_HOME/data/myid

修改配置文件zoo.cfg

sh
cp $ZOOKEEPER_HOME/conf/zoo_sample.cfg $ZOOKEEPER_HOME/conf/zoo.cfg
cp $ZOOKEEPER_HOME/conf/zoo_sample.cfg $ZOOKEEPER_HOME/conf/zoo.cfg
sh
vim $ZOOKEEPER_HOME/conf/zoo.cfg
vim $ZOOKEEPER_HOME/conf/zoo.cfg

修改dataDir参数内容如下:

conf
dataDir=/opt/zookeeper/data
dataDir=/opt/zookeeper/data

在 zoo.cfg文件末尾追加以下参数配置,表示三个ZooKeeper节点的访问端口号

这里根据你的配置自行进行修改,有多少节点写多少节点,否则会无法解析导致报错

conf
server.1=master:2888:3888 
server.2=slave1:2888:3888 
server.3=slave2:2888:3888
server.1=master:2888:3888 
server.2=slave1:2888:3888 
server.3=slave2:2888:3888

修改ZooKeeper安装目录的归属用户为hadoop用户(可选)

sh
chown -R hadoop:hadoop $ZOOKEEPER_HOME
chown -R hadoop:hadoop $ZOOKEEPER_HOME

slave节点配置

从Master节点复制ZooKeeper安装目录到两个Slave节点

sh
scp -r /opt/zookeeper slave1:/opt/
scp -r /opt/zookeeper slave2:/opt/
scp -r /opt/zookeeper slave1:/opt/
scp -r /opt/zookeeper slave2:/opt/

节点上修改zookeeper目录的归属用户为hadoop用户(可选)

sh
chown -R hadoop:hadoop /opt/zookeeper
chown -R hadoop:hadoop /opt/zookeeper

在slave1节点上配置该节点的myid为2

sh
echo 2 > /opt/zookeeper/data/myid
echo 2 > /opt/zookeeper/data/myid

在slave2节点上配置该节点的myid为3

sh
echo 3 > /opt/zookeeper/data/myid
echo 3 > /opt/zookeeper/data/myid

系统环境变量修改同master节点

启动ZooKeeper

各个节点也需如下启动

sh
zkServer.sh start
zkServer.sh start
row
[root@master zookeeper]# zkServer.sh start
JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@master zookeeper]# zkServer.sh start
JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

查看Zookeeper运行状态

分别在master、slave1、slave2三个节点使用zkServer.sh status命令查看 ZooKeeper状态。

可以看到三个节点的状态分别为follower、leader、follower。

三个节点会包括一个leader和两个follower,每个节点地位均等,leader是根据ZooKeeper内部算法进行选举,每个节点的具体状态不固定。

sh
zkServer.sh status
zkServer.sh status