[关闭]
@zhangyy 2020-07-20T15:06:54.000000Z 字数 3106 阅读 158

部署Hadoop 的HDFS 的联盟 federation ( hdfs双 active)

大数据运维专栏


  • 一: 关于 hadoop 的hdfs 的联盟的 概述
  • 二: Hadoop 的 federation的部署
  • 三: 关于fedration 联盟的数据写入测试

一: 关于 hadoop 的hdfs 的联盟的 概述

1.1 hdfs federation 背景概述

  1.  单 NameNode 的架构使得 HDFS 在集群扩展性和性能上都有潜在的问题,当集群大到一定程度后,NameNode 进程使用的内存可能会达到上百 GNameNode 成为了性能的瓶颈。因而提出了 namenode 水平扩展方案-- Federation
  2.   Federation 中文意思为联邦,联盟,是 NameNode Federation,也就是会有多个NameNode。多个 NameNode 的情况意味着有多个 namespace(命名空间),区别于 HA 模式下的多 NameNode,它们是拥有着同一个 namespace。既然说到了 NameNode 的命名空间的概念,这里就看一下现有的 HDFS 数据管理架构,
  3. 如下图所示:

图片.png-18.7kB


1.2 Federation 架构设计

  1.  HDFS Federation 是解决 namenode 内存瓶颈问题的水平横向扩展方案。
  2.   Federation 意味着在集群中将会有多个 namenode/namespace。这些 namenode 之间是联合的,也就是说,他们之间相互独立且不需要互相协调,各自分工,管理自己的区域。分布式的 datanode 被用作通用的数据块存储存储设备。每个 datanode 要向集群中所有的namenode 注册,且周期性地向所有 namenode 发送心跳和块报告,并执行来自所有 namenode的命令。

图片.png-23.4kB


二: Hadoop 的 federation的部署

2.1 环境部署

  1. 承接在上文中的分布式部署环境

2.2编辑改变hadoop 的配置文件

  1. 编辑core-site.xml 文件:
  2. fat01.flyfish.com core-site.com 文件配置
  3. vim core-site.xml
  4. ----
  5. <configuration>
  6. <property>
  7. <name>fs.defaultFS</name>
  8. <value>hdfs://fat01.flyfish.com:8020</value>
  9. </property>
  10. <property>
  11. <name>hadoop.tmp.dir</name>
  12. <value>/opt/bigdata/hadoop/data</value>
  13. </property>
  14. </configuration>
  15. ----
  16. fat02.flyfish.com core-site.xml 文件配置
  17. <configuration>
  18. <property>
  19. <name>fs.defaultFS</name>
  20. <value>hdfs://fat02.hadoop.com:8020</value>
  21. </property>
  22. <property>
  23. <name>hadoop.tmp.dir</name>
  24. <value>/opt/bigdata/hadoop/data</value>
  25. </property>
  26. </configuration>
  27. ---
  28. fat03.flyfish.com core-site.xml 文件配置:
  29. <configuration>
  30. <property>
  31. <name>hadoop.tmp.dir</name>
  32. <value>/opt/bigdata/hadoop/data</value>
  33. </property>
  34. </configuration>
  35. ----

2.3 编辑hdfs-site.xml 文件:

  1. vim hdfs-site.xml (所有节点)
  2. <configuration>
  3. <property>
  4. <name>dfs.replication</name>
  5. <value>3</value>
  6. </property>
  7. <property>
  8. <name>dfs.nameservices</name>
  9. <value>ns1,ns2</value>
  10. </property>
  11. <property>
  12. <name>dfs.namenode.rpc-address.ns1</name>
  13. <value>fat01.flyfish.com:8020</value>
  14. </property>
  15. <property>
  16. <name>dfs.namenode.http-address.ns1</name>
  17. <value>fat01.flyfish.com:50070</value>
  18. </property>
  19. <property>
  20. <name>dfs.namenode.rpc-address.ns2</name>
  21. <value>fat02.flyfish.com:8020</value>
  22. </property>
  23. <property>
  24. <name>dfs.namenode.http-address.ns2</name>
  25. <value>fat02.flyfish.com:50070</value>
  26. </property>
  27. </configuration>

2.4 启动服务节点:

  1. 删掉原有分布式 节点上面的数据
  2. cd /opt/bigdata/hadoop/data
  3. rm -rf *
  4. ----
  5. 格式化HDFS 节点处理
  6. fat01.flyfish.com
  7. cd /opt/bigdata/hadoop/
  8. bin/hdfs namenode format clusterID hdfs-cluster

图片.png-89.2kB

图片.png-53.6kB

  1. fat02.flyfish.com
  2. cd /opt/bigdata/hadoop/
  3. bin/hdfs namenode format clusterID hdfs-cluster

图片.png-110.8kB

  1. 启动fat01.flyfish.comfat02.flyfish.com
  2. 节点上的namenode
  3. fat01.flyfish.com
  4. bin/hdfs --daemon start namenode

图片.png-13.4kB

  1. fat02.flyfish.com
  2. bin/hdfs --daemon start namenode

图片.png-13.6kB

  1. 启动各个节点上面datanode
  2. bin/hdfs --daemon start datanode

图片.png-20.9kB

图片.png-18.3kB

图片.png-25.2kB


  1. 打开fat01.flyfish.com hdfs 页面
  2. http://192.168.11.192:50070

图片.png-79kB

图片.png-74kB

  1. 打开fat02.flyfish.com hdfs 页面
  2. http://192.168.11.195:50070

图片.png-79.6kB

图片.png-61.9kB


三: hdfs federation 的测试

  1. fat01.flyfish.com
  2. hdfs dfs -mkdir /input
  3. hdfs dfs -put word.txt /input

图片.png-41.4kB

  1. fat02.flyfish.com 上面去查看
  2. hdfs dfs -ls /input
  3. fat02.flyfish.com 节点上面 是看不到 fat01.flyfish.com 上面 数据的

图片.png-12.8kB


  1. fat02.flyfish.com 创建目录与文件
  2. hdfs dfs -mkdir /flyfish
  3. hdfs dfs -put word.txt /flyfish

图片.png-38.4kB

  1. fat01.flyfish.com 节点上面去查看
  2. hdfs dfs -ls /flyfish
  3. 可以看出 fat01.flyfish.com 节点也 查看不了 fat02.flyfish.com 创建目录与文件

图片.png-10.5kB


  1. fat03.flyfish.com 节点访问
  2. hdfs dfs -ls /
  3. fat03.flyfish.com 因为没有NN 入口 访问的是 系统 目录

图片.png-46.6kB

  1. 综上所述: hdfs federation 公用的是底层数据主机的DN 节点,上层 走的NN 节点是不同的,另外
  2. 访问数据也是 从哪个NN节点 写入,也只能走这个节点去查看,其它节点访问不了。
  3. 如果该节点只做DN 节点默认 访问的是系统 所在 目录
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注