美文网首页其他
Hadoop平台运维-动态节点热添加

Hadoop平台运维-动态节点热添加

作者: CoderInsight | 来源:发表于2022-08-08 11:28 被阅读0次

0.参考网址

1.Hadoop2.6集群动态增加和删除数据节点(DataNode)

1.背景

Hadoop平台的动态热添加是指在Hadoop集群已经在运行的状态,此时需要添加新的数据节点(DataNode),或者是将某个数据节点下线。由于业务的需要,所以集群是不能重启的。

2.简介

  • 由dfs.hosts配置选项指定的白名单文件,当要新上线数据节点的时候,需要把数据节点的名字追加在此文件中;
  • 由dfs.hosts.exclude配置选项指定的黑名单文件,当要下线数据节点的时候,需要把数据节点的名字追加在此文件中;

3.环境搭建(节点增加)

开始之前,应该把所有新增数据节点上的Hadoop环境都配置好(如果要直接复制已经存在节点的hadoop文件夹,应该删掉里面已经产生的集群数据,比如tmp和data目录,不然会出问题)

  1. 关闭新加入数据节点的防火墙。

  2. 在各个节点上把新增节点的hosts信息补充完整

  3. 在两个NameNode上,打通向新增数据节点无密钥SSH登录的通道。

  4. 在两个NameNode上的dfs.hosts指定的白名单文件中追加上所有新增的数据节点的hostname,需要更改下hdfs-site.xml,黑名单文件用于排除集群中的节点

    <property>
        <name>dfs.hosts</name>
        <value>/usr/hadoop/etc/hadoop/datanode-allow.list</value>
    </property>
    <property>
        <name>dfs.hosts.exclude</name>
        <value>/usr/hadoop/etc/hadoop/datanode-deny.list</value>
    </property>
    
  5. 在namenode上执行如下刷新命令:hdfs dfsadmin -refreshNodes;

    可通过hdfs dfsadmin -report或者master:50070 web端口查看当前集群节点状态

  6. 在两个NameNode节点上,更改slaves文件,将要上线的数据节点hostname追加到slaves文件中。

    在slave上启动datanode和nodemanager进程:

    sbin/hadoop-daemon.sh start datanode

    sbin/yarn-daemon.sh start nodemanager

    用新增节点用jps查看进程,可在master节点通过yarn node -list查看集群情况

  7. 均衡block(非必须,根据集群情况设定)

    ./bin/start-balancer.sh
    

    (1).如果不balance,那么cluster会把新的数据都存放在新的node上,这样会降低mapred的工作效率

    (2).设置平衡阈值,默认是10%,值越低各节点越平衡,但消耗时间也更长

    hdfs balancer -threshold 5
    
    1. 设置balance的带宽,默认只有1M/s
    hdfs dfsadmin -setBalancerBandwidth 67108864
    

4.环境搭建(节点删除)

数据节点的删除和上述步骤类似,只不过在master上修改datanode-allow.list和datanode-deny.list,还有slaves文件并且同步到master2上。整个操作的过程中都不涉及集群的重启~等待刷新的操作结束后,需要下架的机器就可以安全的关闭了。

hdfs dfsadmin -refreshNodes
hadoop dfsadmin -report
# 可以查看到现在集群上连接的节点
正在执行Decommission,会显示:
Decommission Status : Decommission in progress  

执行完毕后,会显示:
Decommission Status : Decommissioned

5.环境搭建(重新加入各个删除的节点)

1,在master的datanode-deny.list删除相应机器

2,在master上刷新节点配置情况:

hadoop dfsadmin -refreshNodes

3,在slave上重启tasktracker进程:

hadoop-daemon.sh start datanode

PS:如果之前没有关闭该slave上的datanode进程,需要先关闭再重新启动。

相关文章

  • Hadoop平台运维-动态节点热添加

    0.参考网址 1.Hadoop2.6集群动态增加和删除数据节点(DataNode)[https://my.osch...

  • Hadoop相关文章索引(2)——Hadoop运维主题

    hadoop运维笔记1 Hadoop集群日常运维 Hadoop运维经验杂谈 Hadoop运维笔记 之 调整hdfs...

  • Hadoop运维

    Hadoop集群运维 场景1:namenode节点故障,active namenode节点状态切换?如何恢复? 1...

  • Hadoop运维

    删除日志目录后无法写入日志 问题描述:因为磁盘空间不足触发报警,第一时间我变情况了日志目录,但是最后发现日志写不进...

  • hadoop 运维

    ssh-copy-id slave1There appears to be a gap in the edit l...

  • Hadoop 运维

    DataNode节点退役 1.在hadoop的配置目录修改datanode-deny.list添加待下线节点hos...

  • Spark组件部署-单节点

    一、[[Hadoop平台搭建-单节点-伪分布式|构建Hadoop基础平台]] 二、Spark on yarn 当前...

  • ansibleNote

    集群自动化运维简单心得:(主管理节点必须是linux服务器,尽量使用root进行管理控制权限) 场景:hadoop...

  • Hadoop添加新节点

    登录要加入集群的新节点,并添加hadoop用户 切换到hadoop用户,并将hadoop程序目录拷贝到hadoop...

  • 教你制作最强运维监控大屏

    IT新一代运维大屏,数据驱动运维智能化 重新定义,运维监控平台 运维数据融合集成,构建最强运维平台 用户知识图谱化...

网友评论

    本文标题:Hadoop平台运维-动态节点热添加

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