Hadoop自由实现伸缩节点详细说明-Hadoop商业环境实战

栏目: 编程工具 · 发布时间: 7年前

内容简介:本套技术专栏是作者(秦凯新)平时工作的总结和升华,通过从真实商业环境抽取案例进行总结和分享,并给出商业应用的调优建议和集群环境容量规划等内容,请持续关注本套博客。QQ邮箱地址:1120746959@qq.com,如有任何学术交流,可随时联系。

本套技术专栏是作者(秦凯新)平时工作的总结和升华,通过从真实商业环境抽取案例进行总结和分享,并给出商业应用的调优建议和集群环境容量规划等内容,请持续关注本套博客。QQ邮箱地址:1120746959@qq.com,如有任何学术交流,可随时联系。

1 节点扩容

  • 配置/etc/hosts添加新节点的IP和主机名

  • 配置etc/hadoop/slaves添加新节点的主机名

  • 配置hdfs-site.xml,设置节点平衡带宽设置(默认值1M,下面设置为10M)

    <property>
              <name>dfs.datanode.balance.bandwidthPerSec</name>
              <value>20971520</value>
      </property>
    复制代码
  • 在新节点上执行datanode

    hadoop-daemon.sh start datanode
    复制代码
  • 数据平衡,让各个DataNode中的数据均匀分布,threshold是平衡阈值,默认值允许10%的差异,值越小越平衡,但花费的时间会越长,平衡时先通过NameNode提供的元数据进行平衡规划,然后开启多线程将数据从老节点移到新节点。

    start-balancer.sh -threshold 5
    复制代码
  • 设置平衡时使用的网络带宽(字节/秒),在网络带宽受限的情况下,平衡速度较慢,需要耐心等待一段时间才能观察到效果

    hdfs dfsadmin -setBalancerBandwidth20971520
    复制代码

2 节点缩容

  • 在namenode中打开hdfs-site.xml,设置节点排除文件的位置(必须是绝对路径),在excludes文件中添加要排除的节点主机名,一行一个

    <property>
              <name>dfs.hosts.exclude</name>
              <value>/usr/local/hadoop/etc/hadoop/excludes</value>
      </property>
    复制代码
  • 更新节点配置,然后在Hadoop站点上很快就能看到Decommission正在进行,此时NameNode会检查并将数据复制到其它节点上以恢复副本数(要移除的节点上的数据不会被删除,如果数据比较敏感,要手动删除它们)

    NameNode中执行下面命令,强制重新加载配置:

    hdfs dfsadmin -refreshNodes
    复制代码
  • 查看资源汇报情况

    hdfs dfsadmin -report
    复制代码
  • 等状态变成Decommissioned后就可以关闭这个节点了,可在要移除的节点上运行相应的关闭命令,几分钟后,节点将从Decommissioned进入Dead状态。

    hadoop-daemon.sh stop datanode
    复制代码
  • 更新集群配置(所有节点同步)

    NameNode的excludes文件及slaves文件、hosts文件中去掉已经移除的主机名。
    复制代码

以上所述就是小编给大家介绍的《Hadoop自由实现伸缩节点详细说明-Hadoop商业环境实战》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

python学习手册(原书第5版)

python学习手册(原书第5版)

马克·卢茨 / 机械工业出版社 / 2018-10 / 219

如果你想动手编写高效、高质量并且很容易与其他语言和工具集成的代码,本书将快速地帮助你利用Python提高效率。本书基于Python专家的流程培训课程编写,内容通俗易懂。本书包含很多注释的例子和插图,以帮助你开始使用Python2.7和3.3。每章都包含关于Python语言的重要组成部分的一节课。本书主要内容:了解Python的主要内置对象类型,如数字、列表和字典;创建和处理对象的Python语句,......一起来看看 《python学习手册(原书第5版)》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试