本地执行MapReduce程序之后,报的一些错误

21 篇文章 0 订阅
11 篇文章 0 订阅

【client eclipse集群提交运行】:客户端 eclipse集群提交 mapreduce代码

     1.  需求:在master:8088上,有客户端提交的job,则需要local-->yarn
     需要改: 【mapred-site.xml】

            <property>
                  <name>mapreduce.framework.name</name>
                  <value>local</value> //改成yarn
                  <description>The runtime framework for executing MapReduce jobs.
                      Can be one of local, classic or yarn.
                  </description>
         </property>

    2.报错:       
             
                 2018-06-28 00:23:18,573 WARN  [main] util.NativeCodeLoader (NativeCodeLoader.java:·  
   <clinit>(62)) - Unable to load native-hadoop library for your platform...         
    using builtin-java classes where applicable
             2018-06-28 00:23:20,481 INFO  [main] client.RMProxy (RMProxy.java:createRMProxy(98)) - 
    Connecting to ResourceManager at /0.0.0.0:8032
    Retrying connect to server: 0.0.0.0/0.0.0.0:8032.
                //主机名默认是0.0.0.0,然后尝试连接连不上,需要指定指定主机名为master,去连接

             解决:【yarn-site.xml】
                    
                <property>
                           <description>The hostname of the RM.</description>
                           <name>yarn.resourcemanager.hostname</name>
                           <value>master</value> //默认值是:0.0.0.0
                </property>

 3. 报错:
       
 Exit code: 1
         Exception message: /bin/bash: line 0: fg: no job control
                                        //没有job协议                         
        Container exited with a non-zero exit code 1
        Failing this attempt. Failing the application.
        2018-06-28 00:40:54,407 INFO  [main] mapreduce.Job 
        (Job.java:monitorAndPrintJob(1385)) - Counters: 0

       解决: 【mapred-site.xml】
        允许跨平台,使得Windows平台向集群提交job  
             <property>
                  <description>If enabled, user can submit an application cross-platform  //用户就可以提交应用跨平台
                  i.e. submit an application from a Windows client to a Linux/Unix server or
                  vice versa.
                  </description>
                  <name>mapreduce.app-submission.cross-platform</name> //app应用允许跨平台
                  <value>true</value>   //默认false,应该改成true
          </property>

  4. 执行之后,无结果运行:
        
  No job jar file set.  User classes may not be found. See Job or Job#setJar(String).
        Container killed by the ApplicationMaster.
        Container killed on request. Exit code is 143
        Container exited with a non-zero exit code 143

        原因:没有生成jar文件
        解决:打jar包(将写的java文件和配置的文件都导出)。
                    放置到classpath下:右键jar包-->Bulid Path-->add to Bulid Path
 5.报错:0.0.0./0.0.0.:10020,反复的报这个错
                10020是历史服务器;
          解决:把历史服务器开启来就好,开启history服务,
          命令即可:            
                 1) $>mr-jobhistory-daemon.sh start historyserver
                 2) 还要修改【mapred-site.xml】:
                         mapreduce.jobhistory.address = master:10020
                      mapred-site.xml中还有添加:        
                       
            
         <property>
                      <name>mapreduce.jobhistory.address</name>
                      <value>0.0.0.0:10020</value> //改成master:10020
                      <description>MapReduce JobHistory Server IPC host:port</description>   
         <property>


 






  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值