私はHadoopの初心者ですが、MRを使用してHBaseにデータをインポートしようとしましたが失敗しました。コンソールにはエラー情報を示しています。私はグーグルとstackoverflowのことで、いくつかの解決策を見つけたMapReduceタスクを開始できません。メインクラスを見つけることができません。org.apache.hadoop.mapreduce.v2.app.MRAppMaster
Container exited with a non-zero exit code 1. Last 4096 bytes of stderr :
Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster
Here is the screenshot of the whole error log page
を、ほとんどのソリューションは、それがmapred-site.xmlの糸-site.xmlのの構成に関連していると述べましたしかし、私は私に何も間違ったものは見つけませんでした。 mapreduce.application.classpathに問題がありますか?
mapred-site.xmlの
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
<property>
<name>mapreduce.application.classpath</name>
<value>
/usr/local/hadoop/etc/hadoop,
/usr/local/hadoop/share/hadoop/common/*,
/usr/local/hadoop/share/hadoop/common/lib/*,
/usr/local/hadoop/share/hadoop/hdfs/*,
/usr/local/hadoop/share/hadoop/hdfs/lib/*,
/usr/local/hadoop/share/hadoop/mapreduce/*,
/usr/local/hadoop/share/hadoop/mapreduce/lib/*,
/usr/local/hadoop/share/hadoop/yarn/*,
/usr/local/hadoop/share/hadoop/yarn/lib/*
</value>
</property>
<property>
<name>mapreduce.app-submisson.cross-platform</name>>
<value>true</value>>
</property>>
</configuration>
糸-site.xmlの
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
<property>
<name>yarn.application.classpath</name>
<value>
/usr/local/hadoop/etc/hadoop,
/usr/local/hadoop/share/hadoop/common/*,
/usr/local/hadoop/share/hadoop/common/lib/*,
/usr/local/hadoop/share/hadoop/hdfs/*,
/usr/local/hadoop/share/hadoop/hdfs/lib/*,
/usr/local/hadoop/share/hadoop/mapreduce/*,
/usr/local/hadoop/share/hadoop/mapreduce/lib/*,
/usr/local/hadoop/share/hadoop/yarn/*,
/usr/local/hadoop/share/hadoop/yarn/lib/*
</value>
</property>
</configuration>
これらのプロパティは、ジョブが送信されるすべてのスレーブノードおよびクライアントノードで使用できますか。 – franklinsijo
はい、もちろんです。すでにNamenodeと2 Datanodeの両方に適用されています。 – haohuily
これが解決するかどうか不明な場合は、すでに環境変数HADOOP_MAPRED_HOMEを設定しておかないと、 – franklinsijo