1.下载zookeeper并上传
https://zookeeper.apache.org/releases.html
2.解压zookeeper
sudo chmod 777 apache-zookeeper-3.6.1-bin.tar.gz;
sudo tar -zxvf apache-zookeeper-3.6.1-bin.tar.gz -C /home/hdfs/software
3.修改zoo.cfg
<!--先复制一份并命名为zoo.cfg-->
sudo cp zoo_sample.cfg zoo.cfg
<!--然后修改zoo.cfg-->
sudo vi zoo.cfg
<!--加入指定myid的文件dataDir-->
dataDir=/home/hdfs/software/zookeeper/zkData
<!--在文件最后加入ip信息-->
server.1=192.168.157.132:2888:3888
server.2=192.168.157.133:2888:3888
server.3=192.168.157.134:2888:3888
最后出去建立/home/hdfs/software/zookeeper/zkDat
sudo mkdir zkData
4.myid
cd /home/hdfs/software/zookeeper/zkData
sudo vi myid
每一个节点输入如server.2的2
以节点192.168.157.132为例:
1
5.修改zkEnv.sh
添加JAVA_HOME,添加 ZOO_LOG_DIR
##添加JAVA_HOME 底行模式:/JAVA_HOME 查找
##
JAVA_HOME="/opt/jdk"
##
##添加 ZOO_LOG_DIR 底行模式:/ZOO_LOG_DIR 查找
if [ "x${ZOO_LOG_DIR}" = "x" ]
then
ZOO_LOG_DIR="/home/hdfs/software/zookeeper/logs"
fi
建立logs文件
cd /home/hdfs/software/zookeeper
sudo mkdir logs
6.启动/启停
先cd到bin目录
./zkServer.sh start
./zkServer.sh stop
如果对这下面两个文件权限不够,执行下面命令
sudo chown -R hdfs:root /home/hdfs/software/zookeeper/logs
sudo chown -R hdfs:root /home/hdfs/software/zookeeper/zkData
7.一键启动
启动脚本
sudo vi /home/hdfs/startAllZk.sh
#!/bin/bash
for host in '192.168.157.132' '192.168.157.133' '192.168.157.134'
do
echo "${host}:$1ing....."
ssh $host "source /etc/profile;/usr/local/zookeeper/bin/zkServer.sh $1"
done
sleep 2
for host in '192.168.157.132' '192.168.157.133' '192.168.157.134'
do
ssh $host "source /etc/profile;/usr/local/zookeeper/bin/zkServer.sh status"
done
启动命令
sh startAllZk.sh start
sh startAllZk.sh stop