ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
[TOC] # 前提 我们本地开发好了,然后main运行,这是在本地跑的,没有提交到yarn上 如果我们想本地run的时候能直接提交到yarn上该如何做 # 修改源码 他的源码中有个YARNRunner这个类,他就是个客户端和yarn打交道 如果我们想修改他的话,我们只需要建个同名的包和类 我们也建立个这个包 ~~~ package org.apache.hadoop.mapred; ~~~ 然后把YARNRunner这个类也拷贝过来 如果你工程中有这个类的话,他会优先使用你工程中的 # 工程中修改 然后我们的main中要添加这些 ~~~ Configuration conf = new Configuration(); //设置权限,也可以在vm那边伪造 System.setProperty("HADOOP_USER_NAME", "root"); conf.set("fs.defaultFS","hdfs://master:9000"); conf.set("mapreduce.framework.name","yarn"); conf.set("yarn.resourcemanager.hostname","master"); //这里要设置jar包所在位置 job.setJar("mapreduce.job.jar", "D:/wordCount.jar"); Job job = Job.getInstance(conf); ~~~ 然后我们把jar包打包成wordCount.jar,放到D盘下 然后我们run运行