当前位置: 首页 > news >正文

长沙做网站工作室海口做网站的公司

长沙做网站工作室,海口做网站的公司,微信怎么关闭小程序功能,公司网站 开源文章目录 1.基本原理2.下载并解压ZooKeeper3.配置环境变量4.配置ZooKeeper5.创建数据目录并初始化myid6.启动ZooKeeper7.配置ZooKeeper集成到Hadoop8.重启Hadoop9.ZooKeeper状态检查 1.基本原理 ZooKeeper 是一个分布式协调服务,用于分布式系统中管理配置信息、命名…

文章目录

  • 1.基本原理
  • 2.下载并解压ZooKeeper
  • 3.配置环境变量
  • 4.配置ZooKeeper
  • 5.创建数据目录并初始化myid
  • 6.启动ZooKeeper
  • 7.配置ZooKeeper集成到Hadoop
  • 8.重启Hadoop
  • 9.ZooKeeper状态检查

1.基本原理

ZooKeeper 是一个分布式协调服务,用于分布式系统中管理配置信息、命名、同步和集群服务。它提供了一种简单的接口来访问存储在其文件系统中的数据,同时为复杂的分布式系统提供了高可用性和一致性保障。以下是 ZooKeeper 的基本原理:

1 . 数据模型和 ZNode

  • 数据模型:ZooKeeper 以分层命名空间的方式存储数据,类似于文件系统。每个节点称为一个 ZNode。
  • ZNode:ZNode 是 ZooKeeper 中的基本数据单元,可以存储少量数据。它有两种类型:
    • 持久节点(Persistent ZNode):即使客户端断开连接或系统重启,节点数据也会一直存在。
    • 临时节点(Ephemeral ZNode):客户端会话结束时自动删除。
    • 顺序节点(Sequential ZNode):自动在名称末尾附加一个单调递增的数字。

2 . 一致性保证

ZooKeeper 提供了一致性保障,确保以下条件:

  • 原子性:操作要么成功,要么失败,没有中间状态。
  • 顺序一致性:所有操作按照它们的执行顺序进行。
  • 单一系统映像:所有客户端无论连接到哪个 ZooKeeper 服务器,看到的数据都是一致的。
  • 耐久性:一旦操作成功执行,数据将被持久化,不会丢失。
  • 及时性:在合理的时间内,客户端可以看到最近的系统状态。

3 . Leader 选举和复制

  • 集群角色:ZooKeeper 集群由多个服务器(节点)组成,其中一个节点是 Leader,其余是 Follower。
  • Leader 选举:在集群启动或 Leader 故障时,ZooKeeper 使用选举算法(如基于 ZAB 协议的选举)选举新的 Leader。
  • 数据复制:Leader 负责处理所有的写请求,并将更新同步到所有 Follower,从而保持数据一致性。读请求可以由任何 Follower 处理。
  1. 会话和 Watcher
  • 会话:客户端与 ZooKeeper 服务器之间的连接称为会话。会话有超时机制,如果客户端在指定时间内没有发送心跳包,ZooKeeper 将认为会话结束。
  • Watcher:ZooKeeper 提供了一种监控机制,称为 Watcher。客户端可以在 ZNode 上设置 Watcher,当节点状态发生变化时,ZooKeeper 会通知客户端。这种机制常用于配置管理、命名服务和分布式锁等场景。

5 . 高可用性和容错

  • 高可用性:ZooKeeper 依赖于集群的多台服务器提供服务,即使部分节点故障,也能继续提供服务。
  • 容错性:ZooKeeper 能容忍少数节点的故障,而无需停止服务。只要集群中的活跃节点数量超过总节点数的一半(即超过多数节点),ZooKeeper 就能继续正常工作。

6 . ZAB 协议

ZooKeeper 使用的 ZAB 协议(ZooKeeper Atomic Broadcast)是一种基于投票的协议,确保了事务的顺序一致性和数据的复制。它包括两部分:选举阶段(用于选举 Leader)和 广播阶段(用于复制数据)。

7 . 典型应用

ZooKeeper 常用于分布式系统中的服务注册和发现、分布式锁、配置管理、分布式消息队列等。其高可用性和一致性特性使其成为这些场景中的关键组件。

总之,ZooKeeper 通过提供可靠的分布式协调机制和数据一致性保障,为分布式系统的构建和管理提供了强有力的支持。

2.下载并解压ZooKeeper

1 . 环境准备

hostnameip
ubuntu1172.16.167.131
ubuntu2172.16.167.132
ubuntu3172.16.167.133

2 . 下载ZooKeeper 3.7.1(或其他兼容版本)的二进制文件

https://archive.apache.org/dist/zookeeper/zookeeper-3.7.1/

image.png

3 . 解压缩文件并将其移动到适当的目录:

tar -xzf apache-zookeeper-3.7.1-bin.tar.gz
mv apache-zookeeper-3.7.1-bin /usr/local/zookeeper

3.配置环境变量

