我目前在当前环境中运行Apache Flink 1.2.0,并使用BucketingSink将数据写入hadoop文件系统。我能够使用file:///
和hdfs:///
文件系统协议编写数据,没有任何问题。在Hortonworks Sandbox中测试过。但是当我在MapR Sandbox中切换到使用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应用程序中的配置才能允许我写入maprf。在我的MapR集群中,core-site.xml和hdfs-site.xml为空,因此,我没有复制到我的$FLINK_CONF_DIR
。
答案 0 :(得分:0)
您需要在类路径中首先使用mapr hadoop.jar
。它通常位于/opt/mapr/...
答案 1 :(得分:0)