注:转载之>>>http://my.oschina.net/MrMichael/blog/291802#OSC_h1_1和http://www.cnblogs.com/tommyli/p/3418273.html
添加节点
1:准备工作:添加用户并设置无密码登录,设置namenode节点到新节点的无密码连接,并修改所有节点的hosts文件(添加节点IP-hostname映射)
2:修改namenode节点的slave文件:添加新增节点的ip或host
3:在新节点的机器上,启动服务
[root@slave-004 hadoop]# ./bin/hadoop-daemon.sh start datanode [root@slave-004 hadoop]# ./bin/hadoop-daemon.sh start tasktracker(hadoop1) [root@slave-004 hadoop]# ./bin/yarn-daemon.sh start nodemanager(hadoop2)4: 均衡block
[root@slave-004 hadoop]# ./bin/start-balancer.sh
1)如果不balance,那么cluster会把新的数据都存放在新的node上,这样会降低mapred的工作效率
2)设置平衡阈值,默认是10%,值越低各节点越平衡,但消耗时间也更长
[root@slave-004 hadoop]# ./bin/start-balancer.sh -threshold 5
3)设置balance的带宽,默认只有1M/s
dfs.balance.bandwidthPerSec 1048576 Specifies the maximum amount of bandwidth that each datanode can utilize for the balancing purpose in term of the number of bytes per second.注意:
1. 必须确保slave的firewall已关闭;
2. 确保新的slave的ip已经添加到master及其他slaves的/etc/hosts中,反之也要将master及其他slave的ip添加到新的slave的/etc/hosts中
撤销(退役)节点
1:集群配置
1.1:修改Name节点的hdfs-site.xml增加
1
2
3
4
|
<property>
<name>dfs.hosts.exclude</name>
<value>/soft/hadoop/conf/excludes</value>
</property>
|
1.2:修改Name节点的mapred-site.xml增加
1
2
3
4
5
|
<property>
<name>mapred.hosts.exclude</name>
<value>/soft/hadoop/conf/excludes</value>
<final>
true
</final>
</property>
|
2:确定要下架的机器 。新建excludes文件,文件里写要删除节点的hostname
dfs.hosts.exclude和mapred.hosts.exclude定义的文件内容为,每个需要下线的机器,一行一个。这个将阻止他们去连接Namenode。如:
slave-003 slave-004
3:强制重新加载配置 。Name节点执行
1
2
|
hadoop mradmin –refreshNodes
hadoop dfsadmin –refreshNodes<br>(task进程可以kill进程ID)
|
4:关闭节点。查看关闭进程
1
|
hadoop dfsadmin -report
|
当节点处于Decommissioned,表示关闭成功。