插件窝 干货文章 linux安装zookeeper后如何配置

linux安装zookeeper后如何配置

ZooKeeper 配置 文件 properties 446    来源:    2025-05-13

Linux 下 ZooKeeper 安装后配置指南

基本配置步骤

1. 配置文件位置

ZooKeeper 的主要配置文件位于 conf/zoo.cfg(默认情况下)。如果没有该文件,可以从模板复制:

cp conf/zoo_sample.cfg conf/zoo.cfg

2. 基本配置参数

编辑 conf/zoo.cfg 文件,设置以下基本参数:

# 心跳间隔时间(毫秒)
tickTime=2000

# 初始化同步阶段最多等待的心跳数
initLimit=10

# 发送请求和接收响应最多等待的心跳数
syncLimit=5

# 数据目录,需要预先创建
dataDir=/var/lib/zookeeper

# 客户端连接端口
clientPort=2181

# 内存中保留的快照数量
autopurge.snapRetainCount=3

# 清理间隔(小时)
autopurge.purgeInterval=1

3. 创建数据目录

确保配置文件中指定的数据目录存在并有适当权限:

sudo mkdir -p /var/lib/zookeeper
sudo chown -R zookeeper:zookeeper /var/lib/zookeeper

集群配置(可选)

如果是集群部署,需要在 zoo.cfg 中添加服务器列表:

server.1=192.168.1.101:2888:3888
server.2=192.168.1.102:2888:3888
server.3=192.168.1.103:2888:3888

然后在每个节点的数据目录下创建 myid 文件,内容为对应的服务器ID:

# 在服务器1上
echo "1" > /var/lib/zookeeper/myid

# 在服务器2上
echo "2" > /var/lib/zookeeper/myid

# 在服务器3上
echo "3" > /var/lib/zookeeper/myid

高级配置选项

1. 日志配置

可以配置日志目录和日志级别:

# 日志目录
dataLogDir=/var/log/zookeeper

# 在log4j.properties中配置日志级别

2. 性能调优参数

# 最大客户端连接数
maxClientCnxns=60

# 单个节点可以处理的最大请求数
globalOutstandingLimit=1000

# 预分配大小(字节)
preAllocSize=65536

# 快照文件大小阈值(字节)
snapCount=100000

3. 安全配置(可选)

# 启用认证
authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
requireClientAuthScheme=sasl

# 启用SSL
secureClientPort=2182
serverCnxnFactory=org.apache.zookeeper.server.NettyServerCnxnFactory
ssl.keyStore.location=/path/to/keystore.jks
ssl.keyStore.password=keystore_password
ssl.trustStore.location=/path/to/truststore.jks
ssl.trustStore.password=truststore_password

启动与验证

1. 启动 ZooKeeper

bin/zkServer.sh start

2. 验证服务状态

bin/zkServer.sh status

3. 使用客户端连接测试

bin/zkCli.sh -server 127.0.0.1:2181

系统服务配置(可选)

如果需要将 ZooKeeper 配置为系统服务:

  1. 创建 systemd 服务文件 /etc/systemd/system/zookeeper.service
[Unit]
Description=ZooKeeper Service
After=network.target

[Service]
Type=forking
User=zookeeper
Group=zookeeper
ExecStart=/path/to/zookeeper/bin/zkServer.sh start
ExecStop=/path/to/zookeeper/bin/zkServer.sh stop
ExecReload=/path/to/zookeeper/bin/zkServer.sh restart
Restart=on-abnormal

[Install]
WantedBy=multi-user.target
  1. 启用并启动服务:
sudo systemctl daemon-reload
sudo systemctl enable zookeeper
sudo systemctl start zookeeper

完成以上配置后,ZooKeeper 应该可以正常运行了。根据实际需求,您可能需要调整内存设置、安全配置或其他性能参数。