默认目录为/root。
下载,解压,复制2份

wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
tar -zxvf zookeeper-3.4.14.tar.gz
cp -rp zookeeper-3.4.14 zookeeper-3.4.14-2
cp -rp zookeeper-3.4.14 zookeeper-3.4.14-3

每个zookeeper下创建data文件夹,data下创建myid文件,内容分别为1,2,3

mkdir -p /root/zookeeper-3.4.14/data
mkdir -p /root/zookeeper-3.4.14-2/data
mkdir -p /root/zookeeper-3.4.14-3/data

touch /root/zookeeper-3.4.14/data/myid
touch /root/zookeeper-3.4.14-2/data/myid
touch /root/zookeeper-3.4.14-3/data/myid

echo 1 >> /root/zookeeper-3.4.14/data/myid
echo 2 >> /root/zookeeper-3.4.14-2/data/myid
echo 3 >> /root/zookeeper-3.4.14-3/data/myid

编辑3个文件,注意如果是同一机器,建议把ip替换成0.0.0.0
编辑 /root/zookeeper-3.4.14/conf/zoo.cfg,以下属性如果已存在,覆盖掉,没有的添加上

dataDir=/root/zookeeper-3.4.14/data
clientPort=2181
server.1=0.0.0.0:2881:3881
server.2=0.0.0.0:2882:3882
server.3=0.0.0.0:2883:3883

编辑 /root/zookeeper-3.4.14-2/conf/zoo.cfg

dataDir=/root/zookeeper-3.4.14-2/data
clientPort=2182
server.1=0.0.0.0:2881:3881
server.2=0.0.0.0:2882:3882
server.3=0.0.0.0:2883:3883

编辑 /root/zookeeper-3.4.14-3/conf/zoo.cfg

dataDir=/root/zookeeper-3.4.14-3/data
clientPort=2183
server.1=0.0.0.0:2881:3881
server.2=0.0.0.0:2882:3882
server.3=0.0.0.0:2883:3883

启动3个节点:

/root/zookeeper-3.4.14/bin/zkServer.sh start
/root/zookeeper-3.4.14-2/bin/zkServer.sh start
/root/zookeeper-3.4.14-3/bin/zkServer.sh start

查看节点状态:

/root/zookeeper-3.4.14/bin/zkServer.sh status
/root/zookeeper-3.4.14-2/bin/zkServer.sh start
/root/zookeeper-3.4.14-3/bin/zkServer.sh start

如图表示正确:

linux搭建zookeeper伪集群_apache


如果不放心,可以用zkCli命令连接进行测试,逐个执行:

/root/zookeeper-3.4.14-3/bin/zkCli.sh -server localhost:2181;
/root/zookeeper-3.4.14-3/bin/zkCli.sh -server localhost:2182;
/root/zookeeper-3.4.14-3/bin/zkCli.sh -server localhost:2183;

关闭节点:

/root/zookeeper-3.4.14/bin/zkServer.sh stop
/root/zookeeper-3.4.14-2/bin/zkServer.sh stop
/root/zookeeper-3.4.14-3/bin/zkServer.sh stop

如果出错别忘了看日志,默认是在zookeeper/bin目录下的zookeeper.out文件。