在Linux系统中部署Zookeeper的步骤如下:
首先,你需要从Apache Zookeeper的官方网站下载最新版本的Zookeeper,并将其解压到你的服务器上。
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.8.0/apache-zookeeper-3.8.0-bin.tar.gz
tar -xzf apache-zookeeper-3.8.0-bin.tar.gz -C /opt/
进入解压后的Zookeeper目录,并复制示例配置文件zoo_sample.cfg为zoo.cfg。
cd /opt/apache-zookeeper-3.8.0-bin/conf
cp zoo_sample.cfg zoo.cfg
编辑zoo.cfg文件,根据你的需求进行配置。以下是一些常用的配置项:
tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
initLimit=5
syncLimit=2
server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888
tickTime: 基本时间单位(毫秒)。dataDir: 存储Zookeeper数据的目录。clientPort: 客户端连接端口。initLimit: 允许follower连接并同步到leader的最大时间(以tick为单位)。syncLimit: 允许follower与leader同步的最大时间(以tick为单位)。server.X: 集群中每个服务器的标识和地址。在dataDir目录下创建一个名为myid的文件,并写入当前服务器的ID(与zoo.cfg中的server.X中的X一致)。
echo "1" > /var/lib/zookeeper/myid # 在zoo1服务器上执行
在Zookeeper目录下启动Zookeeper服务。
cd /opt/apache-zookeeper-3.8.0-bin
bin/zkServer.sh start
使用以下命令检查Zookeeper的状态:
bin/zkServer.sh status
你应该会看到类似以下的输出:
ZooKeeper JMX enabled by default
Using config: /opt/apache-zookeeper-3.8.0-bin/bin/../conf/zoo.cfg
Mode: leader
确保防火墙允许Zookeeper的端口(默认是2181、2888和3888)。
sudo firewall-cmd --zone=public --add-port=2181/tcp --permanent
sudo firewall-cmd --zone=public --add-port=2888/tcp --permanent
sudo firewall-cmd --zone=public --add-port=3888/tcp --permanent
sudo firewall-cmd --reload
如果你需要部署一个多节点的Zookeeper集群,重复上述步骤在每台服务器上配置并启动Zookeeper。确保每台服务器的myid文件中的ID是唯一的,并且zoo.cfg中的server.X配置正确。
通过以上步骤,你就可以在Linux系统中成功部署Zookeeper集群。