zookeeper-3.4.10的安装配置


下面是关于zookeeper-3.4.10的安装和配置的详细指南:

  1. 环境准备

    我使用了4台虚拟机,主机名分别为hadoop01、hadoop02、hadoop03和hadoop04。要准备好虚拟机集群,可以参考以下文章:在Windows中安装一台Linux虚拟机,以及通过已有的虚拟机克隆四台虚拟机。zookeeper安装包的下载地址为:https://www./link/371783b1f48b7a4bf47375ec0e7e3aac。

  2. 角色说明

    • hadoop01:可以是leader或follower
    • hadoop02:可以是leader或follower
    • hadoop03:可以是leader或follower
    • hadoop04:observer

    leader:可以接受所有读写请求,并处理所有读写请求。集群中的所有写数据请求由leader处理。

    follower:可以接受所有读写请求,但只处理读数据请求,写数据请求则转发给leader。

    observer:与follower唯一的区别是没有选举权和被选举权。

    由于hadoop01、hadoop02和hadoop03具有选举权,它们的角色会根据情况变化。如果leader宕机,会重新选举新的leader。hadoop04作为observer,没有选举和被选举权,只负责处理请求。

    注意:zookeeper集群中可以参与选举的节点数量应为奇数,因为zookeeper使用半数机制进行选举,即超过半数的节点投票给某个节点,该节点成为新的leader。

  3. 步骤

    (1) 上传到服务器并解压

    tar -zxvf zookeeper-3.4.10.tar.gz

    (2) 配置环境变量,添加ZOOKEEPER_HOME

    vim ~/.bash_profile
    # 添加以下内容
    export ZOOKEEPER_HOME=/home/hadoop/apps/zookeeper-3.4.10
    export PATH=$PATH:$ZOOKEEPER_HOME/bin
    # 别忘了source
    source ~/.bash_profile

    (3) 配置zoo.cfg文件

    进入ZOOKEEPER_HOME/conf目录,复制zoo_sample.cfg文件为zoo.cfg:

    cp zoo_sample.cfg zoo.cfg

    编辑zoo.cfg文件,如下:

    vim zoo.cfg
    # 集群各节点的心跳时间间隔,保持默认即可(2s)
    tickTime=2000
    # 此配置表示,允许follower连接并同步到leader的初始化连接时间
    # 它以tickTime的倍数来表示
    # 当超过设置倍数的tickTime时间,则连接失败
    # 保持默认即可(10次心跳的时间,即20s)
    initLimit=10
    # follower与leader通信,从发送请求到接收到响应的等待时间的最大值,保持默认即可,即10s
    # 如果10s内没有收到响应,本次请求就失败
    syncLimit=5
    # zookeeper的数据存放的位置,默认是/tmp/zookeeper,一定要改,因为tmp目录会不定时清空
    dataDir=/home/hadoop/zkdata
    # 客户端连接的端口号,保持默认即可
    clientPort=2181
    # 以下内容手动添加
    # server.id=主机名:心跳端口:选举端口
    # 注意:这里给每个节点定义了id,这些id写到配置文件中
    # id为1-255之间的任意的不重复的数字,一定要记得每个节点的id的对应关系
    server.1=hadoop01:2888:3888
    server.2=hadoop02:2888:3888
    server.3=hadoop03:2888:3888
    server.4=hadoop04:2888:3888:observer

    (4) 同步配置

    我是在hadoop01节点中进行解压配置的,所以将配置文件分发给其他3个节点:

    scp -r /home/hadoop/apps/zookeeper-3.4.10 hadoop02:/home/hadoop/apps/
    scp -r /home/hadoop/apps/zookeeper-3.4.10 hadoop03:/home/hadoop/apps/
    scp -r /home/hadoop/apps/zookeeper-3.4.10 hadoop04:/home/hadoop/apps/

    给其他节点配置ZOOKEEPER_HOME环境变量。

    (5) 在配置的dataDir目录下新建myid文件,并写入id

    我配置的dataDir=/home/hadoop/zkdata,所以:

    mkdir -p /home/hadoop/zkdata
    cd /home/hadoop/zkdata
    # echo 命令会先创建文件再写入
    echo 1 > myid

    注意:我配置的集群id信息为:

    • server.1=hadoop01:2888:3888
    • server.2=hadoop02:2888:3888
    • server.3=hadoop03:2888:3888
    • server.4=hadoop04:2888:3888:observer

    因此,在hadoop01的dataDir下的myid文件中的id就是1,hadoop02的dataDir下的myid文件中的id就是2,以此类推,一定要与配置文件中的配置相对应!

    (6) 启动集群并验证

    启动集群(每个节点都要启动):

    zkServer.sh start

    查看每个节点的状态:

    zkServer.sh status

    hadoop01、hadoop02、hadoop03的角色一定是leader或者follower,hadoop04一定是observer。

    zookeeper集群安装配置成功。

    至此,zookeeper集群安装配置成功!

  4. 说明

    给节点配置的id为1-255之间的一个数字,那么当zookeeper集群的数量超过255怎么办?

    答:zookeeper集群的性能会随着节点数的增多达到峰值,再增加节点数量,性能会急剧下降,通常来说,超过20多台节点后性能就会下降,所以,即使可以一直给节点编号,也不建议在zookeeper集群中配置太多的节点。


