HDFS的HA(高可用)搭建

HA(高可用)搭建

前言:

HDFS的高可用简单来说分为两部分:共享editLog和ZKFC对NN的状态的控制

目录

前言:

目录

一、准备工作

二、修改hadoop-env.sh

三、修改hdfs-site.xml

四、修改core-size.xml

五、分发修改的配置文件

六、Zookeeper的安装和配置

七、启动journalnode守护进程

八、备NameNode复制主NameNode信息

九、在ZooKeeper中初始化所需状态

十、启动和测试集群

(1)、启动

(2)、测试故障转移之杀掉NameNode

(3)、测试故障转移之杀掉ZKFC

一、准备工作

1.部署图,node01节点部署主NameNode,node02节点部署备NameNode,node03、node04为DataNode;

ZK: Zookeeper,分布式应用程序协调服务

ZKFC: ZooKeeper Failover Controller,是Hadoop中通过ZK实现FC功能的一个实用工具。FC是要和NN一一对应的,每个运行NN的节点必须要运行一个zkfc。它负责监控NN的状态,并及时的把状态信息写入ZK。它通过一个独立线程周期性的调用NN上的一个特定接口来获取NN的健康状态,如果某台机器上的ZKFC监测到异常,那么会通过Fencing功能关闭它(确保关闭或者不能提供服务,否者可能出现脑裂的情况),然后在ZK上删除它对应ZNode,其他机器ZKFC会收到消息并从新选举一个节点为Active状态

JNN: JournalNode Daemon,,JournalNode守护进程。为了使备用节点保持其状态与Active节点同步,两个节点都与一组称为“JournalNodes”(JN)的单独守护进程通信。当Active节点执行任何修改时,它会将修改记录持久地记录到大多数这些JN中。待机节点能够从JN读取编辑,并且不断观察它们对编辑日志的更改。当备用节点看到编辑时,它会将它们应用到自己的namespace。如果发生故障转移,Standby将确保在将自身升级为Active状态之前已从JournalNodes读取所有编辑内容。这可确保在发生故障转移之前完全同步namespace状态。JournalNodes只允许一个NameNode进行写操作。

JournalNode守护程序相对轻量级,因此这些守护程序可以合理地与其他Hadoop守护程序并置在机器上,例如NameNodes,JobTracker或YARN ResourceManager。注意:必须至少有3个JournalNode守护进程,因为编辑日志修改必须写入大多数JN。这将允许系统容忍单个机器的故障。您也可以运行3个以上的JournalNodes,但为了实际增加系统可以容忍的失败次数,您应该运行奇数个JN(即3,5,7等)。请注意,当使用N JournalNodes运行时,系统最多可以容忍(N-1)/ 2个故障并继续正常运行。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值