在 Linux 系统上安装 ZooKeeper 确实有一些基本条件和注意事项。以下是详细的说明:
bash
java -version
bash
sudo apt update && sudo apt install openjdk-11-jdk
dataLogDir
)和快照(dataDir
)。bash
sudo timedatectl set-ntp true # 启用 NTP
/etc/hosts
或 DNS 能正确解析所有节点的主机名(集群部署时必需)。apache-zookeeper-3.8.0-bin.tar.gz
)。bash
tar -zxvf apache-zookeeper-3.8.0.tar.gz
cd apache-zookeeper-3.8.0
mvn clean install -DskipTests
conf/zoo_sample.cfg
为 conf/zoo.cfg
,并修改关键参数:
ini
tickTime=2000
dataDir=/var/lib/zookeeper # 数据目录(需提前创建并赋权)
clientPort=2181
# 集群配置示例(可选)
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
root
):
bash
sudo useradd zookeeper -m
sudo chown -R zookeeper:zookeeper /opt/zookeeper # 假设安装目录为 /opt/zookeeper
2181
(客户端)、2888
(节点间通信)、3888
(选举端口):
bash
sudo firewall-cmd --permanent --add-port={2181,2888,3888}/tcp
sudo firewall-cmd --reload
bash
bin/zkServer.sh start
bash
bin/zkServer.sh status
bash
bin/zkCli.sh -server 127.0.0.1:2181
conf/zookeeper-env.sh
中明确指定 JAVA_HOME
。dataDir
和 dataLogDir
所在分区有足够空间。按照以上步骤操作,即可在 Linux 上顺利安装和运行 ZooKeeper。如果是生产环境,建议进一步配置日志轮转(如 Log4j)和系统服务(通过 systemd
管理)。