zoukankan      html  css  js  c++  java
  • 启动YARN并运行MapReduce程序

    备注:此处的hadoop版本是3.1.4

    一、配置集群

    1.1、配置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>k8smaster</value>
    </property>

    备注:k8smaster在hosts文件中需要指定为具体ip,不然在宿主机访问不到。

    1.2、配置mapred-site.xml

    mv mapred-site.xml.template mapred-site.xml
    <!-- 指定MR运行在YARN上 -->
    <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
    </property>

    二、启动集群

    注意:启动前必须保证NameNode和DataNode已经启动

    2.1、启动ResourceManager

    yarn --daemon start resourcemanager

    2.2、启动NodeManager

    yarn --daemon start nodemanager

    2.3、查看时启动成功

     2.4、web页面访问

    http://k8smaster:8088/

     2.5、测试wordcount

     hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.4.jar wordcount /home/yzh/hadoop/user/input /home/yzh/hadoop/user/output

    此处wordcount后面的路径都是hdfs文件系统路径。

    如果需要删除hdfs文件系统的路径,则执行下面的命令

    hdfs dfs -rm -r /home/yzh/hadoop/user/output

    2.6、遇到的问题

     

     解决:在命令行输入:hadoop classpath

     把上述输出的值添加到yarn-site.xml文件对应的属性 yarn.application.classpath下面,eg:

       <property>
            <name>yarn.application.classpath</name>
            <value>具体的hadoop classpath</value>
    </property>

      

    mapred-site.xml中设置map和reduce任务的内存配置如下:(value中实际配置的内存需要根据自己机器内存大小及应用情况进行修改)
        <property>
            <name>mapreduce.map.memory.mb</name>
            <value>1536</value>
       </property>
       <property>
           <name>mapreduce.map.java.opts</name>
           <value>-Xmx1024M</value>
       </property>
       <property>
         <name>mapreduce.reduce.memory.mb</name>
         <value>3072</value>
       </property>
      <property>
       <name>mapreduce.reduce.java.opts</name>
       <value>-Xmx2560M</value>
     </property>

    修改配置文件之后都要重启resourcemanager和nodemanager

    2.7、查看结果

     2.8、配置历史服务器

    为了查看程序的历史运行情况,需要配置一下历史服务器。具体配置步骤入校:

    1、配置mapred-site.xml

    <!-- 历史服务器端地址 -->
    <property>
       <name>mapreduce.jobhistory.address</name>
       <value>k8smaster:10020</value>
    </property>
    <!-- 历史服务器web端地址 -->
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>k8smaster:19888</value>
    </property>

    2、启动历史服务器

    mapred --daemon start historyserver

     

     2.9、配置日志的聚集

    日志聚集的概念:应用运行完成以后,将程序运行日志信息上传到HDFS系统上。

    日志聚集功能好处:可以方便的查看到程序运行详情,方便开发调试。

    注意:开启日志聚集功能,需要重新启动nodemanager、resourcemanager和historymanager。

    yarn --daemon stop nodemanager
    yarn --daemon stop resourcemanager
    mapred --daemon stop historyserver

    1、配置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、historymanager

    yarn --daemon start  resourcemanager
    yarn --daemon start  nodemanager
    mapred --daemon start historyserver

    3、删除hdfs上已经存在的输出文件

    hdfs dfs -rm -r /home/yzh/hadoop/user/output

    4、执行wordcount

    hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.4.jar wordcount /home/yzh/hadoop/user/input /home/yzh/hadoop/user/output

  • 相关阅读:
    LightOJ 1203--Guarding Bananas(二维凸包+内角计算)
    断言assert()与调试帮助
    POJ 3528--Ultimate Weapon(三维凸包)
    POJ 2208--Pyramids(欧拉四面体体积计算)
    HDU 1411--校庆神秘建筑(欧拉四面体体积计算)
    HDU 1241 DFS
    HDU 2037(贪心)
    一次傻乎乎的错误QAQ
    封装Qt的SQLite接口类
    最小生成树(Kruskal算法)模板
  • 原文地址:https://www.cnblogs.com/cq-yangzhou/p/14355282.html
Copyright © 2011-2022 走看看