MR笔记01——调度、打包运行

一、提交jar包到hadoop之后,怎么运行:

hadoop jar /zgm2/wc.jar z1wc.MyRunner /data/wcount /out/zwcount
hadoop jar可以换成yarn jar
如果你设置yarn为mapreduce的默认资源调度平台,那么两个命令是一样的

区别:

hadoop jar 按mr1或yarn运行job,决定是否配置yarn。yarn jar 按yarn方式运行job,必须启动dfs

如果配置了yarn,则两种方式运行效果是一样的,即yarn执行,必须先启动dfs,无需启动yarn,因为会自启动后退出 dfs:start-dfs.sh yarn:start-yarn.sh

 

二、MR的本地运行

1、将org包放入java目录下

2、job.setJar("d:/word.jar");

(1) 打包将对应的包名改为word.jar

(2) 将word.jar放入对应的目录中

指定jar包所在路径,本地模式需要这样指定,如果不是本地,则使用setJarByClass指定所在class文件即可

3、将log4j文件放在resources

设置运行参数

 

 

报错:

Error: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class hbase_mr.Hdfs2Hbase$MyMapper not found
   at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2195)
   at org.apache.hadoop.mapreduce.task.JobContextImpl.getMapperClass(JobContextImpl.java:186)
   at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:745)
   at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
   at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:164)
   at java.security.AccessController.doPrivileged(Native Method)
   at javax.security.auth.Subject.doAs(Subject.java:422)
   at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
   at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)
Caused by: java.lang.ClassNotFoundException: Class hbase_mr.Hdfs2Hbase$MyMapper not found

解决:

在java代码中添加:job.setJarByClass(XXXXX.class)

 

三、本地提交,集群运行

一、本地提交,集群运行
1.conf.set("mapreduce.job.jar", "D:\\javaProject\\mr_demo\\target\\mr_demo-1.0.jar");
2.conf.set("fs.defaultFS","hdfs://mini1:9000");//设置文件系统
3.conf.set("mapreduce.app-submission.cross-platform", "true");//设置跨平台提交
4.conf.set("mapreduce.framework.name", "yarn");//设置进行计算的框架是yarn
5.conf.set("yarn.resourcemanager.hostname", "mini1");//设置resourcemanager
6.System.setProperty("HADOOP_USER_NAME","root"); //解决权限问题

这个好像可以不用写了//jar.setjar("wc.jar")

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值