1 . 编辑/etc/profile文件,添加ZooKeeper的环境变量:

vim /etc/profile

2 . 添加以下内容:

export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin

3 . 刷新环境变量:

source /etc/profile

4 . 将环境变量分发到其他节点并刷新

image.png

4.配置ZooKeeper

1 . 进入ZooKeeper的配置目录:

cd /usr/local/zookeeper/conf

2 . 复制zoo_sample.cfgzoo.cfg

cp zoo_sample.cfg zoo.cfg

3 . 编辑zoo.cfg文件,进行基本配置:

vim zoo.cfg

根据你的集群环境修改以下内容,目录一定要注意:

tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
initLimit=10
syncLimit=5server.1=ubuntu1:2888:3888
server.2=ubuntu2:2888:3888
server.3=ubuntu3:2888:3888
  • tickTime:ZooKeeper中两个心跳之间的基本时间单位,以毫秒为单位。
  • dataDir:存储快照的目录。
  • clientPort:客户端连接到ZooKeeper服务器的端口。
  • initLimit:允许追随者(Follwer)在连接并同步到Leader之前可以进行的心跳数。
  • syncLimit:Leader与Follower之间发送消息、请求和响应时间的数量。
  • server.X:ZooKeeper集群中服务器的配置,ubuntu1, ubuntu2, ubuntu3是你的服务器主机名或IP地址。
  • 用scp命令,将zookeeper分发到所有节点。

image.png

5.创建数据目录并初始化myid

1 . 在每个ZooKeeper节点上创建数据目录:

mkdir -p /var/lib/zookeeper
chmod -R 755 /var/lib/zookeeper

2 . 在每个节点的数据目录中创建myid文件,并写入对应的服务器编号(1,2,3):

echo "1" > /var/lib/zookeeper/myid  # 在ubuntu1上
echo "2" > /var/lib/zookeeper/myid  # 在ubuntu2上
echo "3" > /var/lib/zookeeper/myid  # 在ubuntu3上

6.启动ZooKeeper

1 . 在每个节点上启动ZooKeeper服务:

zkServer.sh start

2 . 验证每个节点ZooKeeper是否正常启动:

zkServer.sh status

image.png

7.配置ZooKeeper集成到Hadoop

1 . 修改Hadoop的core-site.xml文件,添加ZooKeeper的Quorum配置:

vim $HADOOP_HOME/etc/hadoop/core-site.xml

2 . 添加以下内容:

<property><name>ha.zookeeper.quorum</name><value>ubuntu1:2181,ubuntu2:2181,ubuntu3:2181</value>
</property>

image.png

8.重启Hadoop

1 . 重新启动Hadoop集群以应用新的配置:

stop-all.sh
start-all.sh

image.png

9.ZooKeeper状态检查

  • 使用ZooKeeper命令行客户端检查ZooKeeper的状态:
zkCli.sh -server ubuntu1:2181
  • 在ZooKeeper命令行客户端中,可以输入以下命令来检查集群状态:
ls /
stat

创建一个新的节点:

create /mytest "testdata"

验证节点创建:

ls /

删除节点:

delete /mytest

image.png

http://www.yidumall.com/news/21916.html

相关文章:

  • 牛街网站建设seo技术培训山东
  • 切图做网站如何做成都关键词优化平台
  • 网站里自已的微信联系如何做常州seo
  • 外贸建站服务器怎么选宁波seo外包服务
  • wordpress导航菜单下的网页404徐州网页关键词优化
  • 园林公司做网站的好处下店拓客团队
  • 企业网站备案不通过西安关键词优化软件
  • 第一次和别人女友做网站站长seo软件
  • 贵阳网站建设方案推广天津seo网站管理
  • 辽宁自助网站建设公司重庆seo优
  • dede网站前台没有图片百度云账号登录
  • 地方网站用什么域名无锡seo网络推广
  • 中国建行app官网下载安装太原关键词优化服务
  • 界面做的比较好的网站站长分析工具
  • 重庆市住房城乡建设网站seo优化服务商
  • 健身俱乐部网站建设方案设计今日油价92汽油
  • 十堰微网站建设电话活动策划方案
  • 内蒙古兴安盟建设局网站网站百度关键词排名软件
  • 织梦网站图片无缝滚动怎么做百度百科搜索入口
  • 怎么设计网络营销方案济南公司网站推广优化最大的
  • wordpress页面是什么意思网络优化工作应该怎么做
  • 网站开发设计总结淘宝指数入口
  • 微信投票网站制作百度小程序排名优化
  • 电商网站的支付模块怎么做南宁网站建设网站推广
  • 贵州建设厅网站建筑企业公示栏精准营销方式有哪些
  • vs做网站抖音关键词排名系统
  • 网站后台编辑器不显示百度云网盘资源搜索引擎
  • 上海网站建设哪家做得好百度关键词优化大
  • 网站头部 标签seo综合查询网站源码
  • 奉化网站建设宁波技术好的企业网站制作