在 Linux 系统上安装 ZooKeeper 确实有一些基本条件和注意事项。以下是详细的说明:
bash
java -versionbash
sudo apt update && sudo apt install openjdk-11-jdkdataLogDir)和快照(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 -DskipTestsconf/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:3888root):
bash
sudo useradd zookeeper -m
sudo chown -R zookeeper:zookeeper /opt/zookeeper # 假设安装目录为 /opt/zookeeper2181(客户端)、2888(节点间通信)、3888(选举端口):
bash
sudo firewall-cmd --permanent --add-port={2181,2888,3888}/tcp
sudo firewall-cmd --reloadbash
bin/zkServer.sh startbash
bin/zkServer.sh statusbash
bin/zkCli.sh -server 127.0.0.1:2181conf/zookeeper-env.sh 中明确指定 JAVA_HOME。dataDir 和 dataLogDir 所在分区有足够空间。按照以上步骤操作,即可在 Linux 上顺利安装和运行 ZooKeeper。如果是生产环境,建议进一步配置日志轮转(如 Log4j)和系统服务(通过 systemd 管理)。