异常问题:
今天运行word count单词统计示例,hadoop运行mapreduce报错Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster
详细错误信息如下:
Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster
Please check whether your etc/hadoop/mapred-site.xml contains the below configuration:
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=${full path of your hadoop distribution directory}</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=${full path of your hadoop distribution directory}</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=${full path of your hadoop distribution directory}</value>
</property>
先手hadoop classpath命令得到classpath:
hadoop classpath
如下:
[root@hd1 mapreduce]# hadoop classpath
/home/hadoop-3.1.4/etc/hadoop:/home/hadoop-3.1.4/share/hadoop/common/lib/*:/home/hadoop-3.1.4/share/hadoop/common/*:/home/hadoop-3.1.4/share/hadoop/hdfs:/home/hadoop-3.1.4/share/hadoop/hdfs/lib/*:/home/hadoop-3.1.4/share/hadoop/hdfs/*:/home/hadoop-3.1.4/share/hadoop/mapreduce/lib/*:/home/hadoop-3.1.4/share/hadoop/mapreduce/*:/home/hadoop-3.1.4/share/hadoop/yarn:/home/hadoop-3.1.4/share/hadoop/yarn/lib/*:/home/hadoop-3.1.4/share/hadoop/yarn/*
再修改mapred-site.xml配置,增加如下:
<property>
<name>yarn.app.mapreduce.am.env</name> <value>HADOOP_MAPRED_HOME=/home/hadoop-3.1.4/etc/hadoop:/home/hadoop-3.1.4/share/hadoop/common/lib/*:/home/hadoop-3.1.4/share/hadoop/common/*:/home/hadoop-3.1.4/share/hadoop/hdfs:/home/hadoop-3.1.4/share/hadoop/hdfs/lib/*:/home/hadoop-3.1.4/share/hadoop/hdfs/*:/home/hadoop-3.1.4/share/hadoop/mapreduce/lib/*:/home/hadoop-3.1.4/share/hadoop/mapreduce/*:/home/hadoop-3.1.4/share/hadoop/yarn:/home/hadoop-3.1.4/share/hadoop/yarn/lib/*:/home/hadoop-3.1.4/share/hadoop/yarn/*</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=/home/hadoop-3.1.4/etc/hadoop:/home/hadoop-3.1.4/share/hadoop/common/lib/*:/home/hadoop-3.1.4/share/hadoop/common/*:/home/hadoop-3.1.4/share/hadoop/hdfs:/home/hadoop-3.1.4/share/hadoop/hdfs/lib/*:/home/hadoop-3.1.4/share/hadoop/hdfs/*:/home/hadoop-3.1.4/share/hadoop/mapreduce/lib/*:/home/hadoop-3.1.4/share/hadoop/mapreduce/*:/home/hadoop-3.1.4/share/hadoop/yarn:/home/hadoop-3.1.4/share/hadoop/yarn/lib/*:/home/hadoop-3.1.4/share/hadoop/yarn/*</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=/home/hadoop-3.1.4/etc/hadoop:/home/hadoop-3.1.4/share/hadoop/common/lib/*:/home/hadoop-3.1.4/share/hadoop/common/*:/home/hadoop-3.1.4/share/hadoop/hdfs:/home/hadoop-3.1.4/share/hadoop/hdfs/lib/*:/home/hadoop-3.1.4/share/hadoop/hdfs/*:/home/hadoop-3.1.4/share/hadoop/mapreduce/lib/*:/home/hadoop-3.1.4/share/hadoop/mapreduce/*:/home/hadoop-3.1.4/share/hadoop/yarn:/home/hadoop-3.1.4/share/hadoop/yarn/lib/*:/home/hadoop-3.1.4/share/hadoop/yarn/*</value>
</property>
注意:上面的配置的value都是上面命令得到的值,复制到value中即可