Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7173408
  • 博文数量: 3857
  • 博客积分: 6409
  • 博客等级: 准将
  • 技术积分: 15948
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-02 16:48
个人简介

迷彩 潜伏 隐蔽 伪装

文章分类

全部博文(3857)

文章存档

2017年(5)

2016年(63)

2015年(927)

2014年(677)

2013年(807)

2012年(1241)

2011年(67)

2010年(7)

2009年(36)

2008年(28)

分类: HADOOP

2015-05-19 11:28:13

Hadoop集群中添加datanode节点

[日期:2015-05-19] 来源:Linux社区  作者:ljy2013 [字体:  ]

随着业务的扩展,公司刚开始的三个节点已经不够用了,因此需要添加datanode。下面记录一下添加datanode节点的步骤:

1、在新的datanode上创建运行的用户grid,并修改密码。并修改ip地址和绑定主机名,hosts文件,关闭新节点的防火墙。

  我用的是7的系统,因此修改静态ip地址是:vi  /etc/sysconfig/network-scripts/ifcfg-eno16777736

      然后执行 service  network  restart  重启网络。

  绑定主机名:vi  /etc/hostname ,修改成自定义的主机名即可。

  关闭防火墙:由于centos7用firewalld取代了iptables。因此关闭防火墙的命令是:

      systemctl  status  firewalld  查看防火墙的状态

      systemctl  stop  firewalld  关闭防火墙

      systemctl  disable firewalld  禁止防火墙开机启动,对应的会删除两个文件。 

  修改hosts文件:

      vi  /etc/hosts

    shutdown -r now  重启电脑。

2、 (1)在新的datanode节点上,用grid登录,创建ssh公钥:ssh-keygen -t rsa,

  (2)并对产生的公钥id_rsa.pub进行备份:cp id_rsa.pub id_rsa.pub.x  ,这里x表示新添加的节点对应的编码。

  (3)并将id_rsa.pub.x发送到主节点上。

       scp -r  id_rsa.pub.x grid@namenode_hostname:/home/grid/.ssh/

3、在主节点上,

  (1)将id_rsa.pub.x 拷贝到authorized_keys当中:cat id_rsa.pub.x >>authorized_keys

  (2)主节点将authorized_keys分发给所有的节点,包括新的datanode。

      scp -r authorized_keys  grid@datanode_hostname1:/home/grid/.ssh/

      scp -r authorized_keys  grid@datanode_hostname1:/home/grid/.ssh/

       :

       :

  (3)在主节点上,添加新的datanode的ip地址:

      vi  /etc/hosts  在该文件中添加新节点的ip地址和主机名

      然后将主节点上的hosts文件分发给所有的节点(包括新添加的datanode)。

  (4)将主节点的jdk的安装文件、hadoop的安装文件、环境变量的文件/etc/profile 分别都分发给新添加的datanode。

  (5)修改主节点上的hadoop的salves文件,添加datanode新节点的主机名。

  (6)在新添加的节点上执行 source /etc/profile

  (7)在新的节点上执行:
      hadoop-daemon.sh start datanode
      hadoop-daemon.sh start tasktracker

  (8)均衡之前的datanode的block,在新的节点上执行:
      start-balancer.sh

       这个会非常耗时 
      1)如果不balance,那么cluster会把新的数据都存放在新的node上,这样会降低mapred的工作效率 
      2)设置平衡阈值,默认是10%,值越低各节点越平衡,但消耗时间也更长 
        [root@slave-004 hadoop]# start-balancer.sh -threshold 5 
      3)设置balance的带宽,默认只有1M/s,修改hdfs-site.xml

         
          dfs.balance.bandwidthPerSec 
          1048576 
        


  (9)安全模式 
    有两个方法离开这种安全模式: 
    1)修改dfs.safemode.threshold.pct为一个比较小的值,缺省是0.999。 
        dfs.safemode.threshold.pct(缺省值0.999f) 
       HDFS启动的时候,如果DataNode上报的block个数达到了元数据记录的block个数的0.999倍才可以离开安全模式,否则一直是这种只读模式。如果设为1则HDFS永远是处于SafeMode。

    2)hadoop dfsadmin -safemode leave命令强制离开 
        dfsadmin -safemode value 参数value的说明: 
        enter - 进入安全模式 
        leave - 强制NameNode离开安全模式 
        get -  返回安全模式是否开启的信息 
        wait - 等待,一直到安全模式结束。

14.04下Hadoop2.4.1单机/伪分布式安装配置教程  

CentOS安装和配置Hadoop2.2.0  

Ubuntu 13.04上搭建Hadoop环境 

Ubuntu 12.10 +Hadoop 1.2.1版本集群配置 

Ubuntu上搭建Hadoop环境(单机模式+伪分布模式) 

Ubuntu下Hadoop环境的配置 

单机版搭建Hadoop环境图文教程详解 

更多Hadoop相关信息见 专题页面 

本文永久更新链接地址

阅读(1181) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~