hadoop运行mapreduce报错Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRApp

异常问题:

今天运行word count单词统计示例,hadoop运行mapreduce报错Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster

详细错误信息如下:

 
 
  1. Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster
  2. Please check whether your etc/hadoop/mapred-site.xml contains the below configuration:
  3. <property>
  4. <name>yarn.app.mapreduce.am.env</name>
  5. <value>HADOOP_MAPRED_HOME=${full path of your hadoop distribution directory}</value>
  6. </property>
  7. <property>
  8. <name>mapreduce.map.env</name>
  9. <value>HADOOP_MAPRED_HOME=${full path of your hadoop distribution directory}</value>
  10. </property>
  11. <property>
  12. <name>mapreduce.reduce.env</name>
  13. <value>HADOOP_MAPRED_HOME=${full path of your hadoop distribution directory}</value>
  14. </property>

解决办法:

先手hadoop classpath命令得到classpath:
hadoop classpath
如下:

 
 
  1. [root@hd1 mapreduce]# hadoop classpath
  2. /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配置,增加如下:

 
 
  1. <property>
  2. <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>
  3. </property>
  4. <property>
  5. <name>mapreduce.map.env</name>
  6. <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>
  7. </property>
  8. <property>
  9. <name>mapreduce.reduce.env</name>
  10. <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>
  11. </property>

注意:上面的配置的value都是上面命令得到的值,复制到value中即可

猜你喜欢

转载自blog.csdn.net/dd2016124/article/details/128389740