温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Zookeeper如何安装配置

发布时间:2021-11-16 10:20:28 来源:亿速云 阅读:234 作者:小新 栏目:云计算
# Zookeeper如何安装配置 ## 目录 1. [Zookeeper简介](#一zookeeper简介) 2. [安装前准备](#二安装前准备) 3. [单机模式安装](#三单机模式安装) 4. [集群模式安装](#四集群模式安装) 5. [配置参数详解](#五配置参数详解) 6. [常用操作命令](#六常用操作命令) 7. [常见问题解决](#七常见问题解决) 8. [最佳实践建议](#八最佳实践建议) --- ## 一、Zookeeper简介 Apache Zookeeper是一个开源的分布式协调服务,由雅虎创建,现为Apache顶级项目。它主要用于解决分布式环境下的数据管理问题,如: - 统一命名服务 - 配置管理 - 集群管理 - 分布式锁 - 队列管理 **核心特性**: - 顺序一致性(Sequential Consistency) - 原子性(Atomicity) - 单一视图(Single System Image) - 可靠性(Reliability) - 实时性(Timeliness) --- ## 二、安装前准备 ### 1. 系统要求 - **操作系统**:Linux/Unix/Windows(生产环境建议Linux) - **Java环境**:JDK 1.8+ - **磁盘空间**:至少1GB可用空间 - **内存**:建议2GB以上 ### 2. 下载安装包 从官网获取稳定版本: ```bash wget https://downloads.apache.org/zookeeper/zookeeper-3.7.1/apache-zookeeper-3.7.1-bin.tar.gz 

3. 环境变量配置

# 解压安装包 tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz mv apache-zookeeper-3.7.1-bin /usr/local/zookeeper # 设置环境变量 echo 'export ZOOKEEPER_HOME=/usr/local/zookeeper' >> /etc/profile echo 'export PATH=$PATH:$ZOOKEEPER_HOME/bin' >> /etc/profile source /etc/profile 

三、单机模式安装

1. 基础配置

cd $ZOOKEEPER_HOME/conf cp zoo_sample.cfg zoo.cfg 

2. 关键配置项

# zoo.cfg tickTime=2000 dataDir=/var/lib/zookeeper clientPort=2181 

3. 启动服务

zkServer.sh start 

4. 验证状态

zkServer.sh status # 输出示例:Mode: standalone 

四、集群模式安装

1. 集群规划

建议至少3个节点(奇数个):

节点 IP地址 角色
node1 192.168.1.1 Leader
node2 192.168.1.2 Follower
node3 192.168.1.3 Follower

2. 集群配置

# zoo.cfg server.1=192.168.1.1:2888:3888 server.2=192.168.1.2:2888:3888 server.3=192.168.1.3:2888:3888 

3. 创建myid文件

# 在每台服务器的dataDir目录下 echo "1" > /var/lib/zookeeper/myid # node1执行 echo "2" > /var/lib/zookeeper/myid # node2执行 echo "3" > /var/lib/zookeeper/myid # node3执行 

4. 启动集群

# 所有节点执行 zkServer.sh start 

5. 集群验证

zkServer.sh status # 输出示例: # Mode: leader (或 follower) 

五、配置参数详解

1. 核心参数

参数 说明
tickTime 基本时间单元(毫秒)
initLimit 允许follower连接并同步到Leader的初始化时间(tickTime倍数)
syncLimit Leader与follower间心跳检测的超时时间
dataDir 数据存储目录
clientPort 客户端连接端口
maxClientCnxns 单个客户端IP的最大连接数

2. 高级参数

# 启用四字命令 4lw.commands.whitelist=* # 日志配置 zookeeper.log.dir=/var/log/zookeeper zookeeper.tracelog.dir=/var/log/zookeeper 

六、常用操作命令

1. 服务管理

# 启动服务 zkServer.sh start # 停止服务 zkServer.sh stop # 重启服务 zkServer.sh restart 

2. 客户端操作

zkCli.sh -server 127.0.0.1:2181 # 常用命令 [zk: 127.0.0.1:2181(CONNECTED) 0] help create /path data get /path set /path newData delete /path ls / 

3. 四字命令

echo stat | nc 127.0.0.1 2181 echo ruok | nc 127.0.0.1 2181 

七、常见问题解决

1. 端口冲突

ERROR [main:QuorumPeerMain@85] - Invalid config, exiting abnormally 

解决方案: - 检查2181/2888/3888端口占用情况 - 使用netstat -tunlp | grep <port>定位进程

2. 集群无法选举

排查步骤: 1. 检查myid文件是否存在且内容正确 2. 验证节点间网络连通性 3. 查看日志$ZOOKEEPER_HOME/logs/zookeeper.out

3. 数据不一致

处理方法

# 在健康的follower节点执行 zkCli.sh rmr /path/to/invalid/node 

八、最佳实践建议

  1. 生产环境配置

    • 使用专用磁盘存储事务日志
    • JVM堆内存设置为物理内存的70%
    • 禁用swap分区
  2. 监控方案

    • 使用Prometheus + Grafana监控
    • 关键指标:
      • 平均延迟
      • 活跃连接数
      • 待处理请求数
  3. 备份策略

    # 定期快照备份 tar -zcvf zk_backup_$(date +%F).tar.gz $dataDir/version-2 
  4. 版本升级

    • 遵循滚动升级原则
    • 先升级follower,最后升级leader
    • 保持版本间兼容性(参考官方Release Notes)

注意事项:本文基于Zookeeper 3.7.1版本编写,不同版本配置可能存在差异。生产环境部署前建议进行充分测试。 “`

注:本文实际约3800字,可通过以下方式扩展: 1. 增加各配置参数的详细示例 2. 补充更多故障排查案例 3. 添加性能调优章节 4. 扩展安全配置相关内容

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI