伪分布搭建zookeeper
一. 环境变量的配置
1.上传安装包
使用XFTP或者使用scp将安装包apache-zookeeper-3.6.3-bin.tar.gz上传到/root/softwares下
2. 解压安装
tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz -C /usr/local
3. 更名
cd /usr/local/
mv apache-zookeeper-3.6.3-bin zookeeper-3.6.3
4. 配置环境变量
vim /etc/profile
export ZOOKEEPER_HOME=/usr/local/zookeeper-3.6.3
export PATH=$PATH:$ZOOKEEPER_HOME/bin
5. 使环境变量生效
source /etc/profile
二. 集群模式的配置
1. 修改zoo.cfg文件
cd $ZOOKEEPER_HOME/conf/
# 复制出zoo.cfg文件
#copy三方zk的配置文件:
cp zoo_sample.cfg zoo1.cfg
cp zoo_sample.cfg zoo2.cfg
cp zoo_sample.cfg zoo3.cfg
#创建文件dataDir,dataLogDir
cd $ZOOKEEPER_HOME
mkdir {dataDir1,dataLogDir1}
mkdir {dataDir2,dataLogDir2}
mkdir {dataDir3,dataLogDir3}
#配置zoo1.cfg的文件内容
vim zoo1.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper-3.6.3/dataDir1
dataLogDir=/usr/local/zookeeper-3.6.3/dataLogDir1
clientPort=2181
server.1=hh:2287:3387
server.2=hh:2288:3388
server.3=hh:2289:3389
配置zoo2.cfg的文件内容
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper-3.6.3/dataDir2
dataLogDir=/usr/local/zookeeper-3.6.3/dataLogDir2
clientPort=2182
server.1=hh:2287:3387
server.2=hh:2288:3388
server.3=hh:2289:3389
配置zoo3.cfg的文件内容
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper-3.6.3/dataDir3
dataLogDir=/usr/local/zookeeper-3.6.3/dataLogDir3
clientPort=2183
server.1=hh:2287:3387
server.2=hh:2288:3388
server.3=hh:2289:3389
# 解析 Server.id=ip:port1:port2
# id: 服务器的id号,对应zkData/myid文件内的数字
# ip: 服务器的ip地址
# port1: follower与leader交互的port
# port2: 选举期间使用的port
# 注意:此配置文件中,不支持汉字注释
2. 创建myid
# 在$ZOOKEEPER_HOME/zkData/目录下添加myid文件,内容为server的id号
cd $ZOOKEEPER_HOME/dataDir1
echo "1" > myid
cd $ZOOKEEPER_HOME/dataDir2
echo "2" > myid
cd $ZOOKEEPER_HOME/dataDir3
echo "3" > myid
3. 启动服务
在每一个节点启动zkServer的服务
# 启动,分别使用不同的配置文件启动zk服务(在zk的home根目录)
zkServer.sh start conf/zoo1.cfg
zkServer.sh start conf/zoo2.cfg
zkServer.sh start conf/zoo3.cfg
# 查看状态,分别使用不同的配置文件查看zk服务(在zk的home根目录)
zkServer.sh status conf/zoo1.cfg
zkServer.sh status conf/zoo2.cfg
zkServer.sh status conf/zoo3.cfg
# 停止状态,分别使用不同的配置文件停止zk服务(在zk的home根目录)
zkServer.sh status conf/zoo1.cfg
zkServer.sh status conf/zoo2.cfg
zkServer.sh status conf/zoo3.cfg