《深入理解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文件中的所有数据都被应用,并接管活动名称节点的职责。

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

相关文章
|
1月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
148 6
|
1月前
|
SQL 分布式计算 监控
Hadoop-20 Flume 采集数据双写至本地+HDFS中 监控目录变化 3个Agent MemoryChannel Source对比
Hadoop-20 Flume 采集数据双写至本地+HDFS中 监控目录变化 3个Agent MemoryChannel Source对比
60 3
|
1月前
|
SQL 分布式计算 关系型数据库
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
84 0
|
1月前
|
SQL 分布式计算 关系型数据库
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
37 0
|
1月前
|
SQL 分布式计算 关系型数据库
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
46 0
|
1月前
|
SQL 分布式计算 Hadoop
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
38 4
|
1月前
|
存储 分布式计算 资源调度
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
74 5
|
1月前
|
资源调度 数据可视化 大数据
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(二)
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(二)
35 4
|
1月前
|
XML 分布式计算 资源调度
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(一)
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(一)
149 5
|
1月前
|
分布式计算 资源调度 Hadoop
Hadoop-10-HDFS集群 Java实现MapReduce WordCount计算 Hadoop序列化 编写Mapper和Reducer和Driver 附带POM 详细代码 图文等内容
Hadoop-10-HDFS集群 Java实现MapReduce WordCount计算 Hadoop序列化 编写Mapper和Reducer和Driver 附带POM 详细代码 图文等内容
88 3

热门文章

最新文章

相关实验场景

更多