Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/fs/FSDataInputStream

失败源

Spark的版本名称中的“without Hadoop”具有误导性:这意味着该版本不与特定的Hadoop发行版绑定,并不意味着没有hadoop即可运行:用户应指出在哪里可以找到Hadoop

我看到的教程中都是在$SPARK_HOME/conf/spark-env.sh,添加下列行(这下面更具有误导性也可能是我太笨了,2020春节期间困扰了我好几天)

# 编辑spark-env.sh文件(vim ./conf/spark-env.sh),在第一行添加以下配置信息:
export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)

解决操作

修改$SPARK_HOME/conf/spark-env.sh,添加下列行

export SPARK_DIST_CLASSPATH="$HADOOP_HOME/etc/hadoop/*:$HADOOP_HOME/share/hadoop/common/lib/*:$HADOOP_HOME/share/hadoop/common/*:$HADOOP_HOME/share/hadoop/hdfs/*:$HADOOP_HOME/share/hadoop/hdfs/lib/*:$HADOOP_HOME/share/hadoop/hdfs/*:$HADOOP_HOME/share/hadoop/yarn/lib/*:$HADOOP_HOME/share/hadoop/yarn/*:$HADOOP_HOME/share/hadoop/mapreduce/lib/*:$HADOOP_HOME/share/hadoop/mapreduce/*:$HADOOP_HOME/share/hadoop/tools/lib/*"

注意

  • 各种其他组件配置好了
  • 子节点的各种文件以及hadoop,Spark都有了(好像就是第一句话的强调子补充)

成功运行

example ok

bin/run-example SparkPi 2>&1 | grep "Pi is"

success

spark-shell ok

spark-shell也可以了

发布了34 篇原创文章 · 获赞 4 · 访问量 7551

猜你喜欢

转载自blog.csdn.net/neve_give_up_dan/article/details/104094490