在Debian上搭建Zookeeper集群需要以下步骤:
Zookeeper需要Java环境,首先确保每台服务器上都安装了Java 8。可以通过以下命令安装Java:
sudo apt-get update
sudo apt-get install openjdk-8-jdk
验证Java安装:
java -version
下载Zookeeper安装包并解压到指定目录,例如 /opt/zookeeper
。
wget https://downloads.apache.org/zookeeper/zookeeper-3.5.9/apache-zookeeper-3.5.9-bin.tar.gz
tar -zxvf apache-zookeeper-3.5.9-bin.tar.gz -C /opt/zookeeper
在每台服务器上编辑 zoo.cfg
文件,通常位于 /opt/zookeeper/conf
目录下。关键配置项包括:
dataDir
: 指定每个节点的数据存储目录,应为服务器上的唯一路径,例如 /var/lib/zookeeper/data
。clientPort
: 指定每个节点对外提供服务的客户端连接端口,通常设为 2181
。server.x
: 配置集群成员信息,其中 x
是一个唯一的整数标识符(如 1
、2
、3
)。格式为 hostname:peerport:leaderelectionport
。示例配置:
server.1=server1.example.com:2888:3888
server.2=server2.example.com:2888:3888
server.3=server3.example.com:2888:3888
在每台服务器的数据目录下创建一个名为 myid
的文件,内容仅为一个整数,对应于 zoo.cfg
文件中 server.x
配置项中的 x
。
echo "1" > /opt/zookeeper/data/myid
确保所有服务器上的相关端口(客户端端口 2181
,以及集群内部通信端口 2888
和 3888
)在防火墙中开放。
sudo ufw allow 2181/tcp
sudo ufw allow 2888/tcp
sudo ufw allow 3888/tcp
sudo ufw reload
在每台服务器上,通过以下命令启动Zookeeper服务:
cd /opt/zookeeper/bin
./zkServer.sh start
通过Zookeeper CLI连接到任意一个节点,检查集群状态。
./zkCli.sh -server server1.example.com:2181
在CLI中执行 stat
命令,观察输出信息中的 mode
字段,确认是否有节点处于 leader
状态,其余节点应为 follower
状态。
如果需要初始化集群,可以在任意一个节点上执行以下命令:
./zkServer.sh start -c
这将启动Zookeeper集群并初始化。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:Hadoop集群如何在Debian搭建