intellij idea 上打jar包,放到集群上跑及hadoop使用

来源:互联网 发布:php怎么调用存储过程 编辑:程序博客网 时间:2024/06/03 19:25


1.查看日志:在程序中用System.out.println(),找到作业的地址,然后进入map,查看logs,里面的stdout显示,日志查看地址:在mr运行时cosole会有这个信息,例如一个作业的地址是:http://hadoop-rsp-01:19888/jobhistory/job/job_1510979182500_0047/


2.hadoop使用自己的jar包  不使用原生jar包

比如hadoop2.2.2 里面用的guava 是11.2的,我的工程的MR程序里面用的是16.0.1版本的;两个版本里面方法不同会导致MR的程序出现   异常;我们的目的是让hadoop运行MR的时候时候优先使用我们给项目打进去的lib包;在这里就是要使用guava.16.0.1.jar

解决:

      (1) 只需要在hadoop/etc/mapred-site.xml 里面加上下面配置信息就ok

<property>  
    <name>mapreduce.job.user.classpath.first</name>  
    <value>true</value>  
</property>  
  (2)或者在执行师添加-Dmapreduce.job.user.classpath.first=true