zoukankan      html  css  js  c++  java
  • Hadoop添加删除节点

    一、本文说明:

        本文参照网上的一些资料做了对hadoop节点的添加和删除实验。

    二、删除节点:

        1.集群配置:

          修改/conf/hdfs-site.xml文件

    [jack@node1 conf]$ cat hdfs-site.xml 
    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    
    <!-- Put site-specific property overrides in this file. -->
    
    <configuration>
     <property>
      <name>dfs.name.dir</name>
      <value>/user/hdfs/name</value>
      </property>
      <property>
      <name>dfs.data.dir</name>
      <value>/user/hdfs/data</value>
      </property>
      <property>
      <name>dfs.replication</name>
      <value>2</value>
      </property>
    <property>   
        <name>dfs.hosts.exclude</name>   
        <value>/hadoop-0.20.2/conf/hdfs_exclude</value>  
    </property> 
    </configuration>

        2.确定要下架的机器
          dfs.hosts.exclude定义的文件内容为,每个需要下线的机器,一行一个。这个将阻止他们去连接Namenode。如:

    [jack@node1 conf]$ vi hdfs_exclude
    node3

        3.强制重新加载配置

    1 [jack@node1 conf]$ /hadoop-0.20.2/bin/hadoop dfsadmin -refreshNodes

          它会在后台进行Block块的移动。

        4.关闭节点
          等待刚刚的操作结束后,需要下架的机器就可以安全的关闭了。

    1 [jack@node1 conf]$ /hadoop-0.20.2/bin/hadoop dfsadmin -report

          可以查看到现在集群上连接的节点:

    Name: 192.168.1.153:50010
    Decommission Status : Decommission in progress
    Configured Capacity: 9353789440 (8.71 GB)
    DFS Used: 36864 (36 KB)
    Non DFS Used: 3458674688 (3.22 GB)
    DFS Remaining: 5895077888(5.49 GB)
    DFS Used%: 0%
    DFS Remaining%: 63.02%
    Last contact: Wed May 15 22:59:07 CST 2013
    
    
    Name: 192.168.1.153:50010
    Decommission Status : Decommissioned
    Configured Capacity: 9353789440 (8.71 GB)
    DFS Used: 28672 (28 KB)
    Non DFS Used: 3408281600 (3.17 GB)
    DFS Remaining: 5945479168(5.54 GB)
    DFS Used%: 0%
    DFS Remaining%: 63.56%
    Last contact: Thu Jan 01 08:00:00 CST 1970

        5.再次编辑dfs.hosts.exclude文件

          一旦完成了机器下架,它们就可以从dfs.hosts.exclude文件移除。

         登录要下架的机器,会发现Datanode进程没有了,但是TaskTracker依然存在,需要手工处理一下。
         备注:如果想要重新加入集群中,只需把dfs.hosts.exclude文件中的内容删除,再刷新一次,手动去启动加入进来的节点。

    三、添加节点:

        大致步骤:

        1)、在新节点安装好hadoop;

        2)、把namenode的有关配置文件复制到该节点;

        3)、修改master和slaves文件,增加该节点;

        4)、设置ssh免密码进出该节点;

        5)、单独启动该节点上的datanode和tasktracker(hadoop-daemon.sh start tasktracker/datanode);

        6)、运行start-balancer.sh进行数据负载均衡。

        具体实验步骤:

        1.修改hosts

          和普通的datanode一样。添加namenode的ip。

        2.修改namenode的配置文件conf/slaves

          添加新增节点的ip或host

        3.在新节点的机器上,启动服务

    [jack@node4 conf]$ /hadoop-0.20.2/bin/hadoop-daemon.sh start tasktracker
    starting tasktracker, logging to /hadoop-0.20.2/bin/../logs/hadoop-jack-tasktracker-node4.out
    [jack@node4 conf]$ jps
    3508 Jps
    3476 TaskTracker
    [jack@node4 conf]$ /hadoop-0.20.2/bin/hadoop-daemon.sh start datanode
    starting datanode, logging to /hadoop-0.20.2/bin/../logs/hadoop-jack-datanode-node4.out
    [jack@node4 conf]$ jps
    3556 DataNode
    3476 TaskTracker
    3602 Jps

        4.均衡block

    [jack@node1 bin]$ ./start-balancer.sh

          1)、如果不balance,那么cluster会把新的数据都存放在新的node上,这样会降低mapred的工作效率。
          2)、设置平衡阀值,默认是10%,值越低各节点越平衡,但消耗时间也更长。

          3)、设置balance的带宽,默认只有1M/s

    <property>
       <name>dfs.balance.bandwidthPerSec</name>  
       <value>1048576</value>  
       <description>  
         Specifies the maximum amount of bandwidth that each datanode   
         can utilize for the balancing purpose in term of   
         the number of bytes per second.   
       </description> 
    </property>
  • 相关阅读:
    mount挂载命令
    centos和redhat的区别
    查不认识字的方法
    Prometheus介绍及docker安装方式
    Pinpoint介绍及docker安装方式
    虚拟机安装linux
    yum命令
    docker命令
    PTA数据结构与算法题目集(中文) 7-43字符串关键字的散列映射 (25 分)
    PTA数据结构与算法题目集(中文) 7-42整型关键字的散列映射 (25 分)
  • 原文地址:https://www.cnblogs.com/Richardzhu/p/3080947.html
Copyright © 2011-2022 走看看