Hadoop分布式环境搭建

Hadoop 2.x部署
  *local Mode
  *Distributed Mode 
        *伪分布式
            一台机器,运行所有的守护进程
             从节点DataNode、NodeManager
        *完全分布式
            有多个从节点
            DataNodes
             NodeManagers
            配置文件
                 $HADOOP_HOME/etc/hadoop/slaves

1. 基于伪分布式安装

三台机器

192.168.113.132
Hadoop-senior01
    1.5G
    1CPU

192.168.113.133
Hadoop-senior02
    1G
    1CPU

192.168.113.134
Hadoop-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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值