spark LOCAL 和 alluxio 客户端
spark LOCAL and alluxio client
我 运行 spark 在 LOCAL 模式下并试图让它与 alluxio 对话。我收到错误:
java.lang.ClassNotFoundException: Class alluxio.hadoop.FileSystem 未找到
其中详细说明了在这种情况下应采取的步骤,但我没有找到成功的方法。
根据 Spark 文档,我可以像这样实例化本地 Spark:
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" 版本。
我 运行 spark 在 LOCAL 模式下并试图让它与 alluxio 对话。我收到错误: java.lang.ClassNotFoundException: Class alluxio.hadoop.FileSystem 未找到
其中详细说明了在这种情况下应采取的步骤,但我没有找到成功的方法。
根据 Spark 文档,我可以像这样实例化本地 Spark:
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" 版本。