Hadoop分布式环境搭建

来源:互联网 发布:易店淘宝店铺买卖骗局 编辑:程序博客网 时间:2024/05/17 22:51
Hadoop 2.x部署
  *local Mode  *Distributed Mode         *伪分布式            一台机器,运行所有的守护进程             从节点DataNode、NodeManager        *完全分布式            有多个从节点            DataNodes             NodeManagers            配置文件                 $HADOOP_HOME/etc/hadoop/slaves

1. 基于伪分布式安装

三台机器

192.168.113.132Hadoop-senior01    1.5G    1CPU192.168.113.133Hadoop-senior02    1G    1CPU192.168.113.134Hadoop-senior03    1G    1CPU

Hadoop克隆之后应做的步骤:

这里写图片描述

vi /etc/udev/rules.d/70-persistent-net.rules

这里写图片描述

这里写图片描述

vi /etc/sysconfig/network-scripts/ifcfg-eth0
重新启动虚拟机,然后从桌面修改静态IP地址
这里写图片描述

sudo vi /etc/resolv.conf
如果是复制而非克隆虚拟机需要:
  重新生成Make码
这里写图片描述

每个虚拟机都要写这三个
  192.168.113.132 hadoop-senior01.ibeifeng.com hadoop-senior01
  192.168.113.133 hadoop-senior02.ibeifeng.com hadoop-senior02
  192.168.113.134 hadoop-senior03.ibeifeng.com hadoop-senior03
这里写图片描述

* 建议:*
  如下两个地方进行配置映射
   1)集群的各个机器
   2)所有的客户端机器
    hosts
  创建用户:
   ibeifeng
  创建目录
   软件安装
  基本设置
   关闭防火墙
   禁用SELINUX=disable
   卸载OpenJDK
  时间同步
   各个机器的时间一致
   方式很多种:
  1、联网情况下:
   与网络标准时间进行同步
  2、内网情况下
   至少我可以保证集群的所有时间是同步的
   集群时间同步
   >> 找一台机器作为时间服务器
      hadoop-senior01.ibeifeng.com
       具体步骤如下:
       1) 查看时间服务器是否安装
               sudo rpm -qa|grep ntp
这里写图片描述

        2) 启动时间服务器
         sudo service ntpd status
         sudo service ntpd start
        永久启动
         sudo chkconfig ntpd on
       3)配置:
         $sudo vi /etc/ntp.conf
       修改如下:
         第一处:去掉注释,修改网段
 这里写图片描述

          第二处:增加注释
这里写图片描述

         第三处:去掉注释
这里写图片描述

       4)设置系统时间与bois时间一致
          打开配置文件,首行加入
这里写图片描述

这里写图片描述

》》》集群中其他机器,定时与时间服务器进行同步时间
    定时任务crontab
    每台机器,每十分钟与机器进行同步
    0-59/10 * * * * /usr/sbin/ntpdate ntpdate hadoop-senior01.ibeifeng.com
   对第三台机器同样进行设置
           调整与第一台时间的同步
这里写图片描述

         建立crontab定时任务
这里写图片描述

这里写图片描述

2、规划机器与服务

在分布式环境下,所有的安装目录要相同
  Hadoop-senior01      Hadoop-senior02      Hadoop-senior03
HDFS
    NameNode
    DataNodes         DataNodes        DataNode
                              SecondaryNode

YARN
                  ResourceManager
    NodeManager         NodeManager      NodeManager

MapReduce
   JobHistoryServer

3、修改配置文件,设置服务运行机器节点

 *hdfs         NameNode         DataNode         SNN       *hadoop-env.sh       *core-site.xml       *hdfs-site.xml       *slaves*yarn       ResourceManager       NodeManager       *yarn-env.sh       *yarn-site.xml       *slaves*mapreduce       JobHistoryServer       *mapred-env.sh       *mapred-site.xml

配置Hadoop文件Hadoop-senior01
解压Hadoop文件到固定目录下(三台机器的目录相同)

这里写图片描述

将原来Hadoop-senior01中配置好的Hadoop文件拷贝到新的etc/hadoop目录下
这里写图片描述

配置hdfs文件
  1)在Hadoop-env.sh中配置JDK
这里写图片描述

  2)在core-site.xml中配置
这里写图片描述

  3)在hdfs-site.xml上配置
这里写图片描述

  4)在slaves上配置
这里写图片描述

配置yarn文件
  1)在yarn-env.sh配置环境变量
这里写图片描述

  2)在yarn-site.xml上配置
这里写图片描述

配置mapreduce文件
  1)在mapred-env.sh上配置文件
这里写图片描述

  2)在mapred-site.xml上配置
这里写图片描述

4、分发HADOOP安装包至各个机器节点

这里写图片描述

  ssh无密码登录配置
这里写图片描述

这里写图片描述

  把密钥拷贝到另外两台机器上
这里写图片描述

  远程连接成功
这里写图片描述

 分发:
这里写图片描述

scp -r hadoop-2.5.0/ hadoop-senior02.ibeifeng.com:/home/ibeifeng/opt/app
SSH无密码登录总结:
 HDFS
   start-dfs.sh
   主节点上NameNode
 SSH无密钥登录
》》生成一对公钥和私钥
    $ssh-keygen -t rsa
》》拷贝公钥到各个机器上
   $ssh-copy-id hadoop-senior01.ibeifeng.com
   $ssh-copy-id hadoop-senior02.ibeifeng.com
   $ssh-copy-id hadoop-senior03.ibeifeng.com
》》ssh连接测试
   $ssh hadoop-senior01.ibeifeng.com
   $ssh hadoop-senior02.ibeifeng.com
   $ssh hadoop-senior03.ibeifeng.com
 YARN
   start-yarn.sh
   主节点:resourcemanager
5、启动服务组件进行测试
 *启动
  >>HDFS
  1、HDFS的格式化
   在NameNode所在的机器上进行格式
这里写图片描述

    启动namenode
这里写图片描述

   启动datanode
这里写图片描述

这里写图片描述

这里写图片描述

测试
    创建用户主目录
     bin/hdfs dfs -mkdir -p mapreduce/wordcount/input
这里写图片描述

这里写图片描述

这里写图片描述

*测试
$ sbin/hadoop-daemon.sh start namenode
$ sbin/hadoop-daemon.sh start datanode
$ sbin/yarn-daemon.sh start resourcemanager
$ sbin/yarn-daemon.sh start nodemanager
$ sbin/mr-jobhistory-daemon.sh start historyserver

             
0 0
原创粉丝点击