# linux  # windows  # apache  # app  # 虚拟机  # 端口  # 环境变量  # 解压  # win  # 配置文件  # 区别  # hadoop  # zookeeper  # http  # 被选举权  # 就会  # 也不  # 是在  # 太多  # 都要  # 下载地址  # 一台  # 以此类推 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 网络优化76771 】 【 技术知识130152 】 【 IDC云计算60162 】 【 营销推广131313 】 【 AI优化88182 】 【 百度推广37138 】 【 网站推荐60173 】 【 精选阅读31334


相关推荐: Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解  windows系统如何安装cab更新补丁_windows手动安装更新包教程  Win11任务栏天气怎么关闭 Win11隐藏天气小组件图标【设置】  Win11怎么设置屏保时间_调整Win11屏幕保护等待时间【详解】  PHP主流架构如何做单元测试_工具与流程【详解】  Win11怎么更改文件夹图标_自定义Win11文件夹外观样式【详解】  Windows11如何设置专注助手_Windows11专注助手使用攻略【技巧】  Python装饰器设计思路_功能增强机制说明【指导】  MAC怎么使用表情符号面板_MAC Emoji快捷键调用与符号查找【方法】  Win11怎样安装剪映专业版_Win11安装剪映教程【步骤】  Win10怎么卸载迅雷_Win10彻底卸载迅雷方法【步骤】  如何在Golang中使用log包输出不同级别日志_Golang log日志管理与分类  Windows资源管理器总是卡顿或重启怎么办?(修复方法)  Win11怎么关闭自动修复_跳过Win11开机自动修复循环【技巧】  如何使用Golang实现容器自动化运维_Golang Docker运维管理方法  php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】  Python高性能计算项目教程_NumPyCythonGPU并行加速  Win11讲述人怎么关闭_Win11误触开启语音朗读关闭【快捷键】  如何使用Golang实现RPC序列化与反序列化_Golang RPC数据编码与解码方法  Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)  Win10如何卸载WindowsDefender_Win10卸载Defender教程【方法】  短链接怎么用php还原_从基础原理到代码实现教学【详解】  Win11怎么设置默认PDF阅读器 Win11修改PDF打开方式【步骤】  mac怎么安装字体_MAC添加第三方字体与字体册管理【教程】  Win10系统怎么查看端口状态_Windows10 CMD查看网络连接  php订单日志怎么记录评价_php记录订单评价日志方法【方法】  Mac如何与安卓手机传文件_Mac和Android设备互通【必备工具】  如何使用正则表达式批量替换重复的 *- 模式为固定字符串  如何快速验证Golang安装是否成功_运行go version和hello world示例  Win11怎么关闭粘滞键_彻底禁用Windows 11连按Shift粘滞键【步骤】  Win11怎么更改任务栏位置_修改注册表将Win11任务栏置顶【教程】  PythonDocker高级项目部署教程_多容器管理与CI/CD流水线  PHP接收参数长度超限怎么办_修改postmaxsize设置教程【解答】  如何使用正则表达式提取以编号开头、后跟多个注解的完整代码块  Win11开机Logo怎么换_Win11自定义启动画面工具【高级】  如何使用Golang实现多重错误处理_Golangerror组合与判断方法  使用类变量定义字符串常量时如何实现类型安全的 Literal 注解  Win11相机打不开提示错误怎么修_相机权限开启与驱动修复【影像修复】  如何在 Go 中正确反序列化 XML 多节点数组(解决仅解析首个元素的问题)  Python 中将 ISO 8601 时间戳转换为日期并计算日期差值的完整教程  Win11怎么调整屏幕亮度_Windows 11调节显示器亮度护眼设置【步骤】  Win11怎么设置闹钟_Windows 11时钟应用闹钟设置指南【详解】  Mac如何查看电池健康百分比_Mac系统信息电源检测  php485支持哪些操作系统_php485跨系统支持情况介绍【解答】  XSLT怎么生成动态的HTML属性名和标签名  LINUX如何删除用户和用户组_Linux userdel和groupdel命令用法【系统管理】  Windows10如何更改鼠标灵敏度_Win10鼠标属性指针选项调节  Go 中 := 短变量声明的类型推导机制详解  Python异步网络编程_aiohttp说明【指导】  Windows笔记本无法进入睡眠模式怎么办?(电源疑难解答) 

 2025-09-19

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

致胜网络推广营销网


致胜网络推广营销网

致胜网络推广营销网专注海外推广十年,是谷歌推广.Facebook广告全球合作伙伴,我们精英化的技术团队为企业提供谷歌海外推广+外贸网站建设+网站维护运营+Google SEO优化+社交营销为您提供一站式海外营销服务。

 915688610

 17370845950

 915688610@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.