无法杀死或暂停oozie协调员工作

时间:2014-07-25 10:11:07

标签: oozie oozie-coordinator

当我尝试kill或suspend时,我在用户“runner”下提交了oozie coordinator作业我收到以下错误消息:

    [runner@hadooptools ~]$ oozie job -oozie http://localhost:11000/oozie -kill 0000005-140722025226945-oozie-oozi-C
Error: E0509 : E0509: User [?] not authorized for Coord job [0000005-140722025226945-oozie-oozi-C]

从oozie服务器上的日志中我看到以下消息:

2014-07-25 03:10:07,324  INFO oozieaudit:539 - USER [runner], GROUP [null], APP [cron-coord], JOBID [0000005-140722025226945-oozie-oozi-C], OPERATION [start], PARAMETER [null], STATUS [SUCCESS], HTTPCODE [200], ERRORCODE [null], ERRORMESSAG
E [null]

即使是我发出命令的用户也不能正确记录。

我使用的是CentOS 6.3和Oozie Oozie客户端构建版本:4.0.0.2.0.6.0-101,Oozie服务器构建版本:4.0.0.2.0.6.0-101

我甚至无法在运行服务器的用户oozie下停止它。在提交作业的用户下,我无法暂停,杀死等等。我只能执行传递流程或信息的提交运行。

任何提示/技巧还是我错过了配置明显的东西?

更新: 我正在使用的实例的安全设置。

    <property>
    <name>oozie.authentication.type</name>
    <value>simple</value>
  </property>
    <property>
        <name>oozie.authentication.simple.anonymous.allowed</name>
        <value>true</value>
    </property>

我的conf / adminusers.txt包含:

# Admin Users, one user by line
runner

Hadoop core-site.xml

    <property>
    <name>hadoop.security.authentication</name>
    <value>simple</value>
  </property>
    <property>
    <name>hadoop.proxyuser.oozie.groups</name>
    <value>users</value>
  </property>

其中runner是用户组的成员。根据Oozie的文件: Oozie有一个基本的授权模型:

  • 用户具有对所有作业的读取权限
  • 用户拥有自己职位的写入权限
  • 用户具有基于访问控制列表(列表)的作业写入权限 用户和团体)
  • 用户具有管理员操作管理员
  • 的读取权限
  • 用户具有对所有作业的写访问权限管理员用户具有写入权限 管理运营

我是否忽略了配置中的某些内容? 我是否需要指定/配置如下内容:

Pseudo/simple authentication requires the user to specify the user name on the request, this is done by the PseudoAuthenticator class by injecting the user.name parameter in the query string of all requests. The user.name parameter value is taken from the client process Java System property user.name .

2 个答案:

答案 0 :(得分:0)

通过禁用安全模型临时解决。 设置禁用的安全模型后,所有工作都按预期工作。

<property>
    <name>oozie.service.AuthorizationService.security.enabled</name>
    <value>false</value>
    <description>
        Specifies whether security (user name/admin role) is enabled or not.
        If disabled any user can manage Oozie system and manage any job.
    </description>
</property>

将更深入地了解如何正确解决此问题,但作为临时解决方案或开发,这可以正常工作。

答案 1 :(得分:0)

老问题,但是,我遇到了同样的问题。似乎与https://issues.apache.org/jira/browse/OOZIE-800

有关

在发出oozie命令之前只需Sub Button3_Click() Dim conn As New ADODB.Connection With Sheets("Sheet1") conn.Open "Provider=SQLNCLI11;Server=myServer;Database=myDatabase;Trusted_Connection=yes;" iRowNo = 6 Do Until .Cells(iRowNo, 1) = "" dtDateTime = .Cells(iRowNo, 1) sTag = .Cells(iRowNo, 10) If sTag <> "" Then conn.Execute "insert into RawData(oDateTime,oTag) values ('" & dtDateTime & "', '" & sTag & "')" End If iRowNo = iRowNo + 1 Application.StatusBar = "Processing..." Loop MsgBox "Upload success!", vbInformation, "AOA" Sheet1.Range("A6", "L100000").ClearContents Sheet1.Cells(6, 1).Select conn.Close Set conn = Nothing End With End Sub 就可以解决它。