1. 解压
tar -xf ./zookeeper-3.4.12.tar.gz -C /opt/bigdata/
2. 配置data、log、out路径和server
cd ~/zookeeper-3.4.12/conf
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
# 修改
dataDir=/home/zkpk/zookeeper-3.4.12/data
# 添加
dataLogDir=/home/zkpk/zookeeper-3.4.12/logs
# 在最后添加
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
问题
zkServer.sh 中 Line 141,142 的作用是 启动zookeeper
141 nohup "$JAVA" "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}" \
142 -cp "$CLASSPATH" $JVMFLAGS $ZOOMAIN "$ZOOCFG" > "$_ZOO_DAEMON_OUT" 2>&1 < /dev/null
3. 创建目录
mkdir data
mkdir logs
vim data/myid # 写入 1
4. 复制zookeeper到其他节点
scp -r ~/zookeeper-3.4.12/ zkpk@slave1:~/
scp -r ~/zookeeper-3.4.12/ zkpk@slave2:~/
# slave1中的myid改为2,slave2中的myid改为3
vi ~/zookeeper-3.4.12/data/myid
5. 配置环境变量
vi ~/.bash_profile
export ZOOKEEPER_HOME=/home/zkpk/zookeeper-3.4.6
export PATH=$PATH:$ZOOKEEPER_HOME/bin
source ~/.bash_profile
6. 逐个启动验证
zkServer.sh start
zkServer.sh status
所有节点的系统时间要同步
# root用户
date -s "yyyyMMdd HH:mm:ss"
clock -w