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/

  • 相关阅读:
    窗口显示于parent控件上
    DELPHI SOCKET 通信编程要点小结
    dxBarManagerToDxNavBar方法
    DLL直接返回对象
    海量数据库的查询优化及分页算法方案
    excel怎么只打印某页?excel怎么只打印某几页
    HTTP请求错误400、401、402、403、404、405、406、407、412、414、500、501、502解析
    excel中如何设置只打印第一页
    Navicat Premium 常用功能讲解
    laravel查询构造器DB还是ORM,这两者有什么区别,各该用在什么场景中
  • 原文地址:https://www.cnblogs.com/catWang/p/4097300.html
Copyright © 2011-2022 走看看