初出江湖的Ryan 发表于 2024-2-5 00:49

hadoop环境搭好后,运行自带的mr程序报错,请大家帮忙 看看



在B站找了某硅谷的一套 hadoop 的视频,按着视频的步骤来操作,目前只是跟 着把 hadoop 搭起来了。 namenode, datanode, yarn 那些都启动起来了,进程都正常,web ui也可以正常访问。
只是在运行官方自带的 mr 程序时, 会出现上面的问题。网上找到了解决方法,是在 mapred-site.xml 和 yarn-site.xml 两个文件中都加入了 mapreduce.application.classpath、 yarn.application.class。
我在B站看了好几套关于 hadoop的集群搭建视频,都没有关于这两项的配置,视频上的都可以正常跑起来了,但是我的却需要配置上 这两项才可以正常 运行 官方自带的 mr 程序。
环境: centos 7 和 rocky 8 都试过了,jdk 用的 1.8 , hadoop 用的 3.1.3 和 最新版。
请问为什么网上的视频教程不需要 配这两项都可以,但是我不配这两项却报错了?

njbb888 发表于 2024-2-5 08:47

   <property>
          <name>yarn.app.mapreduce.am.env</name>
          <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
   </property>
   
   <property>
          <name>mapreduce.map.env</name>
          <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
   </property>
   
   <property>
          <name>mapreduce.reduce.env</name>
          <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
   </property>

缘起不灭 发表于 2024-2-5 09:53

${HADOOP_HOME}这个相对路径是不是有问题?比如路径跟你放文件的不一样,或者权限?

初出江湖的Ryan 发表于 2024-2-5 10:11

缘起不灭 发表于 2024-2-5 09:53
${HADOOP_HOME}这个相对路径是不是有问题?比如路径跟你放文件的不一样,或者权限?

其实我也不是很懂 ${HADOOP_HOME} 这个是什么意思,目前试过在 linux 的环境变量中配了 HADOOP_HOME 这个环境变量,还有在 hadoop_env.sh 中也配了这个变量。 这个变量直接用的绝对路径来的。但是还是不管用,这个是引用 哪里定义的变量的?

njbb888 发表于 2024-2-5 10:53

初出江湖的Ryan 发表于 2024-2-5 10:11
其实我也不是很懂 ${HADOOP_HOME} 这个是什么意思,目前试过在 linux 的环境变量中配了 HADOOP_HOME 这个 ...

mapred-site.xml 里面当然也要配,你那截图里没有配置。

初出江湖的Ryan 发表于 2024-2-5 11:26

njbb888 发表于 2024-2-5 10:53
mapred-site.xml 里面当然也要配,你那截图里没有配置。

是需要在 mapred-site.xml 里配 mapreduce.application.classpath 吗?我看B站看了几套关于hadoop环境搭建的视频了。csdn 也看了几篇文章,基本都没提到 需要配这一项的。

masterkoko 发表于 2024-2-5 11:49

Hadoop3.x,确实是需要在xml配置文件中,单独指定classpath的。 Hadoop2.x不是必须。
另外,Hadoop有个命令: hadoop classpath, 你把这个结果放到配置文件的value里。不要从网上搜了一个就往里放。

初出江湖的Ryan 发表于 2024-2-5 12:39

masterkoko 发表于 2024-2-5 11:49
Hadoop3.x,确实是需要在xml配置文件中,单独指定classpath的。 Hadoop2.x不是必须。
另外,Hadoop有个命令 ...

这个classpath的,我在官网看了,可以不用配的,不配会有几个默认值 。这几个默认值 ,跟我用 hadoop classpth 看到的结果 ,和 yarn classpth 两个命令执行看到的结果 是一致。

masterkoko 发表于 2024-2-5 15:22

初出江湖的Ryan 发表于 2024-2-5 12:39
这个classpath的,我在官网看了,可以不用配的,不配会有几个默认值 。这几个默认值 ,跟我用 hadoop cla ...

hadoop3.2+,如果不给yarn-site.xml中,要是不配置【yarn.application.classpath】的话,hadoop的例子是运行不了的。

njbb888 发表于 2024-2-5 16:31

HADOOP_CONF_DIR 配了没?
页: [1] 2
查看完整版本: hadoop环境搭好后,运行自带的mr程序报错,请大家帮忙 看看