centos

Zookeeper在CentOS上如何安装

小樊
41
2025-06-28 20:18:53
栏目: 智能运维

在CentOS上安装Zookeeper的步骤如下:

1. 安装Java环境

Zookeeper需要Java运行环境(JRE)或Java开发工具包(JDK)才能运行。建议在CentOS上安装OpenJDK 8或更高版本。

sudo yum install java-1.8.0-openjdk-devel -y
java -version

2. 下载并解压Zookeeper

从Apache Zookeeper的官方网站下载所需版本的Zookeeper压缩包,然后解压到指定目录。例如,下载zookeeper-3.7.0版本:

wget https://downloads.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz
sudo mv apache-zookeeper-3.7.0-bin /opt/zookeeper

3. 配置Zookeeper

进入解压后的Zookeeper目录,复制并修改zoo_sample.cfg配置文件为zoo.cfg。主要需要修改的配置项包括dataDir(数据目录)、clientPort(客户端连接端口)等。

cd /opt/zookeeper/conf
cp zoo_sample.cfg zoo.cfg
vi zoo.cfg

配置示例:

tickTime=2000
dataDir=/usr/local/zookeeper/data
clientPort=2181
initLimit=5
syncLimit=2
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:3888:4888
server.3=127.0.0.1:4888:5888

4. 创建数据和日志目录

sudo mkdir -p /usr/local/zookeeper/data
sudo mkdir -p /usr/local/zookeeper/log
sudo chown -R zookeeper:zookeeper /usr/local/zookeeper
sudo chmod -R 755 /usr/local/zookeeper

5. 创建myid文件

在每个节点的data目录下创建一个名为myid的文件,文件内容为本机的唯一标识(通常是1)。

echo "1" > /usr/local/zookeeper/data/myid

6. 设置开机启动

创建并编辑zookeeper.service文件:

sudo vi /etc/systemd/system/zookeeper.service

添加以下内容:

[Unit]
Description=Apache Zookeeper
After=network.target

[Service]
Type=forking
User=root
Group=root
PIDFile=/usr/local/zookeeper/data/zookeeper.pid
ExecStart=/usr/local/zookeeper/bin/zkServer.sh start
ExecStop=/usr/local/zookeeper/bin/zkServer.sh stop
PrivateTmp=true
Environment=JAVA_HOME=/usr/lib/jvm/java-8-openjdk
Restart=always

[Install]
WantedBy=multi-user.target

设置开机自启:

sudo systemctl daemon-reload
sudo systemctl enable zookeeper
sudo systemctl start zookeeper

7. 验证安装

启动成功后,可以使用以下命令检查Zookeeper的状态:

/usr/local/zookeeper/bin/zkServer.sh status

8. 配置防火墙(可选)

确保防火墙允许Zookeeper使用的端口(默认是2181)通信。

sudo firewall-cmd --zone=public --add-port=2181/tcp --permanent
sudo firewall-cmd --reload

以上步骤应该能够在CentOS系统上成功安装并运行Zookeeper。如果在安装过程中遇到问题,建议查阅Zookeeper的官方文档或寻求社区的帮助。

0
看了该问题的人还看了