在Ubuntu上部署Zookeeper集群需要遵循以下步骤:
Zookeeper依赖于Java运行环境,因此首先需要安装Java。
sudo apt update
sudo apt install openjdk-8-jdk
验证Java安装:
java -version
从Apache Zookeeper官方网站下载最新版本的Zookeeper,并解压到指定目录。
wget https://downloads.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
tar -xzvf apache-zookeeper-3.7.0-bin.tar.gz -C /opt
为每个Zookeeper节点创建配置文件。假设我们有三个节点,分别为node1
, node2
, node3
。
在每个节点上创建数据目录:
sudo mkdir -p /var/lib/zookeeper/data
sudo chown -R $USER:$USER /var/lib/zookeeper
在每个节点上创建日志目录:
sudo mkdir -p /var/log/zookeeper
sudo chown -R $USER:$USER /var/log/zookeeper
复制示例配置文件并进行修改:
cp /opt/apache-zookeeper-3.7.0-bin/conf/zoo_sample.cfg /opt/apache-zookeeper-3.7.0-bin/conf/zoo.cfg
编辑zoo.cfg
文件:
nano /opt/apache-zookeeper-3.7.0-bin/conf/zoo.cfg
在zoo.cfg
文件中添加以下内容:
tickTime=2000
dataDir=/var/lib/zookeeper/data
dataLogDir=/var/log/zookeeper
clientPort=2181
initLimit=5
syncLimit=2
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
将node1
, node2
, node3
替换为实际的节点主机名或IP地址。
在每个节点的数据目录中创建myid
文件,并写入对应的服务器ID:
echo "1" | sudo tee /var/lib/zookeeper/data/myid # 在node1上
echo "2" | sudo tee /var/lib/zookeeper/data/myid # 在node2上
echo "3" | sudo tee /var/lib/zookeeper/data/myid # 在node3上
在每个节点上启动Zookeeper服务:
/opt/apache-zookeeper-3.7.0-bin/bin/zkServer.sh start
验证Zookeeper状态:
/opt/apache-zookeeper-3.7.0-bin/bin/zkServer.sh status
确保防火墙允许Zookeeper的端口(默认2181, 2888, 3888)通信。
sudo ufw allow 2181/tcp
sudo ufw allow 2888/tcp
sudo ufw allow 3888/tcp
在任意一个节点上执行以下命令,查看集群状态:
/opt/apache-zookeeper-3.7.0-bin/bin/zkServer.sh status
你应该能看到所有节点的状态都是leader
或follower
。
通过以上步骤,你就可以在Ubuntu上成功部署一个Zookeeper集群。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>