美文网首页
HDFS Federation HA 混合环境介绍

HDFS Federation HA 混合环境介绍

作者: 让随着风飘 | 来源:发表于2018-07-27 16:36 被阅读24次

    简介

        本文重在介绍这两种功能的融合,结构设计即关键配置。版本为hadoop3.0.3

    HA即高可用,master-slave模式中通常用来解决单节点风险。

    Federation,中文翻译为联邦,多个 NN 共用一个集群里的存储资源,每个 NN 都可以单独对外提供服务。每个 NN 都会定义一个存储池,有单独的 id,每个 DN 都为所有存储池提供存储。DN 会按照存储池 id 向其对应的 NN 汇报块信息,同时,DN 会向所有 NN 汇报本地存储可用资源情况。

    官网Federation概念图

    平常使用最多的是单个nameservice,只有一个namespace,这里Federation功能可以让一个HDFS集群有多个nameservice,多个namespace。

    访问不同的namespace中的文件都是不一样的,不同nameservice中的元数据也不一样。

    HA+Federation架构设计图

    上面图是三个nameservice使用同一个datanode集群的架构图,每一个nameservice可以做成传统[namenode,sercondaryname]

    也可以做成HA模式。HA解决单节点故障问题,Federation解决namenode内存瓶颈问题。

    配置

    hdfs-site.xml

    由于不知道怎么粘xml格式内容,这里只能使用截图。这些配置在hdfs-default.xml中都有,只是有的需要自己加上后缀nameservice的名字

    配置三个nameservice nameservice1的配置 nameservice2的配置 nameservice3的配置

    core-site.xml

    如果配置成功之后在每个datanode节点下面会有多个BlockPool,我实验只配置了两个nameservice。

    如果不能切换active,standby,可以检查active NN上fuser命令是否有安装,因为做failover操作的时候会使用这个命令杀死原来的active NN。

    如果执行hdfs dfs -ls /提示不能识别默认ns1名字空间,可以检查dfs.client.failover.proxy.provider.[ns2](hdfs-site.xml)是不是没加后缀,这个参数用于管理HA功能中转移请求到active节点。

    如果单个HA nameservice已经格式化,其他备用standby的节点namenode无法启动,日志提示没有格式化,那么执行hdfs namenode -initializeSharedEdits。

    如果传统[namenode,secondaynode]的nameservice提示不能有ha的配置,那是因为有些应该属于某些ha nameservice的配置没加它的后缀。

    由于配置,步骤比较复杂,这里介绍比较粗略,重在介绍概念。有兴趣的伙伴可参考官网,以及本文介绍自行搭建。

    官网网址

    HDFS Federation

    NameNode HA With QJM

    相关文章

      网友评论

          本文标题:HDFS Federation HA 混合环境介绍

          本文链接:https://www.haomeiwen.com/subject/rrcgmftx.html