Hadoop 2.x分布式集群部署

一、克隆虚拟机

  1. 注意点
    1. 必须先关机(关闭所有的服务进程)
    2. 选择完整的克隆
    3. 修改IP、主机名、映射
  2. 修改主机名
    sudo vi /etc/sysconfig/network
  3. 修改IP
    1. 把eth1改为eth0
      1. sudo vi /etc/udev/rules.d/70-persistent-net.rules
        这里写图片描述
      2. 将eth0的那一条删掉,把mac地址拷贝出来00:0c:29:49:52:2a,将eth1修改为eth0
        这里写图片描述
      3. sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
      4. 替换其中的mac地址
        这里写图片描述
      5. 重启:sudo service network restart
    2. 1修改IP
      1. NetWork配置
        这里写图片描述
        这里写图片描述
      2. 将IP从192.168.150.141 修改为182.168.150.142
        这里写图片描述
      3. 修改完成之后重新断开重新连接一下
        这里写图片描述
  4. 修改映射
    1. sudo vi /etc/hosts
      这里写图片描述
  5. 同理配置第三台,第一台只需要修改一下映射
  6. 修改Windows主机映射
    1. C:\Windows\System32\drivers\etc\hosts
      这里写图片描述

二、集群部署和节点部署

  1. 机器配置

    Hadoop-senior01Hadoop-senior02Hadoop-senior03
    内存:4G内存:4G内存:4G
    CPU:4核CPU:4核CPU:4核
    硬盘容量:1TB硬盘容量:1TB硬盘容量:1TB
  2. 集群服务组件的规划

    Hadoop-senior01Hadoop-senior02Hadoop-senior03
    NameNodeResourceManagerSecondaryNameNode
    DataNode(磁盘)DataNodeDataNode
    NodeManager(资源)NodeManagerNodeManager
    MRhistoryServer

NameNode,ResourceManager,SecondaryNameNode:这三个是主节点,消耗内存不建议放在同一台机器上


三、Hadoop 2.x完全分布式环境搭建

  1. 创建一个用于存放分布式环境的目录
    1. 之前的伪分布放在 /opt/modules/目录下
    2. 在/opt目录下创建app文件夹,将完全分布式的环境放在app目录下
      这里写图片描述
  2. 解压Hadoop
    1. tar -zxf /opt/software/hadoop-2.5.0.tar.gz -C /opt/app/
      这里写图片描述
    2. 删除hadoop-2.5.0/share/doc目录以减少分发节点拷贝的过程时间:进入share目录:rm -rf ./doc/
  3. 指定JAVA——HOME的安装路径(3个文件都需要-env.sh)
    1. 使用Notepad++进入/opt/app/hadoop-2.5.0/etc/hadoop目录下
    2. (hadoop-env.sh,mapred-env.sh,yarn-env.sh):export JAVA_HOME=/opt/modules/jdk1.7.0_67
  4. 修改core-site.xml自定义文件

    1. 进入/tmp/目录下把所有带有pid的文件删掉
      这里写图片描述
    2. 指定 namenode 主节点所在的位置以及交互端口号

      <property> 
          <name>fs.defaultFS</name> 
          <value>hdfs://hadoop-senior01.ibeifeng.com:8020</value> 
      </property>
    3. 重新创建tmp目录的路径:mkdir -p data/tmp

      <property> 
          <name>hadoop.tmp.dir</name> 
          <value>/opt/app/hadoop-2.5.0/data/tmp</value> 
      </property>

      这里写图片描述

    4. 如果有logs目录就删除掉:rm -rf logs
  5. 修改slaves文件,指定节点

    1. hadoop-senior01.ibeifeng.com
      hadoop-senior02.ibeifeng.com
      hadoop-senior03.ibeifeng.com

    2. 这里写图片描述

  6. 修改hdfs-site.xml文件,修改SNN(SecondaryNameNode)位置

    <property>
          <name>dfs.namenode.secondary.http-address</name>
          <value>hadoop-senior03.ibeifeng.com:50090</value>
    </property>
  7. 修改yarn-site.xml

    //设置reduce 的获取数据的方式
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    
    //指定 ResourceManager 的位置
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop-senior02.ibeifeng.com</value>
    </property>
    
    //开启日志聚集功能
    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
    
    //设置日志在 HDFS 上保留的时间期限
    <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>106800</value>
    </property>
  8. 配置mapred-site.xml, 将 mapred-site.xml.template 改名为 mapred-site.xml

    //指定 MapReduce 运行在 YARN 上
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    
    //配置 JobhistoryServer 历史服务器
    <property> 
        <name>mapreduce.jobhistory.address</name> 
        <value>hadoop-senior01.ibeifeng.com:10020</value> 
    </property>     
    <property> 
        <name>mapreduce.jobhistory.webapp.address</name> 
        <value>hadoop-senior01.ibeifeng.com:19888</value> 
    </property>
  9. 设置不启用 HDFS 文件系统的权限检查

    1. 配置hdfs-site.xml

      <property>
          <name>dfs.permissions.enabled</name>
          <value>false</value>
      </property> 
    2. 配置core-site.xml

      <property>
          <name>hadoop.http.staticuser.user</name>
          <value>beifeng</value>
      </property>
  10. 将配置文件分发到各个节点上去

    1. 在其余两台上先创建目录 sudo mkdir app
    2. 设置权限 sudo chown -R beifeng:beifeng app/
      这里写图片描述
    3. 发送:scp -r hadoop-2.5.0/ hadoop-senior03.ibeifeng.com:/opt/app/
  11. 格式化NameNode
    1. bin/hdfs namenode -format
    2. 格式化之后生成初始化的fsimage和edits文件
  12. 启动守护进程

    1. hadoop-senior01

      sbin/hadoop-daemon.sh start namenode
      sbin/hadoop-daemon.sh start datanode
      sbin/yarn-daemon.sh start nodemanager
      sbin/mr-jobhistory-daemon.sh start historyserver
    2. hadoop-senior02

      sbin/hadoop-daemon.sh start datanode
      sbin/yarn-daemon.sh start resourcemanager
      sbin/yarn-daemon.sh start nodemanager
    3. hadoop-senior03

      sbin/hadoop-daemon.sh start datanode
      sbin/hadoop-daemon.sh start secondarynamenode
      sbin/yarn-daemon.sh start nodemanager
  13. 页面查看进程

    1. 查看节点DataNode:http://hadoop-senior01.ibeifeng.com:50070/
      这里写图片描述
    2. SecondaryNameNode:http://hadoop-senior03.ibeifeng.com:50090/
      这里写图片描述
    3. 查看Yarn:http://hadoop-senior02.ibeifeng.com:8088/
      这里写图片描述
    4. 三台服务器对应的进程
      这里写图片描述
      这里写图片描述
      这里写图片描述
  14. 测试集群
    1. 创建目录: bin/hdfs dfs -mkdir -p tmp/conf
      这里写图片描述
    2. 上传: bin/hdfs dfs -put etc/hadoop/*-site.xml tmp/conf
      这里写图片描述
    3. 查看: bin/hdfs dfs -text /user/beifeng/tmp/conf/hdfs-site.xml
      这里写图片描述
    4. 在YARN上运行MR程序
      1. 创建输入路径:bin/hdfs dfs -mkdir tmp/input
      2. 上传WordCount测试数据:bin/hdfs dfs -put /opt/datas/wc.input /user/beifeng/tmp/input
      3. bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /user/beifeng/tmp/input /user/beifeng/tmp/output
        这里写图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值