博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hadoop自由实现伸缩节点详细说明-Hadoop商业环境实战
阅读量:5923 次
发布时间:2019-06-19

本文共 1780 字,大约阅读时间需要 5 分钟。

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

1 节点扩容

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

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

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

    dfs.datanode.balance.bandwidthPerSec
    20971520
    复制代码
  • 在新节点上执行datanode

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

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

    hdfs dfsadmin -setBalancerBandwidth 20971520复制代码

2 节点缩容

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

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

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

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

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

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

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

4 自动数据转移,默认死亡时间

datenode 与namenode 之间的通信是通过心跳的机制,当超过一定的时间则默认为datanode 为死亡 ,默认的死亡的事件为:10分钟+30秒 ,可同一下配置文件配置:

hdfs-site.xml:

       
           
heartbeat.recheck.interval
           
300
            
设置的大小
       
     
             
dfs.heartbeat.interval
             
5
             
默认值
       
复制代码

总结

最近需要进行集群资源规划,不得进行Hadoop伸缩节点。

秦凯新 于深圳

转载地址:http://mrivx.baihongyu.com/

你可能感兴趣的文章
以Ajax的方式访问数据库
查看>>
----
查看>>
利刃 MVVMLight 6:命令基础
查看>>
retain和copy的区别 #import @class 的区别
查看>>
分子求和
查看>>
hadoop默认和常用配置
查看>>
Android如何使用读写cookie的方法
查看>>
iis access denied, you do not have permission.
查看>>
Cap11_项目风险管理
查看>>
《Python高性能编程》——列表、元组、集合、字典特性及创建过程
查看>>
杭电1212--Big Number
查看>>
杭电1050--Moving Tables(区间覆盖)
查看>>
vue(从白痴到白痴)
查看>>
Wpf 依赖属性 附加属性
查看>>
几种Robust方法对比
查看>>
BurpSuite—-Sequencer模块(定序器)
查看>>
redis 缓存功能摘要
查看>>
克隆后虚拟机网络配置
查看>>
python 循环
查看>>
使用wpa_supplicant连接WIFI
查看>>