Configuring HDFS High Availability

原文请訪问 http://blog.csdn.net/ashic/article/details/47024617,突袭新闻小灵儿,linux公社,各种爬虫狗。在这里问候你们全家

Configuring HDFS High Availability

我们能够通过Clouder Manager来配置你的CDH4 Cluster来实现HDFS的HA





一、SecondaryNameNode能否够在NameNode宕机时接管,成为新的“NameNode”?

答案是否定的









NameNode

首先我们须要了解,NameNode负责管理文件系统的namespace,维护整个文件系统的文件文件夹树。及这些文件的索引文件夹。

这些信息以两种形式存储在本地文件系统中:

1.命名空间镜像(fsimage)

2.编辑日志(edit-logs)





须要注意的是,这些信息不是永久保存的,NameNode会在每次系统启动时动态地重建这些信息





SecondaryNameNode

从元数据节点并非元数据节点出现故障时候的备用节点,它和元数据节点负责不同的事情

其主要功能就是周期性将元数据节点的命名空间镜像文件和改动日志合并,以防日志文件过大

合并过后的命名空间镜像文件也在从元数据节点保存了一份。以防元数据节点失败的时候。能够恢复





二、配置HDFS HA(採用QJM)

HDFS HA架构中,由两个NameNode组成 —— Active NameNode 和 Standby NameNode

仅仅有一个NameNode能够处于Active状态

为了让Standby Node与Active Node保持同步,这两个Node都与一组称为JNS的互相独立的进程保持通信(Journal Nodes)。当Active Node上更新了namespace,它将记录改动日志发送给JNS的多数派。

Standby noes将会从JNS中读取这些edits,并持续关注它们对日志的变更。Standby Node将日志变更应用在自己的namespace中。当failover发生时,Standby将会在提升自己为Active之前。确保可以从JNS中读取全部的edits-log;即在failover发生之前,Standy持有的namespace应该与Active保持全然同步。





三、配置HA

1.Enabling High Availability with Quorum-based Storage

1.1点击-服务,选择HDFS

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

1.2点击-实例

1.3点击-启用High Availability

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

1.4下一个页面显示了有资格作为Standby NameNode和JournalNodes的主机

a.选择 启用基于Quorum存储的High Availability为High Availability类型

b.选择你要作为Standby NameNode的主机.Standby NameNode和Active NameNode不能够再一台主机上,而且要和Active NameNode拥有同样的硬件配置

c.选择奇数数量的host作为JournalNodes.JournalNodes应部署在与NameNode具有相似硬件配置的主机上。建议在Active NameNode和Standby NameNode分别部署一个JournalNode,并在一个与它们具有相似硬件配置的主机不是第三个JournalNode.

d.点击-继续



1.5在接下来出现的界面,为每一个JournalNode指定JournalNode编辑文件夹

a.你仅仅须要为每一个JournalNode指定一个文件夹。文件夹的名称不必统一

b.指定的文件夹由于空文件夹,而且有合适的权限

c.假设文件夹不为空,Clouder Manager不会删除这些内容;however, in that case the data should be in sync across the edits directories of the JournalNodes and should have the same version data as the NameNodes.

1.6点击-继续





假设你须要使用Hive,Impala或者Hue。你还须要运行以下的操作步骤

2.Post Setup Steps for Hue and Hive

不论你使用 Quorum-based storage 还是 NFS-mounted shared edits directory。你都是按以下的步骤进行配置来启用HA

2.1Configuring Hue to work with High Availability

2.1.1点击-服务。选择HDFS

2.1.2点击-实例

2.1.3点击-加入



2.1.4在接下来的页面,在HttpFS这一列中选择一个主机来安装HttpFS role。然后点击-继续

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

2.1.5返回实例页面,选择你刚才选择将要安装HttpFS role的主机

2.1.6点击-已选定的操作-点击启动

2.1.7当启动命令运行完成后,点击-服务-选择Hue

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

2.1.8点击-配置-查看和编辑

2.1.9在接下来出现的界面中。选择-服务范围,找到HDFS Web界面角色-选择之前选择的HttpFS role主机。然后点击保存更改

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

2.1.10重新启动Hue服务,是配置生效





3.Updating the Hive Metastore for HDFS High Availability

3.1点击-服务,选择Hive

3.2点击-操作-停止

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

3.3备份你的Hive数据库

3.4点击-操作-更新Hive metastore NameNode

3.5点击-操作-启动

3.6启动Hue和Impla,假设你之前关闭了





四、启用 Automatic Failover

注意:启动或禁用 Automatic Failover会关闭HDFS服务 和 基于HDFS的服务!

1.点击-服务。选择HDFS

