【转 】Hadoop datanode添加与删除

出处:http://zzhblog.sinaapp.com/?p=82

一、 Hadoop节点热拔插

在Hadoop集群中经常会进行增添节点操作,即实现节点的热拔插。在这些操作中不希望对集群进行重启。

2.在集群中添加节点:

a. 把新节点IP或者主机名字加入到主节点的slaves文件。

b. 登录到新节点,执行:

1
2
3
 cd $HADOOP_HOME
 bin /hadoop-daemon .sh start datanode
 bin /hadoop-daemon .sh start tasktracker

3. 从集群中移走节点,且对移走节点的数据进行备份:

a. 在主节点的core-site.xml配置文件中添加

1   
2
3
4
5
< property >
   < name >dfs.hosts.exclude</ name >
   < value >/usr/local/hadoop/conf/exclude</ value >
   < description >A base for other temporary directories.</ description >
</ property >

b. 在主节点的$HADOOP_HOME/conf/目录下新建文件excludes,每行为需要移走的节点,该例为s140。

c. 运行命令:

1
hadoop dfsadmin -refreshNodes

该命令可以动态刷新dfs.hosts和dfs.hosts.exclude配置,无需重启NameNode。此刻datanode消失了,但是tasktracker还存在。

d. 然后热行命令,查看状态

1
bin /hadoop dfsadmin -report
1
2  
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Name: 192.168.3.140:50010
Decommission Status : Decommission in progress
Configured Capacity: 310716715008 (289.38 GB)
DFS Used: 59891990052 (55.78 GB)
Non DFS Used: 20663939548 (19.24 GB)
DFS Remaining: 230160785408(214.35 GB)
DFS Used%: 19.28%
DFS Remaining%: 74.07%
Last contact: Fri Aug 13 10:17:20 GMT+08:00 2010
Name: 192.168.3.136:50010
Decommission Status : Normal
Configured Capacity: 487925370880 (454.42 GB)
DFS Used: 101679245034 (94.7 GB)
Non DFS Used: 55873218838 (52.04 GB)
DFS Remaining: 330372907008(307.68 GB)
DFS Used%: 20.84%
DFS Remaining%: 67.71%
Last contact: Fri Aug 13 10:17:21 GMT+08:00 2010

e. 在停掉节点Decommission Status不为Normal前, mapreduce操作会出现异常。

f. 节点移走64G数据需要十分钟左右。

二、 数据负载均衡

1. 在Hadoop集群中新添加一个Datanode时,需要对集群数据进行负载均衡。

2. 在主节点运行bin/start-balancer.sh命令,可以添加参数-threshold 5,threshold是平衡阈值,默认是10%,值越小负载越均衡,但需要更长的时间去执行。

3. 添加s140到集群,执行负载均衡半个小时共负载了4G的数据。

猜你喜欢

转载自damacheng009.iteye.com/blog/1583095