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

时间:2017-02-07 15:46:38

标签: spark-streaming datastax-enterprise

我在链接

后启用了数据stax企业文件系统

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

我可以使用dse fs shell。我创建了一个文件夹/检查点。

当我在火花流中使用此文件夹作为检查点目录(dse​​fs://: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.access$200(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$1(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)

我错过了一些配置步骤。

1 个答案:

答案 0 :(得分:2)

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。