zoukankan      html  css  js  c++  java
  • Hadoop中正确地添加和移除节点

    正确地添加和移除节点

    添加节点

    克隆

    克隆一台全新的Linux(如有IP冲突,可右击VMware右下角网络图标断开连接)

    打开/etc/hostname修改主机名

    打开/etc/sysconfig/network-script/ifcfg-ens33修改IP

    重启

    安装

    使用安装包+hadoop-install.sh脚本快速安装一个Hadoop节点

    注意使用source hadoop-install.sh执行

    配置NameNode

    打开/etc/hosts添加新节点的IP和主机名

    打开etc/hadoop/slaves添加新节点的主机名

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

    <property>

    <name>dfs.datanode.balance.bandwidthPerSec</name>

    <value>20971520</value>

    </property>

    同步DataNode配置

    在所有DataNode节点上执行hadoop-pull.sh

    注意修改脚本中的NameNode变量值!

    启动

    在新节点上执行

    hadoop-daemon.sh start datanode

    平衡

    让各个DataNode中的数据均匀分布,

    start-balancer.sh -threshold 5

    -threshold是平衡阈值,默认值允许10%的差异,值越小越平衡,但花费的时间会越长

    通过下面的命令也可以设置平衡时使用的网络带宽(字节/秒)

    hdfs dfsadmin -setBalancerBandwidth20971520

    在网络带宽受限的情况下,平衡速度较慢,需要耐心等待一段时间才能观察到效果

    平衡时先通过NameNode提供的元数据进行平衡规划,然后开启多线程将数据从老节点移到新节点。

    如果想查看平衡的过程,可以用下面的命令:

    hdfs balancer -threshold 5

    移除节点

    如果节点中已经保存了数据,则从slaves中移除节点,重启集群这种暴力手段就不适用了,如果暴力删除则会造成数据丢失。为了解决生产环境中平稳安全地移除节点的问题,Hadoop提供了一个流程:

    设置排除

    namenode打开hdfs-site.xml,设置节点排除文件的位置(必须是绝对路径)

    <property>

    <name>dfs.hosts.exclude</name>

    <value>/usr/share/hadoop/etc/hadoop/excludes</value>

    </property>

    excludes文件中添加要排除的节点主机名,一行一个

    更新节点配置

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

    hdfs dfsadmin -refreshNodes

    Hadoop站点上很快就能看到Decommission正在进行,此时NameNode会检查并将数据复制到其它节点上以恢复副本数(要移除的节点上的数据不会被删除,如果数据比较敏感,要手动删除它们)。通过命令也可以查看状态:

    hdfs dfsadmin -report


    等状态变成Decommissioned后就可以关闭这个节点了,可在要移除的节点上运行相应的关闭命令,如:

    hadoop-daemon.sh stop datanode

    几分钟后,节点将从Decommissioned进入Dead状态。

     

    更新集群配置

    NameNodeexcludes文件及slaves文件、hosts文件中去掉已经移除的主机名

    在所有DataNode上执行hadoop-pull.sh脚本,同步配置。

  • 相关阅读:
    BZOJ-1625 宝石手镯 01背包(傻逼题)
    BZOJ-2929 洞穴攀岩 最大流Dinic(傻逼题)
    BZOJ3252: 攻略 可并堆
    二逼平衡树 Tyvj 1730 BZOJ3196 Loj#106
    [Noi2016]区间 BZOJ4653 洛谷P1712 Loj#2086
    [NOIP2014]飞扬的小鸟 D1 T3 loj2500 洛谷P1941
    BZOJ4554: [Tjoi2016&Heoi2016]游戏 luoguP2825 loj2057
    BZOJ 2599: [IOI2011]Race 点分治
    POJ1038 Bugs Integrated, Inc 状压DP+优化
    JLOI2015 城池攻占
  • 原文地址:https://www.cnblogs.com/yangxiansen/p/7859995.html
Copyright © 2011-2022 走看看