You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Aljoscha Krettek (JIRA)" <ji...@apache.org> on 2018/05/03 15:20:00 UTC

[jira] [Commented] (FLINK-9245) Can't create a BucketingSink with a provided Configuration if no hadoop defaults

    [ https://issues.apache.org/jira/browse/FLINK-9245?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16462583#comment-16462583 ] 

Aljoscha Krettek commented on FLINK-9245:
-----------------------------------------

I think the problem is that there really is no authority in the path you specify, and there is no  default authority. The part between the second and third {{/}} is where the authority should be, mostly a hostname. For example {{hdfs://my-namenode:50030/user/$USER)}/application_name/}} or {{hdfs://localhost:50030/user/$USER)}/application_name/}}.

Does that help?

> Can't create a BucketingSink with a provided Configuration if no hadoop defaults
> --------------------------------------------------------------------------------
>
>                 Key: FLINK-9245
>                 URL: https://issues.apache.org/jira/browse/FLINK-9245
>             Project: Flink
>          Issue Type: Bug
>          Components: Streaming Connectors
>    Affects Versions: 1.4.2
>            Reporter: Julien Cuquemelle
>            Priority: Minor
>             Fix For: 1.6.0
>
>
> We build Integration tests using this kind of code: 
> {code:java}
> val bucketingSink = new BucketingSink[Row]("hdfs:///user/$USER)}/application_name/")
> bucketingSink.setFSConfig(hadoopRule.getConfiguration.hdfs)
> bucketingSink.setBucketer(new DateTimeBucketer[Row]("yyyy-MM-dd--HHmm"))
> outpuStream.addSink(bucketingSink)
> {code}
> Here, the hadoopRule is providing a valid hdfs config that should allows this kind of code to run on a machine with no HADOOP_HOME or HADOOP_CONF_DIR set up, like a developper workstation or a Jenkins slave.
> When running this code on such a machine, the .createHadoopFileSystem(...) fails with 
> {noformat}
> The given file system URI (hdfs:///user/$USER/application_name/) did not describe the authority 
> at org.apache.flink.runtime.fs.hdfs.HadoopFsFactory.create(HadoopFsFactory.java:149)
> at org.apache.flink.core.fs.FileSystem.getUnguardedFileSystem(FileSystem.java:401){noformat}
> because it tries to instantiate the fileSystem from a default configuration in .getUnguardedFileSystem() ; as the default conf doesn't exist, the default filesystem resolves to "file:///" and the checks of the consistency of the URI fails because no authority can be found So the whole filesystem creation fails before actually trying to use the provided config.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)