zoukankan      html  css  js  c++  java
  • 在Hadoop集群中添加机器和删除机器

    本文转自:http://www.cnblogs.com/gpcuster/archive/2011/04/12/2013411.html

    无论是在Hadoop集群中添加机器和删除机器,都无需停机,整个服务不中断。

    本次操作之前,Hadoop的集群情况如下:

    HDFS的机器情况如下:

    [$%7O6{)LM1M[~W15O4JOVC

    MR的机器情况如下:

    K0%4$0K9YISIGZ$W]0V(_G8

    添加机器

    在集群的Master机器中,修改$HADOOP_HOME/conf/slaves文件,在其中添加需要加入集群的新机器(hp3)的主机名:

    hp3
    hp2
    dell1
    dell2
    dell3
    dell4

    然后在Master机器中执行如下命令:

    $HADOOP_HOME/bin/start-all.sh

    这样操作完成之后,新的机器就添加到集群中来了。

    HDFS集群增加了一台新的机器:

    819BH7[D$EREKMB8D_WJBSU

    MR集群中也新增了一台机器:

    Q5CV$04(6({R8ZTJJ$FW_T7

    删除机器

    不安全的方式

    由于Hadoop集群自身具备良好的容错性,可以直接关闭相应的机器,从而达到将该机器撤除的目的。但是如果一次性操作3台以上的机器,就有可能造成部分数据丢失,所以不推荐使用这种方式进行操作。

    安全的方式

    在集群的Master机器中,新建一个文件:$HADOOP_HOME/conf/nn-excluded-list,在这个文件中指定需要删除的机器主机名(hp3):

    hp3

    然后,修改Master机器的配置文件:$HADOOP_HOME/conf/hdfs-site.xml,添加如下内容:

    <property>

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

      <value>conf/nn-excluded-list</value>

    </property>

    最后,在Master机器中执行如下命令:

    $HADOOP_HOME/bin/hadoop dfsadmin -refreshNodes

    这样操作完成之后,可以在HDFS集群中看到,hp3机器已经处于Decommission In Progress状态:

    C1X8DJ7(]I48C}{@(JOIPTD

    但是MR机器中hp3机器依旧在运行中:

    Q5CV$04(6({R8ZTJJ$FW_T7

    我们需要等待一定的时间,等待hp3中datanode的Decommission操作完成以后,再到hp3机器中关闭所有的Hadoop进程即可。

    这样就完成了整个从集群中删除机器的操作。

    更多关于Hadoop的文章,可以参考:http://www.cnblogs.com/gpcuster/tag/Hadoop/

  • 相关阅读:
    POJ 1003 解题报告
    POJ 1004 解题报告
    POJ-1002 解题报告
    vi--文本编辑常用快捷键之光标移动
    常用图表工具
    September 05th 2017 Week 36th Tuesday
    September 04th 2017 Week 36th Monday
    September 03rd 2017 Week 36th Sunday
    September 02nd 2017 Week 35th Saturday
    September 01st 2017 Week 35th Friday
  • 原文地址:https://www.cnblogs.com/catWang/p/4097300.html
Copyright © 2011-2022 走看看