Hadoop运行环境&运行模式

Hadoop运行环境&伪分布式运行模式

一:搭建运行环境

  1. 克隆虚拟机——》修改静态ip——》修改主机名——》关闭防火墙——》创建普通用户——》配置普通用户的root权限—

  2. 创建文件夹module、software——》修改文件及啊的所有者

  3. 安装JDK

    1. 检查是否安装Java:rpm -qa | grep java
      	2. 安装的版本低于1.7,卸载该JDK:sudo rpm -e 软件包(卸载不掉使用Yyum remove)
    
    1. 查看JDK安装路径:which java

    2. 解压软件:tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module/

  4. 配置JDK环境变量:

    1. 获取JDK路径:pwd

    2. 打开/etc/profile文件:sudo vi /etc/profile

      #JAVA_HOME

      export JAVA_HOME=/opt/module/jdk1.8.0_144

      export PATH= P A T H : PATH: PATH:JAVA_HOME/bin

  5. 安装Hadoop

    1. 下载解压

    2. 添加环境变量

      1. 获取安装路径:pwd
      2. 打开/etc/profile
      3. 生效修改后的文件:source /etc’/profile
    3. hadoop的目录结构:

      (1)bin 目录:存放对 Hadoop 相关服务(HDFS,YARN)进行操作的脚本
      (2)etc 目录:Hadoop 的配置文件目录,存放 Hadoop 的配置文件
      (3)lib 目录:存放 Hadoop 的本地库(对数据进行压缩解压缩功能)
      (4)sbin 目录:存放启动或停止 Hadoop 相关服务的脚本
      (5)share 目录:存放 Hadoop 的依赖 jar 包、文档、和官方案例

    4. hadoop的运行模式

      1. 本地模式:只需要一台服务器,自己运行自身安装的hadoop

      2. 官方Grep案例

        1. 创建在 hadoop-2.7.2 文件下面创建一个 input 文件夹 
        	[ityouxin@hadoop101 hadoop-2.7.2]$ mkdir input 
        2. 将 Hadoop 的 xml 配置文件复制到 input 
        	[ityouxin@hadoop101 hadoop-2.7.2]$ cp etc/hadoop/*.xml input 
        3. 执行 share 目录下的 MapReduce 程序 
        	[ityouxin@hadoop101 hadoop-2.7.2]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output 'dfs[a-z.]+' 
        4. 查看输出结果 
        	[ityouxin@hadoop101 hadoop-2.7.2]$ cat output/* 
        
      3. 官方WordCount案例

        1. 创建在 hadoop-2.7.2 文件夹下面创建一个 wcinput 文件夹 
        	[ityouxin@hadoop101 hadoop-2.7.2]$ mkdir wcinput 
        2. 在 wcinput 文件夹下创建一个 wc.input 文件 
        	[ityouxin@hadoop101 hadoop-2.7.2]$ cd wcinput [ityouxin@hadoop101 wcinput]$ touch wc.input 
        3. 编辑 wc.input 文件 
        	[ityouxin@hadoop101 wcinput]$ vi wc.input 
        	在文件中输入如下内容 
        	hadoop yarn 
        	hadoop mapreduce 
        	ityouxin ityouxin 
        	保存退出::wq 
        4. 回到 Hadoop 目录/opt/module/hadoop-2.7.2 
        5. 执行程序 
        	[ityouxin@hadoop101 hadoop-2.7.2]$ hadoop jar  share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount wcinput wcoutput 
        6. 查看结果 
        	[ityouxin@hadoop101 hadoop-2.7.2]$ cat wcoutput/part-r-00000 ityouxin 2 hadoop  2 mapreduce       1 yarn    1 
        

二:伪分布式的运行模式

  1. 启动HDFS并运行MapReduce程序

    1. 分析:配置集群-》启动、测试集群增删查-》执行Wordcount

    2. 执行步骤

      1. 配置集群:

        1)hadoop-env.sh:修改JAVA_HOME路径:export JAVA_HOME=/opt/module/jdk1.8.0_144

        2)core-site.xml:

        <!-- 指定 HDFS 中 NameNode 的地址 --> <property> <name>fs.defaultFS</name>     <value>hdfs://hadoop101:9000</value> </property> 
         
        <!-- 指定 Hadoop 运行时产生文件的存储目录 --> <property>  <name>hadoop.tmp.dir</name>  <value>/opt/module/hadoop-2.7.2/data/tmp</value> </property> 
        

        3)配置hdfs-site.xml

        <!-- 指定 HDFS 副本的数量 --> <property>  <name>dfs.replication</name>  <value>1</value> </property> 
        
        1. 启动集群

          1. 格式化NameNode(第一次启动集群,需要格式化,以后就不要格式化,格式化 NameNode,会产生新的集群 id,导致 NameNode 和 DataNode 的集
            群 id 不一致,集群找不到已往数据。所以,格式 NameNode 时,一定要先删除
            data 数据和 log 日志,然后再格式化 NameNode)

          [ityouxin@hadoop101 hadoop-2.7.2]$ bin/hdfs namenode format

          1. 启动NameNode

          [ityouxin@hadoop101 hadoop-2.7.2]$ sbin/hadoop-daemon.sh start namenode

          1. 启动DataNode

          [ityouxin@hadoop101 hadoop-2.7.2]$ sbin/hadoop-daemon.sh start datanode

          1. 查看集群

            1. 查看是否启动成功:jps
            2. web端查看HDFS文件系统:http://hadoop101:50070/dfshealth.html#tab-overview
            3. 查看产生的Log日志: cat hadoop-ityouxin-datanodehadoop101.log
        2. 操作集群

          (a)在 HDFS 文件系统上创建一个 input 文件夹 
          	[ityouxin@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -mkdir -p /user/ityouxin/input   
          (b)将测试文件内容上传到文件系统上 
          	[ityouxin@hadoop101 hadoop-2.7.2]$bin/hdfs dfs -put wcinput/wc.input 
            /user/ityouxin/input/   
          (c)查看上传的文件是否正确 
          	[ityouxin@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -ls  /user/ityouxin/input/ 
          	[ityouxin@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -cat  /user/ityouxin/ input/wc.input   
          (d)运行 MapReduce 程序 
          	[ityouxin@hadoop101 hadoop-2.7.2]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples2.7.2.jar wordcount /user/ityouxin/input/ /user/ityouxin/output   
          (e)查看输出结果 
          命令行查看: [ityouxin@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -cat /user/ityouxin/output/
          web客户端查看:hadoop101:50070
          (f)将测试文件内容下载到本地 、
          	[ityouxin@hadoop101 hadoop-2.7.2]$ hdfs dfs -get /user/ityouxin/output/part-r-00000 ./wcoutput/ 
          
          (g)删除输出结果 
          	[ityouxin@hadoop101 hadoop-2.7.2]$ hdfs dfs -rm -r /user/ityouxin/output.2]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples2.7.2.jar wordcount /user/ityouxin/input/ /user/ityouxin/output   
          
          
  2. 启动YARN并运行MapReduce程序

    1. 分析:配置集群在yarn上的运行MR-》启动测试-》在yarn上执行观法WordCount案例

    2. 执行步骤

      1. 配置集群

        1. 配置yarn-env.sh: export JAVA_HOME=/opt/module/jdk1.8.0_144

        2. 配置yarn-site.xml

          <!-- Reducer 获取数据的方式 --> <property>    <name>yarn.nodemanager.aux-services</name>    <value>mapreduce_shuffle</value> </property> 
           
          <!-- 指定 YARN 的 ResourceManager 的地址 --> <property> <name>yarn.resourcemanager.hostname</name> <value>hadoop101</value> </property> 
          
        3. mapred-env.sh: export JAVA_HOME=/opt/module/jdk1.8.0_144

        4. 配置(对 mapred-site.xml.template重命名)

          [ityouxin@hadoop101 hadoop]$ mv mapred-site.xml.template mapred-site.xml [ityouxin@hadoop101 hadoop]$ vi mapred-site.xml 
           
          <!-- 指定 MR 运行在 YARN 上 --> <property>   <name>mapreduce.framework.name</name>   <value>yarn</value> </property> 
          
        5. 启动集群

          (a)启动前必须保证 NameNode 和 DataNode 已经启动 
          (b)启动 ResourceManager [ityouxin@hadoop101 hadoop-2.7.2]$ sbin/yarn-daemon.sh start resourcemanager 
          (c)启动 NodeManager [ityouxin@hadoop101 hadoop-2.7.2]$ sbin/yarn-daemon.sh start nodemanager 
          
        6. 集群操作

          1. yarn的浏览器页面查看

            http://hadoop101:8088/cluster

          2. 删除文件系统的ouput文件:[ityouxin@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -rm -R /user/ityouxin/output

          3. 执行MapReduce程序

            [ityouxin@hadoop101 hadoop-2.7.2]$ bin/hadoop jar  share/hadoop/mapreduce/hadoop-mapreduce-examples2.7.2.jar wordcount /user/ityouxin/input  /user/ityouxin/output 
            
          4. 查看运行结果:[ityouxin@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -cat /user/ityouxin/output/*

        7. 配置历史服务器

          1. 配置 mapred-site.xml 
          [ityouxin@hadoop101 hadoop]$ vi mapred-site.xml 
          在该文件里面增加如下配置。 
          <!-- 历史服务器端地址 --> 
          <property> 
          	<name>mapreduce.jobhistory.address</name> 			<value>hadoop101:10020</value> 
          </property> 
          <!-- 历史服务器 web 端地址 --> 
          <property>     
          <name>mapreduce.jobhistory.webapp.address</name>     <value>hadoop101:19888</value> 
          </property> 
          2. 启动历史服务器
          [ityouxin@hadoop101 hadoop-2.7.2]$ sbin/mr-jobhistorydaemon.sh start historyserver
          3. 查看是否成功启动
          ityouxin@hadoop101 hadoop-2.7.2]$ jps
          4. 查看JOBHistory
          http://hadoop101:19888/jobhistory 
          
        8. 配置历史服务器的聚集

          1. 配置 yarn-site.xml 
          [ityouxin@hadoop101 hadoop]$ vi yarn-site.xml 
          在该文件里面增加如下配置。 
          <!-- 日志聚集功能使能 -->
          <property> <name>yarn.log-aggregation-enable</name> <value>true</value> 
          </property> 
           
          <!-- 日志保留时间设置 7 天 --> 
          <property> 
          <name>yarn.log-aggregation.retain-seconds</name> <value>604800</value> 
          </property> 
          2. 关闭 NodeManager 、ResourceManager 和 HistoryServer [ityouxin@hadoop101 hadoop-2.7.2]$ sbin/yarn-daemon.sh stop resourcemanager 
          [ityouxin@hadoop101 hadoop-2.7.2]$ sbin/yarn-daemon.sh stop nodemanager 
          [ityouxin@hadoop101 hadoop-2.7.2]$ sbin/mr-jobhistorydaemon.sh stop historyserver 
          3. 启动 NodeManager 、ResourceManager 和 HistoryServer [ityouxin@hadoop101 hadoop-2.7.2]$ sbin/yarn-daemon.sh start resourcemanager 
          [ityouxin@hadoop101 hadoop-2.7.2]$ sbin/yarn-daemon.sh start nodemanager 
          [ityouxin@hadoop101 hadoop-2.7.2]$ sbin/mr-jobhistorydaemon.sh start historyserver 
          4. 删除 HDFS 上已经存在的输出文件 
          [ityouxin@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -rm -R /user/ityouxin/output 
          5. 执行 WordCount 程序 
          [ityouxin@hadoop101 hadoop-2.7.2]$ hadoop jar  share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/ityouxin/input /user/ityouxin/output 
          6. 查看日志,如图 2-37,2-38,2-39 所示 http://hadoop101:19888/jobhistory 
          
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值