[jira] [Commented] (FLINK-10601) Make user home dir consistent with Flink default filesystem
[ https://issues.apache.org/jira/browse/FLINK-10601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16712245#comment-16712245 ] ASF GitHub Bot commented on FLINK-10601: link3280 commented on issue #6887: [FLINK-10601] [YARN] Make user home dir consistent with Flink default filesystem URL: https://github.com/apache/flink/pull/6887#issuecomment-445095013 This may break [FLINK-6376] for the application probably will not apply for the HDFS delegation that YARN uses for log aggregation, hence close this PR. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Make user home dir consistent with Flink default filesystem > --- > > Key: FLINK-10601 > URL: https://issues.apache.org/jira/browse/FLINK-10601 > Project: Flink > Issue Type: Improvement > Components: YARN >Affects Versions: 1.6.1 >Reporter: Paul Lin >Assignee: Paul Lin >Priority: Major > Labels: pull-request-available > > Currently, Flink client uses the raw default Hadoop filesystem to upload > local files, and this could be problematic when using a non-default > filesystem for HA or checkpointing in delegation tokens scenarios. The > jobmanager only has the delegation tokens for the default FS, so it gets > authentication errors when trying to connect a non-default filesystem. > So I propose to replace the default FS property in yarn configuration with > the Flink filesystem property `fs.default-scheme` on the client side > (AbstractYarnClusterDescriptor), to avoid this problem and also make the > client behavior more configurable. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (FLINK-10601) Make user home dir consistent with Flink default filesystem
[ https://issues.apache.org/jira/browse/FLINK-10601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16712246#comment-16712246 ] ASF GitHub Bot commented on FLINK-10601: link3280 closed pull request #6887: [FLINK-10601] [YARN] Make user home dir consistent with Flink default filesystem URL: https://github.com/apache/flink/pull/6887 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/flink-yarn/src/main/java/org/apache/flink/yarn/AbstractYarnClusterDescriptor.java b/flink-yarn/src/main/java/org/apache/flink/yarn/AbstractYarnClusterDescriptor.java index c161e227577..85e265248ed 100644 --- a/flink-yarn/src/main/java/org/apache/flink/yarn/AbstractYarnClusterDescriptor.java +++ b/flink-yarn/src/main/java/org/apache/flink/yarn/AbstractYarnClusterDescriptor.java @@ -46,6 +46,7 @@ import org.apache.flink.util.ShutdownHookUtil; import org.apache.flink.yarn.configuration.YarnConfigOptions; +import org.apache.hadoop.fs.CommonConfigurationKeysPublic; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.fs.permission.FsAction; @@ -723,6 +724,10 @@ public ApplicationReport startAppMaster( // initialize file system // Copy the application master jar to the filesystem // Create a local resource to point to the destination jar path + String flinkDefaultFs = org.apache.flink.core.fs.FileSystem.getDefaultFsUri().toString(); + if (!flinkDefaultFs.startsWith("file:/")) { + yarnConfiguration.set(CommonConfigurationKeysPublic.FS_DEFAULT_NAME_KEY, flinkDefaultFs); + } final FileSystem fs = FileSystem.get(yarnConfiguration); final Path homeDir = fs.getHomeDirectory(); This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Make user home dir consistent with Flink default filesystem > --- > > Key: FLINK-10601 > URL: https://issues.apache.org/jira/browse/FLINK-10601 > Project: Flink > Issue Type: Improvement > Components: YARN >Affects Versions: 1.6.1 >Reporter: Paul Lin >Assignee: Paul Lin >Priority: Major > Labels: pull-request-available > > Currently, Flink client uses the raw default Hadoop filesystem to upload > local files, and this could be problematic when using a non-default > filesystem for HA or checkpointing in delegation tokens scenarios. The > jobmanager only has the delegation tokens for the default FS, so it gets > authentication errors when trying to connect a non-default filesystem. > So I propose to replace the default FS property in yarn configuration with > the Flink filesystem property `fs.default-scheme` on the client side > (AbstractYarnClusterDescriptor), to avoid this problem and also make the > client behavior more configurable. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (FLINK-10601) Make user home dir consistent with Flink default filesystem
[ https://issues.apache.org/jira/browse/FLINK-10601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16660294#comment-16660294 ] ASF GitHub Bot commented on FLINK-10601: link3280 commented on issue #6887: [FLINK-10601] [YARN] Make user home dir consistent with Flink default filesystem URL: https://github.com/apache/flink/pull/6887#issuecomment-432158551 @StefanRRichter would you please have a look at this PR? Should be a quick one. Thanks! This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Make user home dir consistent with Flink default filesystem > --- > > Key: FLINK-10601 > URL: https://issues.apache.org/jira/browse/FLINK-10601 > Project: Flink > Issue Type: Improvement > Components: YARN >Affects Versions: 1.6.1 >Reporter: Paul Lin >Priority: Major > Labels: pull-request-available > > Currently, Flink client uses the raw default Hadoop filesystem to upload > local files, and this could be problematic when using a non-default > filesystem for HA or checkpointing in delegation tokens scenarios. The > jobmanager only has the delegation tokens for the default FS, so it gets > authentication errors when trying to connect a non-default filesystem. > So I propose to replace the default FS property in yarn configuration with > the Flink filesystem property `fs.default-scheme` on the client side > (AbstractYarnClusterDescriptor), to avoid this problem and also make the > client behavior more configurable. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (FLINK-10601) Make user home dir consistent with Flink default filesystem
[ https://issues.apache.org/jira/browse/FLINK-10601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16656883#comment-16656883 ] ASF GitHub Bot commented on FLINK-10601: link3280 commented on issue #6887: [FLINK-10601] [YARN] Make user home dir consistent with Flink default filesystem URL: https://github.com/apache/flink/pull/6887#issuecomment-431389044 I'd like to add some tests, but it seems that it's hard to expose the state of YARN containers in a UT, and writing an IT for this should be unworthy. I might need some suggestions on this. Thanks! This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Make user home dir consistent with Flink default filesystem > --- > > Key: FLINK-10601 > URL: https://issues.apache.org/jira/browse/FLINK-10601 > Project: Flink > Issue Type: Improvement > Components: YARN >Affects Versions: 1.6.1 >Reporter: Paul Lin >Priority: Major > Labels: pull-request-available > > Currently, Flink client uses the raw default Hadoop filesystem to upload > local files, and this could be problematic when using a non-default > filesystem for HA or checkpointing in delegation tokens scenarios. The > jobmanager only has the delegation tokens for the default FS, so it gets > authentication errors when trying to connect a non-default filesystem. > So I propose to replace the default FS property in yarn configuration with > the Flink filesystem property `fs.default-scheme` on the client side > (AbstractYarnClusterDescriptor), to avoid this problem and also make the > client behavior more configurable. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (FLINK-10601) Make user home dir consistent with Flink default filesystem
[ https://issues.apache.org/jira/browse/FLINK-10601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16656881#comment-16656881 ] ASF GitHub Bot commented on FLINK-10601: link3280 opened a new pull request #6887: [FLINK-10601] [YARN] Make user home dir consistent with Flink default filesystem URL: https://github.com/apache/flink/pull/6887 ## What is the purpose of the change Currently, Flink client uses the raw default Hadoop filesystem to upload local files, and this could be problematic when using a non-default filesystem for HA or checkpointing in delegation tokens scenarios. The jobmanager only has the delegation tokens for the default FS, so it gets authentication errors when trying to connect a non-default filesystem. So I propose to make the default FS consistent with the Flink filesystem property fs.default-scheme (if it's set) on the client side (AbstractYarnClusterDescriptor), to avoid this problem and also make the client behavior more configurable. ## Brief change log - Replace the fs.defaultFS property in the yarn configuration with the initiated Flink filesystem's default scheme if it's not local. ## Verifying this change This change added tests and can be verified as follows: - Set the default fs in core.xml to a non-exist fs, and set the fs.default-scheme property to a valid one in flink-conf.yaml, then run the WordCount example to see if it works well. There would be errors while the client tries to upload the files to the remote system if things go wrong. ## Does this pull request potentially affect one of the following parts: - Dependencies (does it add or upgrade a dependency): no - The public API, i.e., is any changed class annotated with `@Public(Evolving)`: no - The serializers: no - The runtime per-record code paths (performance sensitive): no - Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: no - The S3 file system connector: no ## Documentation - Does this pull request introduce a new feature? no - If yes, how is the feature documented? not applicable This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Make user home dir consistent with Flink default filesystem > --- > > Key: FLINK-10601 > URL: https://issues.apache.org/jira/browse/FLINK-10601 > Project: Flink > Issue Type: Improvement > Components: YARN >Affects Versions: 1.6.1 >Reporter: Paul Lin >Priority: Major > Labels: pull-request-available > > Currently, Flink client uses the raw default Hadoop filesystem to upload > local files, and this could be problematic when using a non-default > filesystem for HA or checkpointing in delegation tokens scenarios. The > jobmanager only has the delegation tokens for the default FS, so it gets > authentication errors when trying to connect a non-default filesystem. > So I propose to replace the default FS property in yarn configuration with > the Flink filesystem property `fs.default-scheme` on the client side > (AbstractYarnClusterDescriptor), to avoid this problem and also make the > client behavior more configurable. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (FLINK-10601) Make user home dir consistent with Flink default filesystem
[ https://issues.apache.org/jira/browse/FLINK-10601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16656859#comment-16656859 ] ASF GitHub Bot commented on FLINK-10601: link3280 closed pull request #6879: [FLINK-10601] [YARN] Make user home dir consistent with Flink default filesystem URL: https://github.com/apache/flink/pull/6879 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/flink-yarn/src/main/java/org/apache/flink/yarn/AbstractYarnClusterDescriptor.java b/flink-yarn/src/main/java/org/apache/flink/yarn/AbstractYarnClusterDescriptor.java index c161e227577..4f1a9a2d417 100644 --- a/flink-yarn/src/main/java/org/apache/flink/yarn/AbstractYarnClusterDescriptor.java +++ b/flink-yarn/src/main/java/org/apache/flink/yarn/AbstractYarnClusterDescriptor.java @@ -46,6 +46,7 @@ import org.apache.flink.util.ShutdownHookUtil; import org.apache.flink.yarn.configuration.YarnConfigOptions; +import org.apache.hadoop.fs.CommonConfigurationKeysPublic; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.fs.permission.FsAction; @@ -723,6 +724,8 @@ public ApplicationReport startAppMaster( // initialize file system // Copy the application master jar to the filesystem // Create a local resource to point to the destination jar path + yarnConfiguration.set(CommonConfigurationKeysPublic.FS_DEFAULT_NAME_KEY, + org.apache.flink.core.fs.FileSystem.getDefaultFsUri().toString()); final FileSystem fs = FileSystem.get(yarnConfiguration); final Path homeDir = fs.getHomeDirectory(); This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Make user home dir consistent with Flink default filesystem > --- > > Key: FLINK-10601 > URL: https://issues.apache.org/jira/browse/FLINK-10601 > Project: Flink > Issue Type: Improvement > Components: YARN >Affects Versions: 1.6.1 >Reporter: Paul Lin >Priority: Major > Labels: pull-request-available > > Currently, Flink client uses the raw default Hadoop filesystem to upload > local files, and this could be problematic when using a non-default > filesystem for HA or checkpointing in delegation tokens scenarios. The > jobmanager only has the delegation tokens for the default FS, so it gets > authentication errors when trying to connect a non-default filesystem. > So I propose to replace the default FS property in yarn configuration with > the Flink filesystem property `fs.default-scheme` on the client side > (AbstractYarnClusterDescriptor), to avoid this problem and also make the > client behavior more configurable. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (FLINK-10601) Make user home dir consistent with Flink default filesystem
[ https://issues.apache.org/jira/browse/FLINK-10601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16656419#comment-16656419 ] ASF GitHub Bot commented on FLINK-10601: link3280 commented on issue #6879: [FLINK-10601] [YARN] Make user home dir consistent with Flink default filesystem URL: https://github.com/apache/flink/pull/6879#issuecomment-431279411 I'd like to add some tests, but it seems that it's hard to expose the state of YARN containers, and writing an IT for this should be unworthy. I might need some help with this. Thanks! This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Make user home dir consistent with Flink default filesystem > --- > > Key: FLINK-10601 > URL: https://issues.apache.org/jira/browse/FLINK-10601 > Project: Flink > Issue Type: Improvement > Components: YARN >Affects Versions: 1.6.1 >Reporter: Paul Lin >Priority: Major > Labels: pull-request-available > > Currently, Flink client uses the raw default Hadoop filesystem to upload > local files, and this could be problematic when using a non-default > filesystem for HA or checkpointing in delegation tokens scenarios. The > jobmanager only has the delegation tokens for the default FS, so it gets > authentication errors when trying to connect a non-default filesystem. > So I propose to replace the default FS property in yarn configuration with > the Flink filesystem property `fs.default-scheme` on the client side > (AbstractYarnClusterDescriptor), to avoid this problem and also make the > client behavior more configurable. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (FLINK-10601) Make user home dir consistent with Flink default filesystem
[ https://issues.apache.org/jira/browse/FLINK-10601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16656414#comment-16656414 ] ASF GitHub Bot commented on FLINK-10601: link3280 opened a new pull request #6879: [FLINK-10601] [YARN] Make user home dir consistent with Flink default filesystem URL: https://github.com/apache/flink/pull/6879 ## What is the purpose of the change Currently, Flink client uses the raw default Hadoop filesystem to upload local files, and this could be problematic when using a non-default filesystem for HA or checkpointing in delegation tokens scenarios. The jobmanager only has the delegation tokens for the default FS, so it gets authentication errors when trying to connect a non-default filesystem. So I propose to make the default FS with the Flink filesystem property `fs.default-scheme` on the client side (AbstractYarnClusterDescriptor), to avoid this problem and also make the client behavior more configurable. ## Brief change log - Replace the `fs.defaultFS` property in the yarn configuration with the initiated Flink filesystem's default scheme. ## Verifying this change This change added tests and can be verified as follows: - Set the default fs in core.xml to a non-exist fs, and set the `fs.default-scheme` property to a valid one in flink-conf.yaml, then run the WordCount example to see if it works well. There would be errors while the client tries to upload the files to the remote system if things go wrong. ## Does this pull request potentially affect one of the following parts: - Dependencies (does it add or upgrade a dependency): no - The public API, i.e., is any changed class annotated with `@Public(Evolving)`: no - The serializers: no - The runtime per-record code paths (performance sensitive): no - Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: no - The S3 file system connector: no ## Documentation - Does this pull request introduce a new feature? no - If yes, how is the feature documented? not documented This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Make user home dir consistent with Flink default filesystem > --- > > Key: FLINK-10601 > URL: https://issues.apache.org/jira/browse/FLINK-10601 > Project: Flink > Issue Type: Improvement > Components: YARN >Affects Versions: 1.6.1 >Reporter: Paul Lin >Priority: Major > Labels: pull-request-available > > Currently, Flink client uses the raw default Hadoop filesystem to upload > local files, and this could be problematic when using a non-default > filesystem for HA or checkpointing in delegation tokens scenarios. The > jobmanager only has the delegation tokens for the default FS, so it gets > authentication errors when trying to connect a non-default filesystem. > So I propose to replace the default FS property in yarn configuration with > the Flink filesystem property `fs.default-scheme` on the client side > (AbstractYarnClusterDescriptor), to avoid this problem and also make the > client behavior more configurable. -- This message was sent by Atlassian JIRA (v7.6.3#76005)