《深入理解Hadoop(原书第2版)》——2.5 HDFS 的高可用性

简介:

本节书摘来自华章计算机《深入理解Hadoop(原书第2版)》一书中的第2章,第2.5节,作者 [美]萨米尔·瓦德卡(Sameer Wadkar),马杜·西德林埃(Madhu Siddalingaiah),杰森·文纳(Jason Venner),译 于博,冯傲风,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.5 HDFS 的高可用性

通过前面对HDFS的讲解,我们很清楚地知道在Hadoop1.x系统中,名称节点会引发系统单点故障。Hadoop1.x系统只有一个名称节点,如果运行名称节点服务的节点机器出现故障,那么整个集群将会处于不可用的状态,除非名称节点服务在另外一台机器上重新启动。除了名称节点服务偶尔出现故障,从维护的角度来看,同样存在隐患。如果运行名称节点服务的机器需要重启,那么在名称节点服务无法运行的这段时间内,整个集群是不可用的。

Hadoop2.x引入了高可用名称节点(High Availability NameNode)的概念,在这里,我们只是从概念上做个讲解。访问Hadoop网站可以更详细地了解高可用名称节点的实现细节。

高可用名称节点背后的核心思想是使用两个相同的名称节点:一个处在活动模式(active mode),另一个处在待机模式(standby mode)。处于活动模式的名称节点为系统提供服务,处在待机模式的名称节点需要实时同步活动名称节点的数据,一旦活动名称节点当机,系统可快速的进行故障切换。在当前设计中,为了达到这个目的,两个名称节点必须共享同一个存储设备(通过NFS)。活动名称节点的任何修改都会记录到共享存储设备中的edits日志文件中。待机名称节点将这些修改应用到自己的名称空间中。一旦活动名称节点发生故障,待机名称节点会确保edits文件中的所有数据都被应用,并接管活动名称节点的职责。

我们知道名称节点保存的元数据中不包括数据块的存储位置。这些信息是在数据节点启动过程中,名称节点请求数据节点获得。为了保证待机名称节点的迅速启动,数据节点要知道两个名称节点的位置,并在启动的时候向两个名称节点都发送信息。数据节点也同时向两个名称节点交换心跳信息。

相关文章
|
4天前
|
分布式计算 Hadoop 测试技术
Hadoop【基础知识 05】【HDFS的JavaAPI】(集成及测试)
【4月更文挑战第5天】Hadoop【基础知识 05】【HDFS的JavaAPI】(集成及测试)
28 8
|
4天前
|
分布式计算 资源调度 Hadoop
Hadoop【基础知识 03+04】【Hadoop集群资源管理器yarn】(图片来源于网络)(hadoop fs + hadoop dfs + hdfs dfs 使用举例)
【4月更文挑战第5天】Hadoop【基础知识 03】【Hadoop集群资源管理器yarn】(图片来源于网络)Hadoop【基础知识 04】【HDFS常用shell命令】(hadoop fs + hadoop dfs + hdfs dfs 使用举例)
29 9
|
5天前
|
分布式计算 Hadoop Shell
Hadoop【基础知识 04】【HDFS常用shell命令】(hadoop fs + hadoop dfs + hdfs dfs 使用举例)
【4月更文挑战第4天】Hadoop【基础知识 04】【HDFS常用shell命令】(hadoop fs + hadoop dfs + hdfs dfs 使用举例)
18 5
|
8天前
|
存储 分布式计算 Hadoop
【Hadoop】HDFS 读写流程
【4月更文挑战第9天】【Hadoop】HDFS 读写流程
|
3月前
|
存储 分布式计算 Hadoop
Hadoop的Secondary NameNode在HDFS中的作用是什么?
Hadoop的Secondary NameNode在HDFS中的作用是什么?
36 0
|
6天前
|
存储 分布式计算 Hadoop
大数据处理架构Hadoop
【4月更文挑战第10天】Hadoop是开源的分布式计算框架,核心包括MapReduce和HDFS,用于海量数据的存储和计算。具备高可靠性、高扩展性、高效率和低成本优势,但存在低延迟访问、小文件存储和多用户写入等问题。运行模式有单机、伪分布式和分布式。NameNode管理文件系统,DataNode存储数据并处理请求。Hadoop为大数据处理提供高效可靠的解决方案。
24 2
|
6天前
|
分布式计算 Hadoop 大数据
大数据技术与Python:结合Spark和Hadoop进行分布式计算
【4月更文挑战第12天】本文介绍了大数据技术及其4V特性,阐述了Hadoop和Spark在大数据处理中的作用。Hadoop提供分布式文件系统和MapReduce,Spark则为内存计算提供快速处理能力。通过Python结合Spark和Hadoop,可在分布式环境中进行数据处理和分析。文章详细讲解了如何配置Python环境、安装Spark和Hadoop,以及使用Python编写和提交代码到集群进行计算。掌握这些技能有助于应对大数据挑战。
|
8天前
|
SQL 分布式计算 Hadoop
利用Hive与Hadoop构建大数据仓库:从零到一
【4月更文挑战第7天】本文介绍了如何使用Apache Hive与Hadoop构建大数据仓库。Hadoop的HDFS和YARN提供分布式存储和资源管理,而Hive作为基于Hadoop的数据仓库系统,通过HiveQL简化大数据查询。构建过程包括设置Hadoop集群、安装配置Hive、数据导入与管理、查询分析以及ETL与调度。大数据仓库的应用场景包括海量数据存储、离线分析、数据服务化和数据湖构建,为企业决策和创新提供支持。
39 1
|
25天前
|
消息中间件 SQL 分布式计算
大数据Hadoop生态圈体系视频课程
熟悉大数据概念,明确大数据职位都有哪些;熟悉Hadoop生态系统都有哪些组件;学习Hadoop生态环境架构,了解分布式集群优势;动手操作Hbase的例子,成功部署伪分布式集群;动手Hadoop安装和配置部署;动手实操Hive例子实现;动手实现GPS项目的操作;动手实现Kafka消息队列例子等
20 1
大数据Hadoop生态圈体系视频课程
|
4月前
|
分布式计算 资源调度 搜索推荐
《PySpark大数据分析实战》-02.了解Hadoop
大家好!今天为大家分享的是《PySpark大数据分析实战》第1章第2节的内容:了解Hadoop。
44 0
《PySpark大数据分析实战》-02.了解Hadoop

热门文章

最新文章