1

Hadoop の Cloudera の CDH ディストリビューションを使用しており、最近 CDH3 から CDH4 にアップグレードしました。

CDH3 では、 hadoop-policy.xmlに次のユーザー名を追加できました。

security.client.protocol.acl

security.job.submission.protocol.acl

そして実行します:

hadoop dfsadmin -refreshServiceAcl

hadoop mradmin -refreshServiceAcl

そして出来上がり、ユーザーは HDFS にアクセスして MR ジョブを実行できます。

CDH4 にアップグレードしてから最初のユーザーを追加しましたが、何かが変わったようです。

上記と同様に、 hadoop-policy.xmlにユーザーを追加します。HDFS アクセスの場合、次を実行します。

hdfs dfsadmin -refreshServiceAcl

ただし、「security.job.submission.protocol.acl」へのアクセスをユーザーに許可するのに何が適切かわかりません。私が実行すると:

hadoop mradmin -refreshServiceAcl

私は得る:

非推奨: このスクリプトを使用して mapred コマンドを実行することは非推奨です。代わりに mapred コマンドを使用してください。refreshServiceAcl: java.io.IOException: 不明なプロトコル: org.apache.hadoop.security.authorize.RefreshAuthorizationPolicyProtocol

もちろん、ユーザーは次のようになります。

org.apache.hadoop.security.authorize.AuthorizationException: ユーザーのユーザー名 (auth:SIMPLE) は、プロトコル インターフェイス org.apache.hadoop.mapred.JobSubmissionProtocol に対して許可されていません。予期されるクライアントの Kerberos プリンシパルは null です

YARN/MRv2 をインストールしておらず、「/usr/lib/hadoop-0.20-mapreduce/bin/mapred」は「/usr/lib/hadoop-0.20-mapreduce/bin/hadoop」への単なるソフト リンクです。

JobSubmissionProtocol を更新して新しいユーザーを受け入れる方法はありますか?

4

2 に答える 2

2

hadoop-policy.xmlディレクトリ内のファイルには、hadoop_home/confすべてのセキュリティ関連の設定が含まれています。プロパティ設定でユーザー名を追加する必要があると思います。下記参照:

<property>
<name>security.job.submission.protocol.acl</name>
<value>*</value>
<description>
ACL for jobsubmissionProtocol, used by job clients to communicate with the job tracker 
for job submission, kill etc. The ACL is a comma separated list of user and group name. 
The user and grouplist is separated by a blank. For e.g., "majeed, john, developers,testers". 
A special value of "*" means all users are allowed. </description>
</property>
于 2013-12-14T06:57:52.873 に答える
1

おもう ...

MapReducePolicyProvider.java
import org.apache.hadoop.security.authorize.RefreshAuthorizationPolicyProtocol を使用します。

MRAdmin.java
import org.apache.hadoop.mr1security.authorize.RefreshAuthorizationPolicyProtocol を使用します。

このミスマッチがエラーの原因です。

しかし、ファイルごとに異なるクラスを使用する理由がわかりません。

于 2014-02-25T13:19:19.670 に答える