apacheflink写入MapR文件系统

apacheflink写入MapR文件系统,apache,apache-flink,flink-streaming,Apache,Apache Flink,Flink Streaming,我目前正在当前环境中运行ApacheFlink 1.2.0,并使用BucketingSink将数据写入hadoop文件系统。我能够使用file://和hdfs://文件系统协议写入数据,而没有任何问题。在Hortonworks沙箱中测试。但当我在MapR沙箱中切换到使用maprfs://协议编写时,它会说 No FileSystem for scheme: maprfs Caused by: java.io.IOException: No FileSystem for scheme: map

我目前正在当前环境中运行ApacheFlink 1.2.0,并使用BucketingSink将数据写入hadoop文件系统。我能够使用
file://
hdfs://
文件系统协议写入数据,而没有任何问题。在Hortonworks沙箱中测试。但当我在MapR沙箱中切换到使用
maprfs://
协议编写时,它会说

No FileSystem for scheme: maprfs
  Caused by: java.io.IOException: No FileSystem for scheme: maprfs
    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)

我需要了解我需要添加到Flink应用程序中的配置,以允许我写入maprfs。在我的MapR集群中,core-site.xml和hdfs-site.xml是空的,因此,我没有复制到我的
$FLINK_CONF_DIR

类路径中首先需要MapR的
hadoop.jar
。它通常位于
/opt/mapr/…

的某个地方,现在有一个让我尝试用hadoop mapr依赖重新编译Flink 1.2,看看它是如何运行的。我读过mapr社区网站上说,为了使用mapr集群,我们需要使用供应商repo重新编译Flink二进制文件。我将使用hadoop-2.7-mapr-1607版本进行编译。可能还包括zookeeper-3.4.5-mapr版本,以防最终遇到任何问题!!!!。在使用MapR依赖项重新编译Flink 1.2之后,即使不复制hadoop MapR JAR,也可以成功地写入maprfs。现在一切正常。你应该接受@user7695690作为正确答案:)事实上,拥有hadoop jar在我这方面似乎不起作用,但用MapR hadoop和zookeeper发行版重新编译Flink有助于解决我的问题。尽管如此,还是接受了。谢谢,url链接有帮助