教你如何把MapReduce程序运行到YARN

时间:2024-03-16 22:46:47

       一、 首先进行下载,下载2.7.6版本

            下载地址:

        http://hadoop.apache.org/docs/r2.7.6/hadoop-project-dist/hadoop-common/SingleCluster.html#Pseudo-Distributed_Operation

           -》上传解压

            -》查看目录结构,删除.cmd文件

                      bin/*.cmd

教你如何把MapReduce程序运行到YARN

删掉所有bin目录下的cmd文件

                      sbin/*.cmd

教你如何把MapReduce程序运行到YARN

sbin也一样

                      share/doc

教你如何把MapReduce程序运行到YARN

     二、配置环境变量

            1. 修改三个模块的环境变量(*.env)

                        hadoop-env.sh、 yarn-env.sh、mapred-env.sh
JAVA_HOME
    2.添加可执行权限

            进入教你如何把MapReduce程序运行到YARN

            然后在控制台输入chmod u+x hadoop-env.sh yarn-env.sh mapred-env.sh  命令

           修改成功时是这个样子

教你如何把MapReduce程序运行到YARN

    三、.按照模块来进行配置

            首先notepad进入教你如何把MapReduce程序运行到YARN

               common:

                            core-site.xml

                            教你如何把MapReduce程序运行到YARN

                            <!--指定文件系统为HDFS及主节点NameNode运行的机器和端口-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://bigdata-hpsk01.huadian.com:8020</value>

</property>

                             <!--指定文件系统的本地临时存储目录,默认是当前系统/tmp-->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/modules/hadoop-2.7.3/data/tmpData</value>
</property>
执行创建临时目录

                        教你如何把MapReduce程序运行到YARN

                 HDFS:

                        hdfs-site.xml

教你如何把MapReduce程序运行到YARN

                            <!--由于是伪分布式部署,仅有一台机器所以block副本数没有必要设置为3,设置为1即可-->

<property>
<name>dfs.replication</name>
<value>1</value>
</property>

教你如何把MapReduce程序运行到YARN    

                     slaves

教你如何把MapReduce程序运行到YARN

                            配置slaves文件,指定datanode运行在那些机器上

localhost改为主机名

主机名可以通过hostname命令获取

教你如何把MapReduce程序运行到YARN

教你如何把MapReduce程序运行到YARN

             四、启动HDFS:

                        第一次使用文件系统,需要格式化。

                        1.格式系统

                            cd /opt/modules/hadoop-2.7.3

    bin/hdfs namenode -format

                         2.启动

                                 主节点

                                    sbin/hadoop-daemon.sh start namenode

    sbin/hadoop-daemon.sh stop namenode

                                  从节点

                                    sbin/hadoop-daemon.sh start datanod

                                    sbin/hadoop-daemon.sh stop datanode

                            3.验证是否启动成功

                                    方式一:

                                                控制台输入jps

                                                 控制台输入ps -ef |grep java   

                                      教你如何把MapReduce程序运行到YARN

                                    方式二:

                                    通过webUI 界面查看

                                    主机名:50070

                      五、测试HDFS

                            帮助文档 

                                    bin/hdfs dfs

                            HDFS文件系统目录和Linux目录结构类似

                            命令也类似

                                               创建目录:
bin/hdfs dfs -mkdir /datas 
查看目录:
bin/hdfs dfs -ls /datas
上传文件:
bin/hdfs dfs -put /opt/datas/input.data /datas/
查看文件内容:
bin/hdfs dfs -text /datas/input.data
bin/hdfs dfs -cat  /datas/input.data
下载文件:
bin/hdfs dfs -get /datas/input.data ./
删除文件
bin/hdfs dfs -rm -r /datas/input.data


            六、配置YARN:

                      对于分布式资源管理和任务调度来说

                      哪些程序可以运行在YARN之上

                                     MapReduce

                                     并行数据处理框架

                                            spark

                                                      基于内存分布式处理框架

                                             storm/flink

                                                        实时流式处理框架

                                             TeZ

                                                        分析数据,比MapReduce速度快

                                    主节点
        resourceManager

    从节点
nodeManager
需要修改的配置
yarn-site.xml
<!--resourceManager服务运行的主机名称-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>bigdata-hpsk01.huadian.com</value>
</property>
<!--告知yarn ,mapreduce程序将在你这里运行-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

slaves文件:
前面已经修改了


启动:
主节点:resourceManager
sbin/yarn-daemon.sh start resourcemanager
从节点:nodeManager
sbin/yarn-daemon.sh start nodemanager

验证:
方式一:jps  === ps -ef |grep java 
方式二:bigdata-hpsk01.huadian.com:8088

---------------------------------------------------------------------------------------------
MapReduce:
并行计算框架(2.X)
思想:分而治之
核心
Map
并行处理数据,将数据分割,一部分一部分的处理
Reduce
将Map的处理结果进行合并,
配置:
cd  {Hadoop_home}/etc/hadoop
cp mapred-site.xml.template mapred-site.xml

<!--指定MapReduce程序运行在YARN上,默认值local-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>


mapreduce程序运行在YARN上
通过经典程序案例,wordcount,
Hadoop提到测试案例,
/opt/modules/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar
-》准备数据,数据是放到hdfs上
-》提交运行
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /datas/input.data /output1



配置历史服务器
查看监听已经运行完成的MapReduce任务的执行情况
配置mapred-site.xml
<!--配置历史服务器-->
<property>
<name>mapreduce.jobhistory.address</name>
<value>bigdata-hpsk01.huadian.com:10020</value>
</property>
启动
sbin/mr-jobhistory-daemon.sh start historyserver

注意:在启动historyServer服务之前运行的job相关信息已经没了,
只有后面运行的才有。

日志集聚功能
当MapReduce程序在YARN上运行完成之后,将产生日志文件上传到HDFS目录中,
以便后续查看。
yarn-site.xml
<!--日志集聚功能-->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!--日志存储的时间1周 60*60*24*7-->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>


        重启YARN和jobHistoryServer

                                记得快照或者克隆保存!!!

                                能看到这的都不是一般人!!!