2.点击-实例

3.点击-启用自己主动故障转移

启动故障自己主动转移成功

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

Configuring HDFS High Availability的更多相关文章

  1. HDFS Federation与HDFS High Availability详解

    HDFS Federation NameNode在内存中保存文件系统中每个文件和每个数据块的引用关系,这意味着对于一个拥有大量文件的超大集群来说,内存将成为限制系统横向扩展的瓶颈.在2.0发行版本系列 ...

  2. [HDFS Manual] CH4 HDFS High Availability Using the Quorum Journal Manager

    HDFS High Availability Using the Quorum Journal Manager HDFS High Availability Using the Quorum Jour ...

  3. HDFS High Availability(HA)高可用配置

    高可用性(英语:high availability,缩写为 HA) IT术语,指系统无中断地执行其功能的能力,代表系统的可用性程度.是进行系统设计时的准则之一. 高可用性系统意味着系统服务可以更长时间 ...

  4. HDFS High Availability Using the Quorum Journal Manager

    http://hadoop.apache.org/docs/r2.9.0/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.htm ...

  5. hadoop2.x HDFS HA linux环境搭建

    HDFS High Availability Using the Quorum Journal Manager 准备3台机器可以更多   NN  DN  ZK  ZKFC  JN  RM  DM  n ...

  6. hadoop 的HDFS 的 standby namenode无法启动事故处理

    standby namenode无法启动 现象:线上使用的2.5.0-cdh5.3.2版本Hadoop,开启了了NameNode HA,HA采用QJM方式.hadoop的集群的namenode的sta ...

  7. HDFS NameNode HA 部署文档

    简介: HDFS High Availability Using the Quorum Journal Manager Hadoop 2.x 中,HDFS 组件有三个角色:NameNode.DataN ...

  8. 第6章 HDFS HA配置

    目录 6.1 hdfs-site.xml文件配置 6.2 core-site.xml文件配置 6.3 启动与测试 6.4 结合ZooKeeper进行自动故障转移 在Hadoop 2.0.0之前,一个H ...

  9. hadoop权威指南(第四版)要点翻译(4)——Chapter 3. The HDFS(1-4)

    Filesystems that manage the storage across a network of machines are called distributed filesystems. ...

随机推荐

  1. Django实战(9):实现Product的输入校验

    让我们完成上一节中的任务: 1.验证price>0:需要在Form中验证: 2. 验证title唯一:在Model中验证: 3. 验证image_url的扩展名:在Form中验证,还可以顺便在M ...

  2. Hadoop整理二(Hadoop分布式存储系统HDFS)

    一.背景 当数据集的大小超过一台独立物理计算机的存储能力时,就有必要对它进行分区(partition) 并存储到若干台单独的计算机上.管理网络中跨多台计算机存储的文件系统称为分布式文件系统 (dist ...

  3. R语言实战(九)主成分和因子分析

    本文对应<R语言实战>第14章:主成分和因子分析 主成分分析(PCA)是一种数据降维技巧,它能将大量相关变量转化为一组很少的不相关变量,这些无关变量成为主成分. 探索性因子分析(EFA)是 ...

  4. 【基础知识】winfrom窗体的属性

    窗体的属性: Icon:窗体的右上角图标 FormBoarderStyle:窗体的边线样式 MaximizeBox: 最大化按钮是否可用 MinimizeBox:最小化按钮是否可用 Opacity:透 ...

  5. java面试数据类型

    1. Java的数据类型? 2. Java的封装类型? 3. 基本类型和封装类型的区别? 基本类型只能按值传递,而对应的封装类是按引用传递的. 基本类型是在堆栈上创建的,而所有的对象类型都是在堆上创建 ...

  6. [leetcode tree]103. Binary Tree Zigzag Level Order Traversal

    Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to ...

  7. CSS基础-DAY1

    CSS 概述CSS 指层叠样式表 (Cascading Style Sheets),样式定义了如何显示 HTML文件中的标签元素,CSS是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标 ...

  8. leetcode 无重复字符的最长子串 python实现

    这道题需要借助哈希查找key的O(n) 时间复杂度, 否则就会超时 初始化一个 哈希表\字典  dic 头指针start 初始为0 当前指针 cur 初始为0 最大长度变量 l 初始为0 用cur变量 ...

  9. Django小知识点整理

    一.Django中Choices字段显示中文的两种方式 1.get_xxxx_display():这种方式只能针对对象来使用 {% for row in server_list %} <li&g ...

  10. php开启memcache扩展

    1.下载memcache.dll(php7)https://github.com/nono303/PHP7-memcahe-dll/tree/master 2.将dll文件放到php7/ext目录下 ...