【发布时间】:2014-12-09 14:41:37
【问题描述】:
我是 Hadoop 新手。在 hadoop 中,我知道当一个 NameNode 失败时,整个 Hadoop 框架就会崩溃。所以这是 Hadoop 中的单点故障。 JobTracker 也一样吗?因为如果 JobTracker 出现故障,在提交作业后将没有守护进程与 Namenode 联系,也没有运行 TaskTracker 的意义。这具体是怎么处理的?
【问题讨论】:
标签: hadoop
我是 Hadoop 新手。在 hadoop 中,我知道当一个 NameNode 失败时,整个 Hadoop 框架就会崩溃。所以这是 Hadoop 中的单点故障。 JobTracker 也一样吗?因为如果 JobTracker 出现故障,在提交作业后将没有守护进程与 Namenode 联系,也没有运行 TaskTracker 的意义。这具体是怎么处理的?
【问题讨论】:
标签: hadoop
是的,JobTracker 是 MRv1 中的单点故障。如果 JobTracker 失败,所有正在运行的作业都会停止 (http://wiki.apache.org/hadoop/JobTracker)。
在 YARN 中,资源管理器不是单点故障。
如果您需要 MRv1,可以使用 MapR 分发版,它提供 JobTracker 高可用性 (http://www.mapr.com/resources/videos/demo-hadoop-jobtracker-failing-and-recovering-mapr-cluster)。
【讨论】:
Jobtracker HA(High Availability using Active and Standby)可以在 Cloudera Hadoop 发行版中进行配置。见以下链接,此功能从 CDH4.2.1 开始提供:
同样可以在 Hortwonworks 发行版中配置
http://docs.hortonworks.com/HDPDocuments/HDP1/HDP-1.3.2/bk_hdp1-system-admin-guide/content/sysadminguides_ha_chap2_5_5.html
在 MR2 主服务中是 ResourceManager,它不是单点故障
【讨论】:
是的,作业跟踪器是单点故障。如果 namenode 发生故障,辅助 namenode 将收取费用并充当 namenode。在 MR-II 中,引入了资源管理器的概念。 YARN 没有。资源管理器,如果一个资源管理器失败,另一个资源管理器将负责。一个资源管理器处于活动状态,其他资源管理器处于待机模式。
【讨论】:
No no 如果 NN 失败,则不是 Hadoop 框架出现故障。框架不同的NN失败是不同的。 Hadoop框架是所有节点上的一层。如果 Name Node 出现故障,Framework 不会没有数据应该存储的位置,也不会没有可以存储的空间。因此,不可能破坏实际数据。
Job tracker 与 Namenode 协调以获取要处理的数据。所以当Namenode出现故障时,job tracker也无法正常工作。所以第一个namenode应该可以正常工作。在 Hadoop 中,这种机制称为 Namenode 单点故障。
Job tracker 负责作业调度和数据处理。如果作业跟踪器不工作,客户端提交作业请求,但客户端不知道该作业应该在哪里提交以及应该在哪里处理。但是那个逻辑(你应该提交)应该知道如何解决问题,但不知道应该在哪里提交。因此 Job tracker 失败,无法处理数据和调度作业。
这是Bigdata analysis问题中最大的问题。 现在 Hadoop 2.x 解决了这两个问题。 YERN 在 namenode 级别和 datanode 级别没有任何单点故障。
【讨论】: