您的位置:首页 > Web前端 > Node.js

hadoop 中添加和删除 datanode和tasktracker(二)

2012-08-15 15:55 363 查看
增加Hadoop新节点:

向一个正在运行的Hadoop集群中增加几个新的Nodes

1. 新节点上部署java/hadoop程序,配置相应的环境变量

2. 新节点上增加用户,从master上拷贝id_rsa.pub并配置authorized_keys

3. 新节点上设置/etc/hosts,需要NameNode的主机和所有DataNode的主机

/etc/hosts

127.0.0.1 localhost

10.10.10.101 node1

10.10.10.102 node2

10.10.10.103 node3

10.10.10.104 node4

(在这个文件中要写上所有的namenode 和datanode 的ip 及对应的服务器名称,所有的datanode 和namenode 下该文件的内容都是一样的)

备注:(一定要在当前的DataNode节点上把其他DataNode的地址也写到这里来,因为需要各DataNode之间进行通信)

4. 新节点上建立相关的目录,并修改属主,将Node4之中
~/tmp目录下的内容都删除掉,否则会被认为已经创建的节点。

5.
master的slaves文件中增加上相的节点(* 注意:只在NameNode之上配置就可以)

/etc/masters (masters
是一个没有扩展名的文件,master里面存放的是secondary NameNode 的主机名)

node1

/etc/slaves (slaves
是一个没有扩展名的文件,slaves里面存放的是taskTracker和dataNode 的主机名)

node2

node3

node4

6. 在新节点上启动datanode和tasktracker

localadmin@node4:~/hadoop-0.20.2/bin$ hadoop-daemon.sh start datanode

localadmin@node4:~/hadoop-0.20.2/bin$ hadoop-daemon.sh start tasktracker

使用'Jps'进行检查。

7. 进行block块的均衡

在hdfs-site.xml中增加设置balance的带宽,默认只有1M:

<property>

<name>dfs.balance.bandwidthPerSec</name>

<value>10485760</value>

<description>

Specifies the maximum bandwidth that each datanode can utilize for the balancing purpose in term of the number of bytes per second.

</description>

</property>

运行以下命令:

hadoop/bin/start-balancer.sh
-threshold 3

均衡10个节点,移动400G数据,大概花费了3个小时
The cluster is balanced. Exiting…

Balancing took 2.9950980555555557 hours

============================================================

删除Hadoop节点:

Hadoop提供了Decommission的特性,可以按照以下步骤来操作:

1. 在hadoop的conf目录下生成一个excludes的文件 /etc/nn-excluded-list,写上需要remove的节点

一个节点一行,如:

node4

2. 在hdfs-site.xml中增加配置:

<property>

<name>dfs.hosts.exclude</name>

<value>/etc/nn-excluded-list</value>

</property>

3. 复制文件到集群各节点上

4. 执行hadoop
dfsadmin -refreshNodes命令,它会在后台进行Block块的移动

从移出的Nodes上移动到其它的Nodes上面

5. 通过以下2种方式查看Decommission的状态:

hadoop dfsadmin -report

http://10.10.10.101:50070/dfsnodelist.jsp

正在执行Decommission,会显示:

Decommission Status : Decommission in progress

执行完毕后,会显示:
Decommission Status : Decommissioned

6.下架目标机器后,再次编辑/etc/nn-excluded-list,把刚才下架的机器的ip或机器名移走
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: