在centos系统上搭建zookeeper集群需要遵循以下步骤:
1. 安装Java环境
zookeeper依赖于Java环境,因此建议安装OpenJDK 8或更高版本。
sudo yum install java-1.8.0-openjdk-devel
2. 下载并解压Zookeeper
从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/
3. 配置Zookeeper
修改配置文件
进入解压后的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
创建myid文件
在dataDir目录下为每个节点创建myid文件,文件内容为节点编号。
cd /var/lib/zookeeper vi myid
例如,节点1的myid文件内容为1。
4. 配置环境变量
编辑/etc/profile文件,添加Zookeeper的路径。
echo 'export ZOOKEEPER_HOME=/usr/local/zookeeper' >> /etc/profile echo 'export PATH=$PATH:$ZOOKEEPER_HOME/bin' >> /etc/profile source /etc/profile
5. 启动Zookeeper
在每个节点上启动Zookeeper服务。
/usr/local/zookeeper/bin/zkServer.sh start
6. 验证集群状态
使用以下命令检查集群状态:
/usr/local/zookeeper/bin/zkServer.sh status
7. 安全增强配置(建议在生产环境中使用)
- SASL身份验证:配置ZooKeeper使用SASL进行身份验证,增强安全性。
- ACL访问控制:配置访问控制列表(ACL)以限制对特定节点的访问权限。
- ssl/TLS加密:使用SSL/TLS加密客户端与服务器之间的通信。
- 限制客户端连接数:防止资源耗尽和性能下降。
- 监控与审计:实施监控和审计策略,跟踪ZooKeeper资源的访问和操作。