Zookeeper Install
| Software | Version | Download |
|---|---|---|
| Zookeeper | 3.4.6 | https://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 zookeeperln -s /opt/zookeeper-3.4.6 zookeeper配置环境变量
sh
vim /etc/profilevim /etc/profilesh
export ZOOKEEPER_HOME=/opt/zookeeper
export PATH=$ZOOKEEPER_HOME/bin:$PATHexport ZOOKEEPER_HOME=/opt/zookeeper
export PATH=$ZOOKEEPER_HOME/bin:$PATH使配置生效:
sh
source /etc/profilesource /etc/profilemaster节点配置
在ZooKeeper 的安装目录下创建data和logs文件夹
sh
mkdir $ZOOKEEPER_HOME/data && mkdir $ZOOKEEPER_HOME/logsmkdir $ZOOKEEPER_HOME/data && mkdir $ZOOKEEPER_HOME/logs在每个节点写入该节点的标识编号,每个节点编号不同,master 节点写入 1,slave1 节点写入2,slave2节点写入3,依此类推
sh
echo 1 > $ZOOKEEPER_HOME/data/myidecho 1 > $ZOOKEEPER_HOME/data/myid修改配置文件zoo.cfg
sh
cp $ZOOKEEPER_HOME/conf/zoo_sample.cfg $ZOOKEEPER_HOME/conf/zoo.cfgcp $ZOOKEEPER_HOME/conf/zoo_sample.cfg $ZOOKEEPER_HOME/conf/zoo.cfgsh
vim $ZOOKEEPER_HOME/conf/zoo.cfgvim $ZOOKEEPER_HOME/conf/zoo.cfg修改dataDir参数内容如下:
conf
dataDir=/opt/zookeeper/datadataDir=/opt/zookeeper/data在 zoo.cfg文件末尾追加以下参数配置,表示三个ZooKeeper节点的访问端口号
这里根据你的配置自行进行修改,有多少节点写多少节点,否则会无法解析导致报错
conf
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888修改ZooKeeper安装目录的归属用户为hadoop用户(可选)
sh
chown -R hadoop:hadoop $ZOOKEEPER_HOMEchown -R hadoop:hadoop $ZOOKEEPER_HOMEslave节点配置
从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/zookeeperchown -R hadoop:hadoop /opt/zookeeper在slave1节点上配置该节点的myid为2
sh
echo 2 > /opt/zookeeper/data/myidecho 2 > /opt/zookeeper/data/myid在slave2节点上配置该节点的myid为3
sh
echo 3 > /opt/zookeeper/data/myidecho 3 > /opt/zookeeper/data/myid系统环境变量修改同master节点
启动ZooKeeper
各个节点也需如下启动
sh
zkServer.sh startzkServer.sh startrow
[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 statuszkServer.sh status