在CentOS上搭建Zookeeper集群需要遵循以下步骤:
Zookeeper需要Java环境才能运行,推荐安装OpenJDK 8或更高版本。
sudo yum install java-1.8.0-openjdk-devel
从Apache ZooKeeper官网下载所需版本,例如zookeeper-3.4.14,并解压到指定目录。
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
tar -zxvf zookeeper-3.4.14.tar.gz -C /usr/local/
进入解压后的Zookeeper目录,复制并修改zoo_sample.cfg
为zoo.cfg
。关键配置项包括dataDir
(数据目录)、clientPort
(客户端连接端口)等。
cd /usr/local/zookeeper
cp conf/zoo_sample.cfg conf/zoo.cfg
vi conf/zoo.cfg
示例配置:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/var/lib/zookeeper
clientPort=2181
server.1 192.168.0.107:2888:3888
server.2 192.168.0.108:2888:3888
server.3 192.168.0.109:2888:3888
在dataDir
目录下为每个节点创建myid
文件,文件内容为节点编号。
cd /var/lib/zookeeper
vi myid
例如,节点1的myid
文件内容为1
。
编辑/etc/profile
文件,添加Zookeeper的路径。
echo 'export ZOOKEEPER_HOME=/usr/local/zookeeper' >> /etc/profile
echo 'export PATH=$PATH:$ZOOKEEPER_HOME/bin' >> /etc/profile
source /etc/profile
在每个节点上启动Zookeeper服务。
/usr/local/zookeeper/bin/zkServer.sh start
使用以下命令检查集群状态:
/usr/local/zookeeper/bin/zkServer.sh status
zookeeper.out
),查找错误信息或异常堆栈。ping
或telnet
命令测试节点间的网络连通性。zoo.cfg
文件,确保所有参数设置正确。stat
、ruok
、mntr
等)监控集群状态。