Apache spark spark本地和alluxio客户端
我正在本地模式下运行spark,并试图让它与alluxio对话。我得到了一个错误: java.lang.ClassNotFoundException:找不到类alluxio.hadoop.FileSystem 我已经看了这里的页面: 详细说明了在这种情况下应该采取的步骤,但我没有发现成功 根据Spark文档,我可以这样引用本地Spark:Apache spark spark本地和alluxio客户端,apache-spark,classpath,local,alluxio,Apache Spark,Classpath,Local,Alluxio,我正在本地模式下运行spark,并试图让它与alluxio对话。我得到了一个错误: java.lang.ClassNotFoundException:找不到类alluxio.hadoop.FileSystem 我已经看了这里的页面: 详细说明了在这种情况下应该采取的步骤,但我没有发现成功 根据Spark文档,我可以这样引用本地Spark: SparkSession.builder .appName("App") .getOrCreate 然后我可以像这样添加alluxio客户端库:
SparkSession.builder
.appName("App")
.getOrCreate
然后我可以像这样添加alluxio客户端库:
sparkSession.conf.set("spark.driver.extraClassPath", ALLUXIO_SPARK_CLIENT)
sparkSession.conf.set("spark.executor.extraClassPath", ALLUXIO_SPARK_CLIENT)
我已通过以下方式验证了正确的jar文件是否存在于本地计算机上的正确位置:
logger.error(sparkSession.conf.get("spark.driver.extraClassPath"))
logger.error(sparkSession.conf.get("spark.executor.extraClassPath"))
但我仍然得到了错误。我还能做些什么来解释Spark为什么不去图书馆
请注意,我没有使用spark submit-我知道将客户端jar添加到spark submit作业的方法。我的Spark实例在我的应用程序中被创建为本地实例,这就是我想要解决的用例
仅供参考,集群中还有另一个应用程序正在使用fs客户端连接到我的alluxio,一切正常。不过,在这种情况下,fs客户端将通过标准sbt依赖项打包为应用程序的一部分
谢谢,希望这能帮助其他人: 我这里的问题不是库没有被加载或者不在类路径上,而是我使用的是客户机的“fs”版本,而不是“hdfs”版本 我一直在使用一个通用的1.4客户端——在某个时候,这个客户端被分为fs版本和hdfs版本。当我最近更新1.7版本时,我错误地添加了“fs”版本