1、准备
zookeeper-3.4.5.tar.gz
jdk-8u141-linux-x64.tar.gz
3台机器
2、安装配置
#解压zk,和jdk到指定目录,并配置好环境变量
tar zxf zookeeper-3.4.5.tar.gz -C /usr/local/
tar zxf jdk-8u141-linux-x64.tar.gz -C /usr/local/
#创建软连接,此步骤不必须
cd /usr/local
#解压完目录是啥你们写啥,我这随便写的
ln -s zookeeper-3.4.5 zookeeper
ln -s jdk-8u141 jdk8
配置环境变量
cd /etc/profile.d/
vim zookeeper.sh
#编辑如下内容,并保存退出
export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$ZOOKEEPER_HOME/bin:$PATH
vim java.sh
#编辑如下内容,并保存退出
export JAVA_HOME=/usr/local/jdk8
export PATH=$JAVA_HOME/bin:$PATH
配置zookeeper
#创建一个zookeeper的数据目录
mkdir -pv $ZOOKEEPER_HOME/data/zkData
#在每个机器的zkData目录下创建一个myid,并写入一个id值,这个id决定了集群中的server
cd $ZOOKEEPER_HOME/data/zkData
echo "1" >> myid
echo "2" >> myid
echo "#" >> myid
#修改配置文件名
cd $ZOOKEEPER_HOME/conf
mv zoo-sample.cfg zoo.cfg
#编辑zoo.cfg,把自己的配置按照对应的变量写进去
#添加server,按照每个节点的myid的值
#2888,3888是自定义的,用来在集群中选举和同步数据用的,与默认服务端口不同
server.1=ip[|hostname]:2888:3888
server.2=ip2[|hostname2]:2888:3888
server.#=ip#[|hostname]:2888:3888
#各节点启动服务
cd $ZOOKEEPER_HOME/bin
./zkServer.sh start
#等待所有都SUCCESS后,查看状态,leader 和follower
./zkServer.sh status