深圳专业网站建设网站制作8年专注网站建设寻求

张小明 2026/1/1 7:19:22
深圳专业网站建设网站制作8年专注,网站建设寻求,龙岩做网站设计公司,免费可信网站认证文章目录前言一、zookeeper服务1.1 zookeeper的概念1.2 Zookeeper 数据结构1.3 Zookeeper 应用场景1.4 zookeeper原理1.5 Zookeeper 选举机制1.5.1 第一次启动选举机制1.5.2 非第一次启动选举机制二、zookeeper配置实战2.1 配置环境2.2 安装zookeeper2.3 编辑zookeeper配置文件…文章目录前言一、zookeeper服务1.1 zookeeper的概念1.2 Zookeeper 数据结构1.3 Zookeeper 应用场景1.4 zookeeper原理1.5 Zookeeper 选举机制1.5.1 第一次启动选举机制1.5.2 非第一次启动选举机制二、zookeeper配置实战2.1 配置环境2.2 安装zookeeper2.3 编辑zookeeper配置文件2.4 配置启动脚本总结前言一、zookeeper服务1.1 zookeeper的概念ZooKeeper 是 Apache 基金会旗下的一款分布式协调服务专为分布式系统提供一致性、可靠性的核心支撑能力。它常用于分布式锁、配置管理、服务注册与发现、集群选举等场景是 Hadoop、HBase、Kafka 等大数据框架的核心依赖组件专门为分布式应用提供高效可靠的协调、同步、配置管理和故障恢复等功能。它的设计目的是简化分布式系统的管理保证多个节点之间的数据一致性和协调工作。Zookeeper 提供了类似文件系统的层次化命名空间用来存储和管理元数据确保分布式应用的高可用性和强一致性。1.2 Zookeeper 数据结构Zookeeper 的数据结构类似于一个层次化的文件系统。ZNode是 Zookeeper 中存储数据的基本单元每个 ZNode 都可以存储少量的数据并且可以有子节点形成树状结构。持久节点该类型的 ZNode 会一直存在直到手动删除。临时节点客户端会话断开时临时节点会自动删除适用于实现分布式锁等功能。顺序节点在创建 ZNode 时Zookeeper 可以自动为其添加递增的编号常用于实现分布式队列或顺序任务处理。1.3 Zookeeper 应用场景提供的服务包括统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等。统一命名服务在分布式环境下经常需要对应用/服务进行统一命名便于识别。例如IP不容易记住而域名容易记住。1、统一配置管理1分布式环境下配置文件同步非常常见。一般要求一个集群中所有节点的配置信息是一致的比如Kafka集群。对配置文件修改后希望能够快速同步到各个节点上。2配置管理可交由ZooKeeper实现。可将配置信息写入ZooKeeper上的一个Znode。各个客户端服务器监听这个Znode。一旦 Znode中的数据被修改ZooKeeper将通知各个客户端服务器。2、统一集群管理1分布式环境中实时掌握每个节点的状态是必要的。可根据节点实时状态做出一些调整。2ZooKeeper可以实现实时监控节点状态变化。可将节点信息写入ZooKeeper上的一个ZNode。监听这个ZNode可获取它的实时状态变化。3、服务器动态上下线客户端能实时洞察到服务器上下线的变化。4、软负载均衡在Zookeeper中记录每台服务器的访问数让访问数最少的服务器去处理最新的客户端请求。1.4 zookeeper原理简单来说zookeeper不仅可以存储文件数据也可以实时监控数据的变化并通知如果数据发生改变zookeeper就会发送数据改变通知给已经在zookeeper上注册了的用户。1.5 Zookeeper 选举机制1.5.1 第一次启动选举机制票数过半者当选leader过程中没有出现leader则先前投票的节点可以继续进行投票出现票数过半的情况则先前投票的节点不可以继续更改投票对象也就是投票固定投票规则谁myid高投给谁且每个节点第一次投票会投给自己。投过一次票代表进行了一次事务。轮流竞选一个一个上台竞选大致流程为班级竞选班长myid就比喻成人气值一号选手先来投票并且投给自己此时1号选手票数为1没有过半因此下一次投票还可以投第二个选手来投票也投给自己1号选手发现自己人气值没有2号选手高因此1号选手也投2号此时2号选手获得两票投票数没过半因此1、2号选手下次还要投票三号选手进行投票并且投给自己1、2号选手发现3号选手的人气值比自己高所以也把票投给3号此时3号获得3票票数过半1、2、3号选手不能更改投票四号选手进行投票并且投给自己虽然人气比3号高但是票数只有1票三号选手有3票因此竞选失败并且下次投票会把票投给3号五号选手进行选举并把票投给自己只有1票3号有4票因此3号最终成为leader。同时竞选全部选手站在台上同时进行投票大致流程为班级竞选班长myid比喻为人气值五位选手会将票投给人气值最高的选手因此五号选手当选leader。1.5.2 非第一次启动选举机制当ZooKeeper 集群中的一台服务器出现以下两种情况之一时就会开始进入Leader选举1、服务器初始化启动重新竞选班长2、服务器运行期间无法和Leader保持连接班长生病了找其他同学当班长而当一台机器进入Leader选举流程时当前集群也可能会处于以下两种状态1、集群中本来就已经存在一个Leader。对于已经存在Leader的情况机器试图去选举Leader时会被告知当前服务器的Leader信息对于该机器来说仅仅需要和 Leader机器建立连接并进行状态同步即可。2、集群中确实不存在Leader。假设ZooKeeper由5台服务器组成SID分别为1、2、3、4、5ZXID分别为8、8、8、7、7并且此时SID为3的服务器是Leader。某一时刻3和5服务器出现故障因此开始进行Leader选举。选举Leader规则① EPOCH大的直接胜出参加一次竞选EPOCH加1② EPOCH相同事务id大的胜出每投一次票事务id加1③ 事务id相同服务器id大的胜出服务器id为myid举例班级竞选班长3号选手为旧班长五号选手和三号选手都生病因此只有1、2、4号选手进行竞选因为前面1号选手进行了5次投票2号为4次4号为2次因此1号选手当选如果三者的事务id相同则人气值高的4号当选。二、zookeeper配置实战2.1 配置环境10.0.0.100 一号zookeeper10.0.0.3 二号zookeeper10.0.0.4 三号zookeeper第一步 关闭防火墙和网络增强服务systemctl stop firewalld ————————关闭防火墙setenforce 0 ————————关闭网络增强服务第二步 安装java环境rpm -ivh jdk-8u231-linux-x64.rpm -C /opt ————————将java压缩到opt下第三步 配置jdk环境变量vim /etc/profile.d/java.sh ——————————编辑java配置文件export JAVA_HOME/usr/java/jdk-8u91-linuxexport CLASSPATH.:J A V A H O M E / l i b / t o o l s . j a r : JAVA_HOME/lib/tools.jar:JAVAH​OME/lib/tools.jar:JAVA_HOME/lib/dt.jarexport PATHJ A V A H O M E / b i n : JAVA_HOME/bin:JAVAH​OME/bin:PATHsource /etc/profile.d/java.sh ——————————刷新配置文件2.2 安装zookeepertar zxvf apache-zookeeper-3.5.7-bin.tar.gz ————————解压zookeeper压缩包mv apache-zookeeper-3.5.7-bin /usr/local/zookeeper ————————将apache-zookeeper-3.5.7-bin移动至/usr/local下并改名为zookeepercp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg —————————复制配置文件模板2.3 编辑zookeeper配置文件vim /usr/local/zookeeper/conf/zoo.cfg ——————————编辑zookeeper配置文件tickTime2000 —————————通信心跳时间Zookeeper服务器与客户端心跳时间单位毫秒initLimit10 ——————————Leader和Follower初始连接时能容忍的最多心跳数tickTime的数量这里表示为10*2ssyncLimit5 ————————Leader和Follower之间同步通信的超时时间这里表示如果超过5*2sLeader认为Follwer死掉并从服务器列表中删除FollwerdataDir/usr/local/zookeeper-3.5.7/data ————————指定保存Zookeeper中的数据的目录目录需要单独创建dataLogDir/usr/local/zookeeper-3.5.7/logs ———————指定存放日志的目录目录需要单独创建clientPort2181 ——————————————客户端连接端口在文本末尾加上添加集群信息server.110.0.0.100:3188:3288server.210.0.0.2:3188:3288server.310.0.0.3:3188:32883188代表zookeeper之间的通信端口3288代表选举端口mkdir /usr/local/zookeeper/data ————————穿建存放数据日志的目录mkdir /usr/local/zookeeper/logs ————————创建存放日志文件的目录分别在三台服务节点上输入定义每个节点的myidecho 1 /usr/local/zookeeper-3.5.7/data/myid ————————10.0.0.100的myid1echo 2 /usr/local/zookeeper-3.5.7/data/myid ————————10.0.0.2的myid2echo 3 /usr/local/zookeeper-3.5.7/data/myid ————————10.0.0.3的myid32.4 配置启动脚本vim /etc/init.d/zookeeper ————————编辑脚本文件#!/bin/bash#chkconfig:2345 20 90#description:Zookeeper Service Control Scriptzk/usr/local/zookeeper/bincase $a in ———————————定义 $a为第一个参数执行脚本文件时可以输入一个参数包括satrt、stop、restart、statusstart)echo “---------- zookeeper 启动 ------------”$zk/zkServer.sh start;;stop)echo “---------- zookeeper 停止 ------------”$zk/zkServer.sh stop;;restart)echo “---------- zookeeper 重启 ------------”$zk/zkServer.sh restart;;status)echo “---------- zookeeper 状态 ------------”$zk/zkServer.sh status;;*)echo “Usage: $0 {start|stop|restart|status}” ————————参数必须选择里面四种esacchmod x /etc/init.d/zookeeper ————————给脚本文件添加执行权限chkconfig --add zookeeperservice zookeeper start ——————————开启zookeeper服务service zookeeper status ——————————查看zookeeper服务信息2号zk成为leader实验成功感兴趣的宝子们可以试试同时开启zookeeper服务看看是不是3号节点成为leader。总结本文讲述了zookeeper的概念、选举原理以及配置操作希望本文对您有所帮助谢谢观看
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

