在hadoop3.3.0集群使用hadoop jar运行自带wordcount报错

本文记录了在使用Hadoop 3.3.0和ZK搭建的HA分布式集群中,运行MapReduce示例(hadoop-mapreduce-examples-3.3.0.jar pi55)遇到的'找不到或加载主类org.apache.hadoop.mapreduce.v2.app.MRAppMaster'错误。解决方案是检查并配置'yarn.app.mapreduce.am.env'、'mapreduce.map.env'和'mapreduce.reduce.env',并在'yarn-site.xml'和'mapred-site.xml'中添加相应的classpath配置。完成配置修改并分发到所有节点后,重启YARN服务,问题得到解决。

本人用hadoop3.3.0、ZK搭建的HA分布式集群,运行hadoop jar hadoop-mapreduce-examples-3.3.0.jar pi 5 5时出现如下错误:

Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster

Please check whether your <HADOOP_HOME>/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>

添加如下配置解决了问题:(/csnt/bigdata/hadoop-3.3.0是你需要替换的)

关闭yarn

stop-yarn.sh

vi $HADOOP_HOME/etc/hadoop/yarn-site.xml

<property>
	<name>yarn.application.classpath</name>
	<value>
		/csnt/bigdata/hadoop-3.3.0/etc/*,
		/csnt/bigdata/hadoop-3.3.0/etc/hadoop/*,
		/csnt/bigdata/hadoop-3.3.0/lib/*,
		/csnt/bigdata/hadoop-3.3.0/share/hadoop/common/*,
		/csnt/bigdata/hadoop-3.3.0/share/hadoop/common/lib/*,
		/csnt/bigdata/hadoop-3.3.0/share/hadoop/mapreduce/*,
		/csnt/bigdata/hadoop-3.3.0/share/hadoop/mapreduce/lib-examples/*,
		/csnt/bigdata/hadoop-3.3.0/share/hadoop/hdfs/*,
		/csnt/bigdata/hadoop-3.3.0/share/hadoop/hdfs/lib/*,
		/csnt/bigdata/hadoop-3.3.0/share/hadoop/yarn/*,
		/csnt/bigdata/hadoop-3.3.0/share/hadoop/yarn/lib/*,
	</value>
</property>

vi $HADOOP_HOME/etc/hadoop/mapred-site.xml

<property>
	<name>mapreduce.application.classpath</name>
	<value>
		/csnt/bigdata/hadoop-3.3.0/etc/*,
		/csnt/bigdata/hadoop-3.3.0/etc/hadoop/*,
		/csnt/bigdata/hadoop-3.3.0/lib/*,
		/csnt/bigdata/hadoop-3.3.0/share/hadoop/common/*,
		/csnt/bigdata/hadoop-3.3.0/share/hadoop/common/lib/*,
		/csnt/bigdata/hadoop-3.3.0/share/hadoop/mapreduce/*,
		/csnt/bigdata/hadoop-3.3.0/share/hadoop/mapreduce/lib-examples/*,
		/csnt/bigdata/hadoop-3.3.0/share/hadoop/hdfs/*,
		/csnt/bigdata/hadoop-3.3.0/share/hadoop/hdfs/lib/*,
		/csnt/bigdata/hadoop-3.3.0/share/hadoop/yarn/*,
		/csnt/bigdata/hadoop-3.3.0/share/hadoop/yarn/lib/*,
	</value>
</property>

记得将这两个修改的文件分发到其他的机器

cd $HADOOP_HOME/etc/hadoop

scp yarn-site.sh mapred-site.sh hadoop02:`pwd`

scp yarn-site.sh mapred-site.sh hadoop03:`pwd`

 

启动yarn

start-yarn.sh

再次执行

hadoop jar hadoop-mapreduce-examples-3.3.0.jar pi 5 5

以上。

本文是本人亲身经历,并且寻求解决方案后所记录,如果您有同样的问题,可以尝试使用此方案解决。如果这篇文章帮助到了您,是我的荣幸。

评论 29
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值