You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@falcon.apache.org by "Jaehong Choi (JIRA)" <ji...@apache.org> on 2015/08/28 18:00:47 UTC

[jira] [Comment Edited] (FALCON-1312) Falcon post processing action should use Oozie prepared configuration

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

Jaehong Choi edited comment on FALCON-1312 at 8/28/15 4:00 PM:
---------------------------------------------------------------

I have a similar problem when submiting a cluster entity with the remote NN-HA address. 
It would be good to use Oozie prepared configuration when subming a cluster entity too.

java.lang.IllegalArgumentException: java.net.UnknownHostException: nameservice1
        at org.apache.hadoop.security.SecurityUtil.buildTokenService(SecurityUtil.java:374)
        at org.apache.hadoop.security.SecurityUtil.buildTokenService(SecurityUtil.java:392)
        at org.apache.hadoop.hdfs.web.WebHdfsFileSystem.initialize(WebHdfsFileSystem.java:167)
        at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2619)
        at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:91)
        at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2653)
        at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2635)
        at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:370)
        at org.apache.falcon.hadoop.HadoopClientFactory.createFileSystem(HadoopClientFactory.java:194)
        at org.apache.falcon.hadoop.HadoopClientFactory.createProxiedFileSystem(HadoopClientFactory.java:153)
        at org.apache.falcon.hadoop.HadoopClientFactory.createProxiedFileSystem(HadoopClientFactory.java:127)
        at org.apache.falcon.entity.parser.ClusterEntityParser.validateFileSystem(ClusterEntityParser.java:126)
        at org.apache.falcon.entity.parser.ClusterEntityParser.validateReadInterface(ClusterEntityParser.java:102)
        at org.apache.falcon.entity.parser.ClusterEntityParser.validate(ClusterEntityParser.java:79)
        at org.apache.falcon.entity.parser.ClusterEntityParser.validate(ClusterEntityParser.java:53)


The configuration is the below.
    <interfaces>
        <interface type="readonly" endpoint="webhdfs://nameservice1:50070" version="2.5.0" />
        <interface type="write" endpoint="hdfs://nameservice1:8020" version="2.5.0" />



was (Author: jaehong.choi):
I have a similar problem when submiting a cluster entity with the remote NN-HA address. 

> 2015-08-29 00:12:51,886 ERROR - [224411337@qtp-883444303-183:ed8f5e11-9c9c-4561-a927-0d231bacc189 falcon:POST//entities/submit/cluster] ~ Unable to persist entity object (AbstractEntityManager:160)
java.lang.IllegalArgumentException: java.net.UnknownHostException: nameservice1
        at org.apache.hadoop.security.SecurityUtil.buildTokenService(SecurityUtil.java:374)
        at org.apache.hadoop.security.SecurityUtil.buildTokenService(SecurityUtil.java:392)
        at org.apache.hadoop.hdfs.web.WebHdfsFileSystem.initialize(WebHdfsFileSystem.java:167)
        at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2619)
        at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:91)
        at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2653)
        at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2635)
        at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:370)
        at org.apache.falcon.hadoop.HadoopClientFactory.createFileSystem(HadoopClientFactory.java:194)
        at org.apache.falcon.hadoop.HadoopClientFactory.createProxiedFileSystem(HadoopClientFactory.java:153)
        at org.apache.falcon.hadoop.HadoopClientFactory.createProxiedFileSystem(HadoopClientFactory.java:127)
        at org.apache.falcon.entity.parser.ClusterEntityParser.validateFileSystem(ClusterEntityParser.java:126)
        at org.apache.falcon.entity.parser.ClusterEntityParser.validateReadInterface(ClusterEntityParser.java:102)
        at org.apache.falcon.entity.parser.ClusterEntityParser.validate(ClusterEntityParser.java:79)
        at org.apache.falcon.entity.parser.ClusterEntityParser.validate(ClusterEntityParser.java:53)

>
    <interfaces>
        <interface type="readonly" endpoint="webhdfs://nameservice1:50070" version="2.5.0" />
        <interface type="write" endpoint="hdfs://nameservice1:8020" version="2.5.0" />


> Falcon post processing action should use Oozie prepared configuration
> ---------------------------------------------------------------------
>
>                 Key: FALCON-1312
>                 URL: https://issues.apache.org/jira/browse/FALCON-1312
>             Project: Falcon
>          Issue Type: Bug
>          Components: common
>    Affects Versions: 0.6, 0.6.1
>            Reporter: Venkat Ranganathan
>            Assignee: Venkat Ranganathan
>         Attachments: FALCON-1312.patch, FALCON-1312.patch.2
>
>
> Without this, in an environment with NN-HA or security setup, the postprocessing action will fail accdssing the filesystem 
> {quote}
> Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.JavaMain], main() threw exception, java.lang.IllegalArgumentException: java.net.UnknownHostException: nameservice
> org.apache.oozie.action.hadoop.JavaMainException: java.lang.IllegalArgumentException: java.net.UnknownHostException: nameservice
> 	at org.apache.oozie.action.hadoop.JavaMain.run(JavaMain.java:59)
> 	at org.apache.oozie.action.hadoop.LauncherMain.run(LauncherMain.java:47)
> 	at org.apache.oozie.action.hadoop.JavaMain.main(JavaMain.java:35)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:606)
> 	at org.apache.oozie.action.hadoop.LauncherMapper.map(LauncherMapper.java:236)
> 	at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54)
> 	at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:453)
> 	at org.apache.hadoop.mapred.MapTask.run(MapTask.java:343)
> 	at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:164)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at javax.security.auth.Subject.doAs(Subject.java:415)
> 	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
> 	at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)
> Caused by: java.lang.IllegalArgumentException: java.net.UnknownHostException: nameservice
> 	at org.apache.hadoop.security.SecurityUtil.buildTokenService(SecurityUtil.java:377)
> 	at org.apache.hadoop.hdfs.NameNodeProxies.createNonHAProxy(NameNodeProxies.java:310)
> 	at org.apache.hadoop.hdfs.NameNodeProxies.createProxy(NameNodeProxies.java:176)
> 	at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:678)
> 	at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:619)
> 	at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:149)
> 	at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2653)
> 	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.falcon.hadoop.HadoopClientFactory$1.run(HadoopClientFactory.java:200)
> 	at org.apache.falcon.hadoop.HadoopClientFactory$1.run(HadoopClientFactory.java:198)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at javax.security.auth.Subject.doAs(Subject.java:415)
> 	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
> 	at org.apache.falcon.hadoop.HadoopClientFactory.createFileSystem(HadoopClientFactory.java:198)
> 	at org.apache.falcon.hadoop.HadoopClientFactory.createProxiedFileSystem(HadoopClientFactory.java:153)
> 	at org.apache.falcon.hadoop.HadoopClientFactory.createProxiedFileSystem(HadoopClientFactory.java:145)
> 	at org.apache.falcon.workflow.WorkflowExecutionContext.serialize(WorkflowExecutionContext.java:313)
> 	at org.apache.falcon.workflow.WorkflowExecutionContext.serialize(WorkflowExecutionContext.java:299)
> 	at org.apache.falcon.workflow.FalconPostProcessing.run(FalconPostProcessing.java:49)
> 	at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
> 	at org.apache.falcon.workflow.FalconPostProcessing.main(FalconPostProcessing.java:39)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:606)
> 	at org.apache.oozie.action.hadoop.JavaMain.run(JavaMain.java:56)
> 	... 15 more
> Caused by: java.net.UnknownHostException: nameservice
> 	... 44 more
> {quote}
> In the above stack trace it is clear that we are using non-HA proxy because the configuration used does not have the HA information 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)