首页 > 代码库 > Configuring HDFS High Availability

Configuring HDFS High Availability

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

技术分享

1.2点击-实例
1.3点击-启用High Availability

技术分享

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。然后点击-继续

技术分享
2.1.5返回实例页面,选择你刚才选择将要安装HttpFS role的主机
2.1.6点击-已选定的操作-点击启动
2.1.7当启动命令运行完成后,点击-服务-选择Hue

技术分享

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

技术分享

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

技术分享

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


3.Updating the Hive Metastore for HDFS High Availability

3.1点击-服务,选择Hive

技术分享

3.2点击-操作-停止

技术分享

技术分享

3.3备份你的Hive数据库
3.4点击-操作-更新Hive metastore NameNode

技术分享

3.5点击-操作-启动
3.6启动Hue和Impla,假设你之前关闭了


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


1.点击-服务。选择HDFS
2.点击-实例
3.点击-启用自己主动故障转移

技术分享


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

技术分享










Configuring HDFS High Availability