zoukankan      html  css  js  c++  java
  • HDFS集群中DataNode的上线与下线

    在HDFS集群的运维过程中,肯定会遇到DataNode的新增和删除,即上线与下线。这篇文章就详细讲解下DataNode的上线和下线的过程。

    背景

    在我们的微职位视频课程中,我们已经安装了3个节点的HDFS集群,master机器上安装了NameNode和SecondaryNameNode角色,slave1和slave2两台机器上分别都安装了DataNode角色。

    我们现在来给这个HDFS集群新增一个DataNode,这个DataNode是安装在master机器上

    我们需要说明的是:在实际环境中,NameNode和DataNode最好是不在一台机器上的,我们这里都放在master上,是因为我们的虚拟机资源有限。

    我们现在启动master、slave1和slave2三台虚拟机,然后启动HDFS集群,我们在HDFS的Web UI上可以看到有两个DataNode: 

    DataNode上线

    在NameNode所在的机器(master)上的配置文件hdfs-site.xml中增加"白名单"配置:

    <property>
        <!-- 白名单信息-->
        <name>dfs.hosts</name>
        <value>/home/hadoop-twq/bigdata/hadoop-2.7.5/etc/hadoop/dfs.include</value>
    </property>
    

      在master机器上执行下面的命令:

    ## 创建白名单文件
    touch /home/hadoop-twq/bigdata/hadoop-2.7.5/etc/hadoop/dfs.include
    

      在/home/hadoop-twq/bigdata/hadoop-2.7.5/etc/hadoop/dfs.include文件中增加如下内容:

    slave1
    slave2
    master

    其中,上面的master是新增的DataNode所在的机器
    /home/hadoop-twq/bigdata/hadoop-2.7.5/etc/hadoop/slaves文件中新增:
    master

    3.然后在NameNode所在的机器(master)上执行如下的命令:

    hdfs dfsadmin -refreshNodes
    

      然后,我们在HDFS的Web UI上查看DataNode的信息:


    可以看出,多了一个状态为Dead的DataNode

     可以看出,多了一个状态为Dead的DataNode

    4.在master机器上启动DataNode:

    hadoop-daemon.sh start datanode
    

      然后我们刷新HDFS的Web UI的DataNode信息,如下图:

     可以看出,DataNode现在是3个了,master上的DataNode已经启动起来,并且加入集群中

    DataNode的下线

    我们现在下线master上的DataNode,步骤如下:

    1. 在NameNode所在的机器(master)上的配置文件hdfs-site.xml中增加"黑名单"配置:
    <property>
        <!-- 黑名单信息-->
        <name>dfs.hosts.exclude</name>
        <value>/home/hadoop-twq/bigdata/hadoop-2.7.5/etc/hadoop/dfs.exclude</value>
    </property>
    

      在master机器上执行下面的命令:

    ## 创建黑名单文件
    touch /home/hadoop-twq/bigdata/hadoop-2.7.5/etc/hadoop/dfs.exclude
    

      在/home/hadoop-twq/bigdata/hadoop-2.7.5/etc/hadoop/dfs.exclude文件中增加如下内容:

    master
    

      其中,上面的master是需要下线的DataNode所在的机器

    /home/hadoop-twq/bigdata/hadoop-2.7.5/etc/hadoop/slaves文件中删除master

    然后在NameNode所在的机器(master)上执行如下的命令:

    hdfs dfsadmin -refreshNodes
    

      然后我们刷新HDFS的Web UI的DataNode信息,如下图:

     这个时候,master上的DataNode的状态变为Decommission In Progress。这个时候,在master上的DataNode的数据都在复制转移到其他的DataNode上,当数据转移完后,我们再刷新HDFS Web UI后,可以看到DataNode的状态变为Decommissioned,表示这个DataNode已经下线,如下图: 

    4. 在master上停止DataNode:

    hadoop-daemon.sh stop datanode
    

     5.刷新DataNode: 

    hdfs dfsadmin -refreshNodes
    

      

  • 相关阅读:
    使用shutdown命令实现局域网内远程关机、重启整蛊他人
    在foxmail和outlook中设置QQ邮箱、gmail邮箱、新浪邮箱、微软邮箱、网易邮箱等的方法
    万能驱动助理篡改主页为2345的解决办法
    巧用UserAgent来解决浏览器的各种问题
    各大浏览器保存密码的文件
    使用代理软件之后其他软件不能联网的解决方法
    windows xp/7/8/8.1/10安全模式详解和系统修复讲解
    VirtualBox更改默认路径
    Virtualbox中不能为虚拟机打开一个新任务的原因及解决方法
    xampp打开显示缺少运行库的解决方法
  • 原文地址:https://www.cnblogs.com/tesla-turing/p/11487957.html
Copyright © 2011-2022 走看看