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

简介: 【云计算与大数据技术】分布式协同系统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节点的状态发生改变 并被异步通知

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

相关文章
|
11月前
|
人工智能 Cloud Native Java
书本大纲:从芯片、分布式到云计算AI时代
本文深入探讨并发编程、JVM原理、RPC框架、高并发系统、分布式架构及云原生技术,涵盖内存模型、同步机制、垃圾回收、网络协议、存储优化、弹性伸缩等核心议题,揭示多线程运行逻辑与高并发实现路径,助你掌握现代软件底层原理与工程实践。
299 7
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
1222 6
|
消息中间件 分布式计算 关系型数据库
大数据-140 - ClickHouse 集群 表引擎详解5 - MergeTree CollapsingMergeTree 与其他数据源 HDFS MySQL
大数据-140 - ClickHouse 集群 表引擎详解5 - MergeTree CollapsingMergeTree 与其他数据源 HDFS MySQL
403 0
|
数据采集 人工智能 分布式计算
MaxFrame:链接大数据与AI的高效分布式计算框架深度评测与实践!
阿里云推出的MaxFrame是链接大数据与AI的分布式Python计算框架,提供类似Pandas的操作接口和分布式处理能力。本文从部署、功能验证到实际场景全面评测MaxFrame,涵盖分布式Pandas操作、大语言模型数据预处理及企业级应用。结果显示,MaxFrame在处理大规模数据时性能显著提升,代码兼容性强,适合从数据清洗到训练数据生成的全链路场景...
995 5
MaxFrame:链接大数据与AI的高效分布式计算框架深度评测与实践!
|
人工智能 分布式计算 大数据
MaxFrame 产品评测:大数据与AI融合的Python分布式计算框架
MaxFrame是阿里云MaxCompute推出的自研Python分布式计算框架,支持大规模数据处理与AI应用。它提供类似Pandas的API,简化开发流程,并兼容多种机器学习库,加速模型训练前的数据准备。MaxFrame融合大数据和AI,提升效率、促进协作、增强创新能力。尽管初次配置稍显复杂,但其强大的功能集、性能优化及开放性使其成为现代企业与研究机构的理想选择。未来有望进一步简化使用门槛并加强社区建设。
747 8
|
SQL 分布式计算 DataWorks
MaxCompute MaxFrame评测 | 分布式Python计算服务MaxFrame(完整操作版)
在当今数字化迅猛发展的时代,数据信息的保存与分析对企业决策至关重要。MaxCompute MaxFrame是阿里云自研的分布式计算框架,支持Python编程接口、兼容Pandas接口并自动进行分布式计算。通过MaxCompute的海量计算资源,企业可以进行大规模数据处理、可视化数据分析及科学计算等任务。本文将详细介绍如何开通MaxCompute和DataWorks服务,并使用MaxFrame进行数据操作。包括创建项目、绑定数据源、编写PyODPS 3节点代码以及执行SQL查询等内容。最后,针对使用过程中遇到的问题提出反馈建议,帮助用户更好地理解和使用MaxFrame。
|
机器学习/深度学习 分布式计算 数据挖掘
MaxFrame 性能评测:阿里云MaxCompute上的分布式Pandas引擎
MaxFrame是一款兼容Pandas API的分布式数据分析工具,基于MaxCompute平台,极大提升了大规模数据处理效率。其核心优势在于结合了Pandas的易用性和MaxCompute的分布式计算能力,无需学习新编程模型即可处理海量数据。性能测试显示,在涉及`groupby`和`merge`等复杂操作时,MaxFrame相比本地Pandas有显著性能提升,最高可达9倍。适用于大规模数据分析、数据清洗、预处理及机器学习特征工程等场景。尽管存在网络延迟和资源消耗等问题,MaxFrame仍是处理TB级甚至PB级数据的理想选择。
429 6
|
缓存 NoSQL Java
大数据-50 Redis 分布式锁 乐观锁 Watch SETNX Lua Redisson分布式锁 Java实现分布式锁
大数据-50 Redis 分布式锁 乐观锁 Watch SETNX Lua Redisson分布式锁 Java实现分布式锁
360 3
大数据-50 Redis 分布式锁 乐观锁 Watch SETNX Lua Redisson分布式锁 Java实现分布式锁
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
704 2

热门文章

最新文章