搭建hadoop集群后,在进行wordcout程序测试时报错

文章讲述了在搭建Hadoop集群后,进行wordcount程序测试时遇到的错误,主要原因是yarn-site.xml配置中classpath未正确设置。解决方案包括检查并添加classpath配置,确保无空格和换行。

背景:

在搭建hadoop集群后,进行集群的基本测试,相关配置注意事项。

问题描述

在进行wordcout程序测试时报错。
执行代码:

[yanhao@hadoop102 hadoop-3.1.3]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar  wordcount /wcinput /wcoutput

出现报错:

[2023-11-30 21:00:12.175]Container exited with a non-zero exit code 1. Error file: prelaunch.err.
Last 4096 bytes of prelaunch.err :
Last 4096 bytes of stderr :
错误: 找不到或无法加载主类 org.apache.hadoop.mapreduce.v2.app.MRAppMaster

原因分析:

yarn-site.xml文件配置中,没有添加mapreduce程序用到的classpath或者class path编辑有误

解决方案:

第一步:在根目录下输入下面的命令,并复制下来。

[yanhao@hadoop102 ~]$ hadoop classpath

第二步:进入到yarn-site.xml文件中,添加classpath的配置,我的yarn-site.xml文件如下所示。

<configuration>
   <!--指定MR走shuffle -->
   <property>
      <name>yarn.nodemanager.aux-services</name>
      <value>mapreduce_shuffle</value>
   </property>
            
   <!--指定ResourceManager的地址-->
   <property> 
      <name>yarn.resourcemanager.hostname</name>
      <value>hadoop103</value>
   </property>
              
   <!--环境变量的继承-->
   <property>
      <name>yarn.nodemanager.env-whitelist</name>  
      <value>JAVA_HOME,HADOOP_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
   </property>
    
    <!--这里的格式一定要注意!!!不要有任何的空格和换行!!!-->
   <property> 
     <name>yarn.application.classpath</name>
     <value>/opt/module/hadoop-3.1.3/etc/hadoop:/opt/module/hadoop-3.1.3/share/hadoop/common/lib/*:/opt/module/hadoop-3.1.3/share/hadoop/common/*:/opt/module/hadoop-3.1.3/share/hadoop/hdfs:/opt/module/hadoop-3.1.3/share/hadoop/hdfs/lib/*:/opt/module/hadoop-3.1.3/share/hadoop/hdfs/*:/opt/module/hadoop-3.1.3/share/hadoop/mapreduce/lib/*:/opt/module/hadoop-3.1.3/share/hadoop/mapreduce/*:/opt/module/hadoop-3.1.3/share/hadoop/yarn:/opt/module/hadoop-3.1.3/share/hadoop/yarn/lib/*:/opt/module/hadoop-3.1.3/
share/hadoop/yarn/*</value>
   </property>

</configuration>

**特别注意:**name标签和value标签之间除了你要添加的内容,其他一切空格和换行都不能有!!!!!!!!

其他:

附上另外的配置文件:同样不要有空格和换行!!!

core-site.xml

<configuration>
  <!--指定NameNode的地址-->
  <property>
     <name>fs.defaultFS</name>
     <value>hdfs://hadoop102:8020</value>
  </property>

  <!--指定hadoop数据的存储目录-->
  <property>
     <name>hadoop.tmp.dir</name>
     <value>/opt/module/hadoop-3.1.3/data</value>
  </property>

  <property>
    <name>hadoop.http.staticuser.user</name>
    <value>yanhao</value> <!--此处换成你自己的用户名-->
  </property>

</configuration>

hdfs-site.xml

<configuration>
   <!-- nn web端访问地址-->
   <property>
      <name>dfs.namenode.http-address</name>
      <value>hadoop102:9870</value>
   </property>
   <!-- 2nn web端访问地址-->
   <property>
      <name>dfs.namenode.secondary.http-address</name>
      <value>hadoop104:9868</value>
   </property>
</configuration>

mapred-site.xml

<configuration>
   <!--指定MapReduce程序运行在 Yarn 上 -->
   <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
   </property>
</configuration>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值