以下是在Ubuntu上配置Zookeeper的核心步骤(以单机为例,集群配置需额外步骤):
Zookeeper依赖Java,需先安装OpenJDK:
sudo apt update
sudo apt install openjdk-8-jdk # 推荐JDK 8
java -version # 验证安装
从官网下载二进制包并解压到指定目录(如/opt
):
wget https://downloads.apache.org/zookeeper/zookeeper-3.7.1/apache-zookeeper-3.7.1-bin.tar.gz
tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz -C /opt
cd /opt/apache-zookeeper-3.7.1-bin/conf
cp zoo_sample.cfg zoo.cfg
zoo.cfg
):dataDir=/var/lib/zookeeper # 数据存储目录(需提前创建)
clientPort=2181 # 客户端端口
tickTime=2000 # 心跳间隔(毫秒)
initLimit=5 # Leader选举超时时间
syncLimit=2 # 同步超时时间
# 若为集群,需配置server.X(X为节点ID,格式:主机:端口1:端口2)
# server.1=node1:2888:3888
sudo mkdir -p /var/lib/zookeeper
sudo chown -R $USER:$USER /var/lib/zookeeper # 赋予权限
dataDir
目录下创建myid
文件,写入当前节点ID(单机填1
,集群需按配置填写唯一ID):echo "1" > /var/lib/zookeeper/myid
cd /opt/apache-zookeeper-3.7.1-bin/bin
./zkServer.sh start
./zkServer.sh status # 查看是否为Leader/Follower
将Zookeeper路径添加到~/.bashrc
,方便全局调用:
echo 'export ZOOKEEPER_HOME=/opt/apache-zookeeper-3.7.1-bin' >> ~/.bashrc
echo 'export PATH=$PATH:$ZOOKEEPER_HOME/bin' >> ~/.bashrc
source ~/.bashrc
若需搭建集群,需:
zoo.cfg
中的server.X
配置(X
为节点ID,需与myid
一致)。2181
(客户端)、2888
(Leader选举)、3888
(数据同步)端口。