gpt4 book ai didi

shell - Oozie shell 操作未作为提交用户运行

转载 作者:可可西里 更新时间:2023-11-01 14:15:19 26 4
gpt4 key购买 nike

我编写了一个 Oozie 工作流,它运行 BASH shell 脚本来执行一些配置单元查询并对结果执行一些操作。该脚本运行但在访问某些 HDFS 数据时抛出权限错误。提交 Oozie 工作流的用户有权限,但脚本以 yarn 用户身份运行。

是否可以让 Oozie 以提交工作流的用户身份执行脚本? Hive 和 Java 操作都作为提交的用户执行,只是 shell 的行为不同。

这是我的 Oozie 操作的粗略轮廓

<action name="start_action"
retry-max="12"
retry-interval="600">
<shell xmlns="uri:oozie:shell-action:0.1">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<job-xml>${WorkflowRoot}/hive-site.xml</job-xml>
<exec>script.sh</exec>
<file>${WorkflowRoot}/script.sh</file>
<capture-output />
</shell>
<ok to="next_action"/>
<error to="send_email"/>
</action>

我正在运行 Oozie 4.1.0 和 HDP 2.1。

最佳答案

此问题将发生在使用简单安全配置的所有集群中。您可以选择覆盖默认配置。在 shell 脚本的开头包含以下语句将解决此问题。

export HADOOP_USER_NAME=<Name of submitted user>;

关于shell - Oozie shell 操作未作为提交用户运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31752959/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com