CDH集群中HDFS单点故障解决方案:HA模式(High Availability)

Step1 什么是单点故障?

单点故障(英语:single point of failure,缩写SPOF)是指系统中一旦失效,就会让整个系统无法运作的部件,换句话说,单点故障即会整体故障。

图中的路由器就是一个SPOF,若该路由器失效,这些电脑之间的通信就无法运作
图中的路由器就是一个SPOF,若该路由器失效,这些电脑之间的通信就无法运作

Step2 HDFS为什么会出现单点故障?它是怎么解决的?

我们先来看看HDFS的架构,可以看到只有一个NameNode节点,这就意味着NameNode节点一旦失效,就会让整个系统无法运作。在单点故障和精简架构两面不可兼得的情况下,他们选择了精简架构。

原话是这么说的:
The existence of a single NameNode in a cluster greatly simplifies the architecture of the system. The NameNode is the arbitrator and repository for all HDFS metadata. The system is designed in such a way that user data never flows through the NameNode.

在这里插入图片描述
NameNode服务负责HDFS文件系统Namespace的操作,包括打开、关闭、重命名文件和目录。以及是HDFS元数据(Metadata)的管理中心和存储库,存储的是文件系统的所有更改记录。NameNode不负责元数据的存储,只记录元数据的存储位置。这大概是架构师选择单点NameNode的原因吧。

Step3 开启HDFS的高可用(High Avaliability)模式
  1. CDH集群下开启HDFS的高可用模式,开启后会关闭SecondaryNameNode
    在这里插入图片描述
  2. 选择zk节点的服务器承载JournalNode(zookeeper至少3个节点)
    在这里插入图片描述
  3. JournalNode的目录建议配置在/dfs目录下:/dfs/nn
    *注意:此时需要删除NameNode所在节点的/dfs/nn的文件,执行:rm -rf /dfs/nn;否则会出现异常
    在这里插入图片描述
  4. 启动过程中出现异常
    在这里插入图片描述
    创建/tmp目录失败解决方案:手动在hdfs文件系统创建/tmp目录
    。切换到hdfs用户:
    su hdfs,执行创建操作:hadoop dfs -mkdir /tmp
    注:该异常不影响HA模型的部署,完成HA模式的启动步骤后,再手动创建/tmp目录即可
  5. 成功启用HA模式,需要更新Hive Metastore NameNode
    如果缺少该步骤,进入hive控制台会提示FAILED: SemanticException Unable to determine if hdfs://hadoop7:8020/test/test_table is encrypted:
    我这里已经更新过了,所以不能再点击:
    在这里插入图片描述
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值