【云计算与大数据技术】分布式协同系统Chubby锁、ZooKeeper在HDFS中的使用讲解(图文解释 超详细)

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 【云计算与大数据技术】分布式协同系统Chubby锁、ZooKeeper在HDFS中的使用讲解(图文解释 超详细)

阿里云Kuafa RPC系统

夸父(Kuafu)是飞天平台内核中负责网络通信的模块,它提供了一 个 RPC 的接口 , 简化编写基于网络的分布式应用

夸父的设计目标是提供高可用(7×24小时)、大吞吐量(Gigabyte)、高效率、易用(简明 API、多种协议和编程接口)的 RPC服务

Hadoop IPC的应用

在 Hadoop系统中,Hadoop IPC为 HDFS、MapReduce提供了高效的 RPC 通信机制

Hadoop IPC 的 Server 端相对比较复杂, 包括 Listener、Reader、Handler 和 Responder 等多种类型的线程

一、分布式协同系统

当前的大规模分布式系统涉及大量的机器,这些机器之间需要进行大量的网络通信 以及各个节点之间的消息通信协同

1:Chubby锁服务

Chubby是Google公司研发的针对分布式系统协调管理的粗粒度服务,一个Chubby实例大约可以负责一万台4核CPU机器之间对资源的协同管理,这种服务的主要功能是让众多客户端程序进行相互之间的同步,并对系统环境或资源达成一致的认知

Chubby的理论基础是 Paxos(一致性协议),Paxos是在完全分布式环境下不同客户端能够通过交互通信并投票对于某个决定达成一致的算法

Chubby 的设计目标基于以下几点 : 高可用性 、高可靠性 、支持粗粒度的 建议性锁服务、支持小规模文件直接存储

Chubby整体架构共有5台服务器,其中一个是主服务器,客户端与服务器之间使用RPC交互,内其他服务器纯粹作为主服务器不可用后的替代品,而ZooKeeper的多余服务器均是提供就近服务的,也就是服务器会根据地理位置与网络情况来选择对哪些客户端给予服务

2:ZooKeeper

ZooKeper是 Yahoo! 开发的一套开源高吞吐分布式协调系统

分布式应用中的各节点可以通过ZooKeeper这个第三方来确保双方的同步,比如一个节点是发送,另一个节点是接收,但发送节点需要确认接收节点成功收到这个信息,因而就可以通过与一个可靠的第三方交互来获取接收节点的消息接收状态

ZooKeeper 是由多台同构服务器构成的一个集群 ,共用信息存储在集群系统 中,共用信息采用树形结构来存储

3:阿里云Nuwa协同系统

女娲(Nuwa)系统为飞天提供高可用的协调服务(Coordination Service),是构建各类分布式应用的核心服务

女娲系统基于类 Paxos 协议 ,由多个女娲 Server 以类似文件系统的树形结构存储数据,提供高可用、高并发用户请求的处理能力

4:ZooKeeper在HDFS高可用方案中的使用

HDFS由三个模块构成,分别包括Client,NameNode,DataNode

NameNode负责管理所有的DataNode节点,保存block和DataNode之间的对应信息,Client读取文件和写入文件都需要NameNode节点的参与,因此NameNode发挥着至关重要的作用。

维护HDFS高可用基于以下两个目的

1:在出现NameNode节点故障时HDFS仍然可以对外提供数据的读取和写入服务

2:HDFS会出现版本的更新迭代,以保证HDFS在更新过程中仍然可以对外提供服务

一种解决HDFS高可用方法是采用ZK Failover Controller的方法 具体结构如下

采用ZooKeeper设计HDFS高可用方案基于以下几点

1:提供了小规模的任意数据信息的强一致性

2:可以在ZooKeeper集群中创建一个临时的znode节点,当创建该znode节点时的Client失效时,该临时znode节点会自动删除

3:能够监控ZooKeeper集群中的一个znode节点的状态发生改变 并被异步通知

创作不易 觉得有帮助请点赞关注收藏~~~

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
15天前
|
监控 负载均衡 Cloud Native
ZooKeeper分布式协调服务详解:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入剖析ZooKeeper分布式协调服务原理,涵盖核心概念如Server、Client、ZNode、ACL、Watcher,以及ZAB协议在一致性、会话管理、Leader选举中的作用。讨论ZooKeeper数据模型、操作、会话管理、集群部署与管理、性能调优和监控。同时,文章探讨了ZooKeeper在分布式锁、队列、服务注册与发现等场景的应用,并在面试方面分析了与其它服务的区别、实战挑战及解决方案。附带Java客户端实现分布式锁的代码示例,助力提升面试表现。
30 2
|
3月前
|
消息中间件 Java 网络安全
JAVAEE分布式技术之Zookeeper的第一次课
JAVAEE分布式技术之Zookeeper的第一次课
70 0
|
1月前
|
监控 NoSQL Java
Zookeeper分布式锁
Zookeeper分布式锁
90 1
|
15天前
|
分布式计算 Hadoop 大数据
大数据技术与Python:结合Spark和Hadoop进行分布式计算
【4月更文挑战第12天】本文介绍了大数据技术及其4V特性,阐述了Hadoop和Spark在大数据处理中的作用。Hadoop提供分布式文件系统和MapReduce,Spark则为内存计算提供快速处理能力。通过Python结合Spark和Hadoop,可在分布式环境中进行数据处理和分析。文章详细讲解了如何配置Python环境、安装Spark和Hadoop,以及使用Python编写和提交代码到集群进行计算。掌握这些技能有助于应对大数据挑战。
|
1月前
|
存储 分布式计算 大数据
现代化数据库技术——面向大数据的分布式存储系统
传统的关系型数据库在面对大规模数据处理时遇到了诸多挑战,而面向大数据的分布式存储系统应运而生。本文将深入探讨现代化数据库技术中的分布式存储系统,包括其优势、工作原理以及在大数据领域的应用。
|
2月前
|
Java Linux Spring
Zookeeper实现分布式服务配置中心
Zookeeper实现分布式服务配置中心
48 0
|
2月前
|
存储 分布式计算 Hadoop
ZooKeeper初探:分布式世界的守护者
ZooKeeper初探:分布式世界的守护者
64 0
|
2月前
|
NoSQL Java API
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)
298 0
|
3月前
|
监控 前端开发 Java
JAVAEE分布式技术之Zookeeper技术
JAVAEE分布式技术之Zookeeper技术
16 0
JAVAEE分布式技术之Zookeeper技术
|
3月前
|
NoSQL 测试技术 Redis
Zookeeper实现分布式锁
ZooKeeper是一个分布式协调服务,其中提供的序列化、持久化、有层次的目录结构使得它非常适合用于实现分布式锁。在ZooKeeper中,分布式锁通常通过临时有序节点实现