You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@knox.apache.org by "Mate Juhasz (Jira)" <ji...@apache.org> on 2020/01/14 09:11:00 UTC
[jira] [Commented] (KNOX-256) Oozie output/input Dir configuration
rewrite rules
[ https://issues.apache.org/jira/browse/KNOX-256?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17014950#comment-17014950 ]
Mate Juhasz commented on KNOX-256:
----------------------------------
Hi! This issue, or very similar is still present. Knox writes incorrect values for "${nameNode}" if this variable is substituted in another place, "/hdfs:/..." instead of "hdfs://..."
> Oozie output/input Dir configuration rewrite rules
> --------------------------------------------------
>
> Key: KNOX-256
> URL: https://issues.apache.org/jira/browse/KNOX-256
> Project: Apache Knox
> Issue Type: Bug
> Affects Versions: 0.3.0
> Reporter: Vladimir Tkhir
> Priority: Major
> Attachments: README, oozie-examples.jar, workflow-configuration.xml, workflow.xml
>
>
> Steps to reproduce:
> Save attached files to /tmp/oozie folder
> # 0. Optionally cleanup the test directory in case a previous example was run without cleaning up.
> curl -i -k -u guest:guest-password -X DELETE \
> 'https://localhost:8443/gateway/sandbox/webhdfs/v1/user/guest/example?op=DELETE&recursive=true'
> # 1. Create the inode for workflow definition file in /user/guest/example
> curl -i -k -u guest:guest-password -X PUT \
> 'https://localhost:8443/gateway/sandbox/webhdfs/v1/user/guest/example/workflow.xml?op=CREATE'
> # 2. Upload the workflow definition file.
> curl -i -k -u guest:guest-password -T /tmp/oozie/workflow.xml -X PUT \
> '{Value Location header from command above}'
> # 3. Create the inode for oozie-examples.jar in /user/guest/example/lib
> curl -i -k -u guest:guest-password -X PUT \
> 'https://localhost:8443/gateway/sandbox/webhdfs/v1/user/guest/example/lib/oozie-examples.jar?op=CREATE'
> # 4. Upload oozie-examples.jar to /user/guest/example/lib.
> curl -i -k -u guest:guest-password -T /tmp/oozie/oozie-examples.jar -X PUT \
> '{Value Location header from command above}'
> # 5. Create the inode for a sample input file readme in /user/guest/example/input.
> curl -i -k -u guest:guest-password -X PUT \
> 'https://localhost:8443/gateway/sandbox/webhdfs/v1/user/guest/example/input/README?op=CREATE'
> # 6. Upload readme.txt to /user/guest/example/input.
> curl -i -k -u guest:guest-password -T /tmp/oozie/README -X PUT \
> '{Value of Location header from command above}'
> # 7. Submit the job via Oozie
> # Take note of the Job ID in the JSON response as this will be used in the next step.
> curl -ikv -u guest:guest-password -H Content-Type:application/xml -T /tmp/oozie/workflow-configuration.xml \
> -X POST 'https://localhost:8443/gateway/sandbox/oozie/v1/jobs?action=start'
> Job started, but failed with exception message: java.lang.IllegalArgumentException: Pathname /user/guest/Oozie1SysTest/output-data/hdfs:/hdp:8020/map-reduce from hdfs://hdp:8020/user/guest/Oozie1SysTest/output-data/hdfs:/hdp:8020/map-reduce is not a valid DFS filename.
> Knox interprets outputDir parameter value as a absolute path and rewrites it to /hdp:8020/map-reduce.
> mapred.output.dir parameter in workflow definition uses outputDir parameter in its value: /user/${wf:user()}/${examplesRoot}/output-data/${outputDir} and resulting parameter value is incorrect.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)