Datastax 企业文件系统 (DSEFS):与 Spark Streaming 一起使用时出错

Datastax Enterprise File System (DSEFS): Error while using with Spark Streaming

我在 link

之后启用了 data stax 企业文件系统

https://docs.datastax.com/en/latest-dse/datastax_enterprise/ana/enablingDsefs.html

我可以使用 dse fs shell。我创建了一个文件夹 /checkpoint.

当我在 spark streaming 期间将此文件夹用作检查点目录 (dsefs://:5598/checkpoint) 时,出现以下错误:

Exception in thread "main" java.io.IOException: No FileSystem for scheme: dsefs
        at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2644)
        at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2651)
        at org.apache.hadoop.fs.FileSystem.access0(FileSystem.java:92)
        at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2687)
        at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2669)
        at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:371)
        at org.apache.hadoop.fs.Path.getFileSystem(Path.java:295)
        at org.apache.spark.streaming.StreamingContext.checkpoint(StreamingContext.scala:234)
        at org.apache.spark.streaming.api.java.JavaStreamingContext.checkpoint(JavaStreamingContext.scala:577)
        at com.sstech.captiveyes.data.streaming.StreamingVisitClassifierMerge.main(StreamingVisitClassifierMerge.java:96)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:731)
        at org.apache.spark.deploy.SparkSubmit$.doRunMain(SparkSubmit.scala:181)
        at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:206)
        at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:121)
        at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)

我是不是漏掉了一些配置步骤。

Hadoop 配置的基本部分是:

<property>
  <name>fs.dsefs.impl</name>
  <value>com.datastax.bdp.fs.hadoop.DseFileSystem</value>
</property>

将其放入您的 Hadoop core-site.xml 文件中。或者您可以在 Hadoop Configuration 对象中设置此 属性。

如果您在 DSE 节点上 运行 此设置,当您启用工作负载分析时,此设置将在 dse-core-default.xml 中自动为您配置。因此它应该与 DSE Spark 开箱即用。

如果您 运行 在外部 Spark 集群上,请阅读 DSE 文档的自带 Spark 部分:https://docs.datastax.com/en/latest-dse/datastax_enterprise/spark/byosIntro.html。它描述了如何设置您的 Spark 以访问 DSEFS 和 Cassandra。