不停集群的情况下增删节点

http://coderplay.javaeye.com/blog/290767

 

http://www.javaeye.com/topic/350223

 

添加节点

操作如下:
首先 把新节点的 IP或主机名 加入主节点(master)的 conf/slaves 文件。
然后 登录新的从节点,执行以下命令:
$ cd path/to/hadoop
$ bin/hadoop-daemon.sh start datanode
$ bin/hadoop-daemon.sh start tasktracker

然后 就可以在namanode机器上运行balancer,执行负载均衡
$bin/hadoop  balancer

 

注:在0.21中执行bin/hadoop-daemon.sh start datanode 会提示该命令已废除,建议使用./hdfs datanode 命令,但是用后者反而会抛异常。

 

删除节点

比如我原来有10个节点的集群. 现在我想停掉2个,但数据不能丢失,只能让它们的数据转移到其它8台上.这道过程就是decommission. 我们不能直接把那2台停掉, 要在停掉之前把数据转移出去.

首先建立一个excludes文件.它是一个文本, 里面每行就是想要停掉的主机名.这里excludes 放在 $HADOOP_HOME下
例如
CS02
CS03
CS04
CS05
CS06
CS07
CS08
CS09
CS10
这样就表明要把9台机器给停了.


然后在conf/hadoop-site.xml添加这样的属性:
  <property>                                                                                                                       
        <name>dfs.hosts.exclude</name>                                                                                             
        <value>excludes</ value>                                                                                                    
  </property>  

做完这步, 用bin/hadoop dfsadmin -refreshNodes命令更新结点以及hadoop配置

然后你可以通过 bin/hadoop dfsadmin -report 就可以查看到类似这样的信息:
Name: 192.168.0.86:50010
State          : Decommission in progress
Total raw bytes: 30452150272 (28.36 GB)
Remaining raw bytes: 17727606637(16.51 GB)
Used raw bytes: 6480990208 (6.04 GB)
% used: 21.28%
Last contact: Thu Nov 27 02:25:40 CST 2008

Name: 192.168.0.89:50010
State          : Decommissioned
Total raw bytes: 0 (0 KB)
Remaining raw bytes: 0(0 KB)
Used raw bytes: 4703211520 (4.38 GB)
% used: ∞%
Last contact: Thu Jan 01 08:00:00 CST 1970

可以看到86在停止中, 89已经停止了.
在没停止之前, mapreduce会拒绝操作. 会出异常的

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值