Hadoop中的NameNode好比是人的心脏,非常重要,绝对不可以停止工作。在hadoop1时代,只有一个NameNode。如果该NameNode数据丢失或者不能工作,那么整个集群就不能恢复了。这是hadoop1中的单点问题,也是hadoop1不可靠的表现。hadoop2就解决了这个问题。
hadoop2.2.0中HDFS的高可靠指的是可以同时启动2个NameNode。其中一个处于工作状态,另一个处于随时待命状态。这样,当一个NameNode所在的服务器宕机时,可以在数据不丢失的情况下,手工或者自动切换到另一个NameNode提供服务。
这些NameNode之间通过共享数据,保证数据的状态一致。多个NameNode之间共享数据,可以通过Nnetwork File System或者Quorum Journal Node。前者是通过linux共享的文件系统,属于操作系统的配置;后者是hadoop自身的东西,属于软件的配置。
我们这里讲述使用Quorum Journal Node的配置方式,方式是手工切换。
集群启动时,可以同时启动2个NameNode。这些NameNode只有一个是active的,另一个属于standby状态。active状态意味着提供服务,standby状态意味着处于休眠状态,只进行数据同步,时刻准备着提供服务,如图2所示。
在一个典型的HA集群中,每个NameNode是一台独立的服务器。在任一时刻,只有一个NameNode处于active状态,另一个处于 standby状态。其中,active状态的NameNode负责所有的客户端操作,standby状态的NameNode处于从属地位,维护着数据状态,随时准备切换。
两个NameNode为了数据同步,会通过一组称作JournalNodes的独立进程进行相互通信。当active状态的NameNode的命名空间有任何修改时,会告知大部分的JournalNodes进程。standby状态的NameNode有能力读取JNs中的变更信息,并且一直监控 edit log的变化,把变化应用于自己的命名空间。standby可以确保在集群出错时,命名空间状态已经完全同步了。
为了确保快速切换,standby状态的NameNode有必要知道集群中所有数据块的位置。为了做到这点,所有的datanodes必须配置两个NameNode的地址,发送数据块位置信息和心跳给他们两个。
对于HA集群而言,确保同一时刻只有一个NameNode处于active状态是至关重要的。否则,两个NameNode的数据状态就会产生分歧,可能丢失数据,或者产生错误的结果。为了保证这点,JNs必须确保同一时刻只有一个NameNode可以向自己写数据。
相关推荐
### Hadoop2.x HA环境搭建知识点详解 #### 一、HA2.0集群搭建与测试 **准备工作:** 1. **停掉之前的服务:** - 在搭建Hadoop2.x HA集群之前,需要确保所有相关的服务都已经停止运行,避免与新搭建的集群产生...
### Hadoop2.X 新特性详解 #### Hadoop1.0 的局限性 Hadoop1.0作为初代的大数据处理框架,在数据存储和处理方面取得了显著成就,但也暴露出了一系列问题,主要包括: - **HDFS(Hadoop Distributed File System)...
**Hadoop 2.x 入门指南** Hadoop 2.x 是一个开源的分布式计算框架,它是Apache Hadoop项目的最新版本,旨在提供高效、可扩展的数据处理能力。这个版本引入了若干关键改进,使得Hadoop更适合大数据处理的需求,提高...
2. HDFS的高可用性(HA)通过引入NameNode的热备,增强了服务的稳定性。 3. 安全性增强,包括Kerberos认证,使得Hadoop集群可以在多租户环境中安全运行。 4. 提供了更好的性能优化,如Block Size调整、数据本地化...
### Hadoop 2.x 安装与配置详解 #### 一、准备工作 在开始Hadoop 2.x集群的搭建之前,需要确保以下条件已经满足: 1. **操作系统环境**: 所有的服务器节点均应安装Linux操作系统。 2. **Java Development Kit ...
Hadoop 2.x 是该框架的一个重要版本,引入了许多改进和优化,使得它更加适合企业级的大数据处理需求。本教程将详细讲解Apache Hadoop 2.x的安装过程,帮助初学者快速入门。 一、Hadoop的体系结构 Hadoop的核心由两...
1. **多NameNode支持**:Hadoop 3.0引入了HA(High Availability)NameNode模式,通过主备切换提高了NameNode的可用性,避免了单点故障。 2. **YARN改进**:优化了资源调度器,如增加了Capacity Scheduler的多队列...
Hadoop高可用HA集群3.x以上版本安装 Hadoop高可用集群安装是指在四个节点上安装Hadoop完全分布式集群,包括zookeeper、Kafka、mysql、Hive、Spark等相关组件。以下是安装过程中的关键步骤和知识点: 1. 安装Hadoop...
总之,Hadoop 2.x的配置详解涉及NameNode HA、JournalNode、配置文件参数等多个方面,通过合理的配置,可以构建出高可用、高性能的Hadoop大数据处理环境。对于MapReduce,理解YARN的角色和作业执行流程也是至关重要...
- **高可用机制**:Hadoop 2.x支持两个NameNode,一个处于Active状态,另一个处于Standby状态。当Active NameNode发生故障时,系统会自动将Standby NameNode转换为Active状态。 - **状态监控与切换**:使用ZooKeeper...
0103 高级Hadoop 2.x、0102 深入Hadoop 2.x这两部分可能涉及更深层次的Hadoop技术,如Hadoop生态系统的其他组件(如Hive、Pig、Spark),Hadoop的安全管理,以及高级优化技巧。 总之,Hadoop 2.0作为一个全面的...
Hadoop 2.x 版本是该系列中的一个重要版本,它引入了许多重要的改进和新特性,包括但不限于 YARN(Yet Another Resource Negotiator)资源管理器的引入以及对HDFS(Hadoop Distributed File System)高可用性的支持...
Hadoop 2.x 是Hadoop生态系统的一个重要版本,带来了许多改进和新特性,特别是在高可用性和可扩展性方面。在这个主题中,我们将聚焦于ResourceManager(RM)的高可用性(High Availability, HA)以及NameNode的HA,...
Hadoop 2.x引入了高可用机制,通过NameNode的主备模式以及ResourceManager的故障恢复机制来提高整个集群的稳定性。 1. **NameNode高可用配置**: - 配置两个NameNode,一个作为Active NameNode,另一个作为Standby...
2. HDFS高可用性:通过NameNode HA(High Availability),可以设置热备NameNode,确保服务的连续性。 3. HDFS的Block Size调整:支持更大的Block Size,适应大数据量的存储需求。 4. 更强的安全性:增加了Kerberos...
在Hadoop 2.x系列中,最重要的改进是对YARN(Yet Another Resource Negotiator)的引入,它是Hadoop的资源管理系统,负责集群资源的分配和调度,提高了系统的资源利用率和灵活性。相较于早期的Hadoop 1.x,YARN将...
本文将详细介绍如何搭建一个Hadoop HA高可用性的完全分布式集群,并提供关键步骤和注意事项。 #### Hadoop HA概述 Hadoop HA主要是指NameNode的高可用性实现方案。在传统的Hadoop架构中,NameNode是整个HDFS...
Hadoop 2.4版本是一个重要的里程碑,它在Hadoop 2.x系列中引入了许多增强和优化,使得这个版本更加稳定且功能更加强大。 Hadoop的核心由两个主要组件构成:HDFS(Hadoop Distributed File System)和MapReduce。...
本文将详细介绍Hadoop 2.x的四种主要架构模型,聚焦于NameNode、ResourceManager、Secondary NameNode、DataNode、NodeManager等关键组件的角色及其在不同模型中的作用。 首先,我们来看第一种架构模型——NameNode...
hadoop集群搭建高可用文档在Hadoop2.x之后的版本,提出了解决单点问题的方案--HA(High Available 高可用)。这篇博客阐述如何搭建高可用的HDFS和YARN,执行步骤如下: 创建hadoop用户 安装JDK 配置hosts 安装SSH ...