五莲县财源建设网站图库网站建设

Lotus Domino 6 for Linux:安全、管理、性能优化与故障排除全解析 1. Domino服务器配置与管理 在Domino服务器的管理中,通过配置选项卡可以访问当前服务器文档,其中包含了诸多定义服务器运行方式的设置: - 基本信息 :如服务器名称和主机名。 - 安全设置 :保障服务…

张小明 2026/1/1 7:19:20 网站建设

网站flash音乐播放器好的淘客网站

在节日氛围渐浓的时刻,用代码亲手绘制一棵圣诞树,既是技术人的浪漫,也是对编程可视化的趣味实践。本文将带大家使用 Python 的turtle库(海龟绘图)和random库,打造一棵层次分明、装饰丰富且带有星星顶饰的圣…

张小明 2026/1/1 7:18:42 网站建设

诸暨网站制作设计广告公司简称

1015. 鸡兔同笼问题问题描述鸡兔同笼问题&#xff1a;一个笼子里面有鸡若干只&#xff0c;兔若干只。共有头 50 个&#xff0c;共有腿 160 条。求鸡兔各多少只&#xff1f;输入无输出两个整数&#xff0c;在一行。鸡的只数 兔的只数。中间空格隔开&#xff01;#include<iost…

张小明 2026/1/1 7:18:06 网站建设

百变模板手机网站建设设计公司首页

终极指南&#xff1a;掌握新一代信息保护工具&#xff0c;告别重要消息丢失烦恼 【免费下载链接】Anti-recall Android 免root 防撤回神器 ! 项目地址: https://gitcode.com/gh_mirrors/an/Anti-recall 你是否曾在工作群中看到任务安排后又瞬间消失&#xff1f;是否在商…

张小明 2026/1/1 7:17:32 网站建设

做信息发布类网站用什么语言网站源文件

Media Player Classic硬件加速终极指南&#xff1a;一键解决播放卡顿难题 【免费下载链接】mpc-hc Media Player Classic 项目地址: https://gitcode.com/gh_mirrors/mp/mpc-hc 当你播放4K超高清视频时&#xff0c;是否遇到过画面卡顿、色彩失真或播放器崩溃的困扰&…

张小明 2026/1/1 7:16:58 网站建设

蚌埠哪有做网站的在那做网站

摘要Top Pick&#xff1a;爱查分核心价值&#xff1a;将枯燥的考试分数转化为可视化的教学诊断书&#xff0c;辅助教师实现从经验直觉到数据驱动的教学转型关键亮点&#xff1a;自动生成进退步曲线、班级分数段分布图、学科均衡度雷达分析、AI智能数据解读关键数据&#xff1a;…

张小明 2026/1/1 7:16:21 网站建设