官网下载zookeeper安装包:
https://www.apache.org/dyn/closer.lua/zookeeper/
单机版
复制安装包到目标服务器上,解压
cd /data
mkdir zookeeper
cd zookeeper
# 上传apache-zookeeper-3.x.x-bin.tar.gz
rz -e
修改配置文件,修改或新增下面内容即可
cd apache-zookeeper-3.x.x-bin
cp conf/zoo_sample.cfg conf/zoo.cfg
vi conf/zoo.cfg
dataDir=/data/zookeeper/data
dataLogDir=/data/zookeeper/logs
clientPort=2181
尝试启动
cd /data/zookeeper/apache-zookeeper-3.x.x-bin/bin
# 启动
./zkServer.sh start
# 查看启动状态
./zkServer.sh status
集群版
复制安装包到目标服务器上,解压
cd /data
mkdir zookeeper
cd zookeeper
# 上传apache-zookeeper-3.x.x-bin.tar.gz
rz -e
# 复制出三个一样的内容
cp -r apache-zookeeper-3.x.x-bin zookeeper1
cp -r apache-zookeeper-3.x.x-bin zookeeper2
cp -r apache-zookeeper-3.x.x-bin zookeeper3
修改三个zookeeperx节点的配置文件(要保证配置端口未被占用
netstat -anp|grep [port]
)
cd zookeeper1
cp conf/zoo_sample.cfg conf/zoo.cfg
vi conf/zoo.cfg
cd zookeeper2
cp conf/zoo_sample.cfg conf/zoo.cfg
vi conf/zoo.cfg
cd zookeeper3
cp conf/zoo_sample.cfg conf/zoo.cfg
vi conf/zoo.cfg
配置格式
server.<positive id> = <address1>:<port1>:<port2>[:role];[<client port address>:]<client port>
,要注意中间有个;
,可以看成是[Server Address Information];[Client Address Information]
# zookeeper1
dataDir=/data/zookeeper/data/server1
dataLogDir=/data/zookeeper/logs/server1
server.1=[Your IP1]:2881:3881:participant;[Your IP1]:2181
server.2=[Your IP2]:2882:3882:participant;[Your IP2]:2182
server.3=[Your IP3]:2883:3883:participant;[Your IP3]:2183
# zookeeper2
dataDir=/data/zookeeper/data/server2
dataLogDir=/data/zookeeper/logs/server2
server.1=[Your IP1]:2881:3881:participant;[Your IP1]:2181
server.2=[Your IP2]:2882:3882:participant;[Your IP2]:2182
server.3=[Your IP3]:2883:3883:participant;[Your IP3]:2183
# zookeeper3
dataDir=/data/zookeeper/data/server3
dataLogDir=/data/zookeeper/logs/server3
server.1=[Your IP1]:2881:3881:participant;[Your IP1]:2181
server.2=[Your IP2]:2882:3882:participant;[Your IP2]:2182
server.3=[Your IP3]:2883:3883:participant;[Your IP3]:2183
设置每个节点的ID(很重要的一步)
# 这个1,2,3分别取自配置文件中server.1/server.2/server.3中的server.后的内容
echo "1" > /data/zookeeper/data/server1/myid
echo "2" > /data/zookeeper/data/server2/myid
echo "3" > /data/zookeeper/data/server3/myid
尝试启动
cd /data/zookeeper
# 启动
./zookeeper1/bin/zkServer.sh start
./zookeeper2/bin/zkServer.sh start
./zookeeper3/bin/zkServer.sh start
# 查看启动状态
./zookeeper1/bin/zkServer.sh status
./zookeeper2/bin/zkServer.sh status
./zookeeper3/bin/zkServer.sh status