gpt4 book ai didi

java - 无法找到或加载主类 org.apache.hadoop.mapreduce.v2.app.MRAppMaster

转载 作者:可可西里 更新时间:2023-11-01 14:24:49 26 4
gpt4 key购买 nike

mapred-site.xml 的内容:

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=/home/admin/hadoop-3.1.0</value>
</property>

<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=/home/admin/hadoop-3.1.0</value>
</property>

<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=/home/admin/hadoop-3.1.0</value>
</property>

<property>
<name>mapreduce.application.classpath</name>
<value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*,$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
</property>

</configuration>

虽然我已经设置了 yarn.app.mapreduce.am.env 和其他参数;我收到无法找到或加载主类 org.apache.hadoop.mapreduce.v2.app.MRAppMaster 错误。我正在尝试远程运行 map reduce 程序,其中 hadoop 安装在 linux 机器上,我正在从 windows 机器上运行它。以下是我的工作配置设置。

public class WordCount {
public static void main(String[] args)
throws IOException, ClassNotFoundException, InterruptedException {
//
UserGroupInformation ugi = UserGroupInformation.createRemoteUser("admin");
ugi.doAs(new PrivilegedExceptionAction<Void>() {

public Void run() throws Exception {
try {
Configuration configuration = new Configuration();

configuration.set("yarn.resourcemanager.address", "192.168.33.75:50001"); // see step 3
configuration.set("mapreduce.framework.name", "yarn");
// configuration.set("yarn.app.mapreduce.am.env",
// "HADOOP_MAPRED_HOME=/home/admin/hadoop-3.1.0");
// configuration.set("mapreduce.map.env", "HADOOP_MAPRED_HOME=/home/admin/hadoop-3.1.0");
// configuration.set("mapreduce.reduce.env",
// "HADOOP_MAPRED_HOME=/home/admin/hadoop-3.1.0");
configuration.set("fs.defaultFS", "hdfs://192.168.33.75:54310"); // see step 2
configuration.set("mapreduce.app-submission.cross-platform", "true");
configuration.set("mapred.remote.os", "Linux");
configuration.set("yarn.application.classpath",
"$HADOOP_CONF_DIR:$HADOOP_COMMON_HOME/*:$HADOOP_COMMON_HOME/lib/*:"
+ "$HADOOP_HDFS_HOME/*:$HADOOP_HDFS_HOME/lib/*:"
+ "$HADOOP_YARN_HOME/*:$HADOOP_YARN_HOME/lib/*:"
+ "$HADOOP_MAPRED_HOME/*:$HADOOP_MAPRED_HOME/lib/*");

Job job = Job.getInstance(configuration);

job.setJarByClass(WordCount.class); // use this when uploaded the Jar to the server and
// running the job directly and locally on the server
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(IntWritable.class);
job.setMapperClass(MapForWordCount.class);
job.setReducerClass(ReduceForWordCount.class);

Path input = new Path("/user/admin/wordCountInput.txt");
Path output = new Path("/user/admin/output");
FileInputFormat.addInputPath(job, input);
FileOutputFormat.setOutputPath(job, output);
System.exit(job.waitForCompletion(true) ? 0 : 1);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}

});


}

请帮帮我。从过去的 6 天开始,我就被这个问题困住了。非常感谢。Hadoop 版本:3.1.0

最佳答案

我遇到了同样的问题,并通过在 ma​​pred-site.xml 中添加它来解决(因此编辑您的 ma​​preduce.application.classpath 属性)

<property> 
<name>mapreduce.application.classpath</name>
<value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*,$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*,$HADOOP_MAPRED_HOME/share/hadoop/common/*,$HADOOP_MAPRED_HOME/share/hadoop/common/lib/*,$HADOOP_MAPRED_HOME/share/hadoop/yarn/*,$HADOOP_MAPRED_HOME/share/hadoop/yarn/lib/*,$HADOOP_MAPRED_HOME/share/hadoop/hdfs/*,$HADOOP_MAPRED_HOME/share/hadoop/hdfs/lib/*</value>
</property>

关于java - 无法找到或加载主类 org.apache.hadoop.mapreduce.v2.app.MRAppMaster,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50927577/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com