3

キルまたはサスペンドしようとすると、ユーザー「runner」の下で oozie コーディネーター ジョブを送信しました。次のエラー メッセージが表示されます。

    [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 は users グループのメンバーです。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 .
4

2 に答える 2