Chinaunix首页 | 论坛 | 博客
  • 博客访问: 630399
  • 博文数量: 149
  • 博客积分: 3901
  • 博客等级: 中校
  • 技术积分: 1558
  • 用 户 组: 普通用户
  • 注册时间: 2009-02-16 14:33
文章分类

全部博文(149)

文章存档

2014年(2)

2013年(10)

2012年(32)

2011年(21)

2010年(84)

分类: 数据库开发技术

2010-12-17 11:00:21


转自 y哥 的 blog :

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

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

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

3. 新节点上设置host,只要有本机和masterhost即可

4. 新节点上建立相关的目录,并修改属主

5. masterslaves文件中增加上相的节点,master上增加相应的host

6. 在新节点上启动datanodetasktracker

/opt/sohuhadoop/hadoop/bin/hadoop-daemon.sh start datanode
/opt/sohuhadoop/hadoop/bin/hadoop-daemon.sh start tasktracker

7. 进行block块的均衡

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


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

运行以下命令:

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

均衡10个节点,移动400G数据,大概花费了3个小时

The cluster is balanced. Exiting…
Balancing took 2.9950980555555557 hours





我们现有的Hadoop集群已经运行了一段时间了

由于集群中的服务器分布在2个不同的机房,受跨机房带宽的限制

集群中在2个机房之间的数据传输很慢

所以想把另一个机房的3台服务器从Hadoop集群中去掉

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

1. hadoopconf目录下生成一个excludes的文件,写上需要remove的节点ip

    一个节点一行,注意要写ip,不能写Hostname,如:

10.15.10.41
10.15.10.42
10.15.10.43

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

   
    dfs.hosts.exclude   
    /opt/sohuhadoop/conf/excludes   
    true

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

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

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

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

    hadoop dfsadmin -report

   

    正在执行Decommission,会显示:

    Decommission Status : Decommission in progress

    执行完毕后,会显示:

    Decommission Status : Decommissioned
阅读(1470) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-12-17 14:58:38

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com