在Debian上搭建Zookeeper集群需要以下几个步骤:
Zookeeper需要Java环境,首先确保你的Debian系统已经安装了Java。如果没有,请运行以下命令安装OpenJDK:
sudo apt-get update
sudo apt-get install openjdk-8-jdk
验证Java安装:
java -version
访问Zookeeper官方网站(https://zookeeper.apache.org/releases.html)下载最新版本的Zookeeper。这里以3.7.0为例。
wget https://downloads.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
tar -xzf apache-zookeeper-3.7.0-bin.tar.gz
cd apache-zookeeper-3.7.0-bin
在Zookeeper目录下创建一个名为myid的文件,用于标识当前节点。文件内容为当前节点的ID(整数),例如,如果你是集群中的第一个节点,那么文件内容应为1。
echo "1" > myid
将Zookeeper配置文件conf/zoo_sample.cfg复制为conf/zoo.cfg,并编辑zoo.cfg文件:
cp conf/zoo_sample.cfg conf/zoo.cfg
nano conf/zoo.cfg
在zoo.cfg文件中添加以下内容:
tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
initLimit=5
syncLimit=2
server.1=192.168.1.1:2888:3888
server.2=192.168.1.2:2888:3888
server.3=192.168.1.3:2888:3888
请将192.168.1.1、192.168.1.2和192.168.1.3替换为你的服务器IP地址。确保每个节点的myid文件内容与zoo.cfg中的server.X配置一致。
sudo mkdir -p /var/lib/zookeeper
sudo chown -R $USER:$USER /var/lib/zookeeper
将Zookeeper数据目录指向新创建的目录:
echo "dataDir=/var/lib/zookeeper" >> conf/zoo.cfg
在每个节点上启动Zookeeper服务:
bin/zkServer.sh start
检查Zookeeper状态:
bin/zkServer.sh status
你应该看到Mode为leader或follower。
在任意一个节点上运行以下命令,查看集群状态:
bin/zkServer.sh status
你应该看到集群中有leader和多个follower。
至此,你已经在Debian上成功搭建了一个Zookeeper集群。