首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oozie shell操作未作为提交用户运行

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

Stack Overflow用户
提问于 2015-08-01 02:38:32
回答 1查看 2.1K关注 0票数 8

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

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

下面是我的Oozie行动的大致轮廓

代码语言:javascript
复制
<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。

EN

回答 1

Stack Overflow用户

发布于 2015-09-29 09:07:52

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

代码语言:javascript
复制
export HADOOP_USER_NAME=<Name of submitted user>;
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31752959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档