2016-06-30 2 views
0

クラスタでKerberosを有効にしても問題ありません。しかし、マップされたユーザーは、JobHistoryサーバー上のログを読み取って表示することはできません。私は、ジョブ履歴サーバのログをチェックし、それは、アクセスエラーを与える:私たちは、ディレクトリはHadoopのグループへのアクセス権を持って見ることができるとmapredは、Hadoopのグループであるようケルベロスを有効にした後、historyserverでログを読み取れません

org.apache.hadoop.security.AccessControlException: Permission denied:user=mapred, access=READ_EXECUTE, inode="/user/history/done_intermediate/prakul":prakul:hadoop:drwxrwx--- 

、でもログを読み取ることができません。/tmp/logs/folderに与える同様のエラー。これは、リソースマネージャのUIにログが表示されないためです。

私はHadoopのグループは、すべてのマシン上でmapredユーザーが含まれていることを、すべてのマシンをオーバー検証:

[cloudera]# id mapred uid=491(mapred) gid=489(mapred) groups=489(mapred),496(hadoop) 

私もmapredユーザーがkinitをし、これらのディレクトリに手動でアクセスしようとするが、場合でも、フォルダにアクセスすることはできませんmapred 770の権限を持つ:

[[email protected] cloudera]# hdfs dfs -ls /tmp/logs/prakul 
ls: Permission denied: user=mapred, access=READ_EXECUTE, inode="/tmp/logs/prakul":prakul:hadoop:drwxrwx--- 

[[email protected] cloudera]# hdfs dfs -ls /tmp/logs/ 
Found 8 items 
drwxrwx--- - xyz hadoop 0 2016-06-14 19:19 /tmp/logs/xyz 
drwxrwx--- - abc hadoop 0 2016-06-13 06:06 /tmp/logs/abc 
drwxrwx--- - prakul hadoop 0 2016-06-10 04:47 /tmp/logs/prakul 

[[email protected] cloudera]# klist 
Ticket cache: FILE:/tmp/krb5cc_0 
Default principal: mapred/[email protected] 
Valid starting Expires Service principal 
06/27/16 01:07:32 06/27/16 11:07:32 krbtgt/[email protected] 
renew until 07/04/16 01:07:32 

私が777の許可をディレクトリに与えると、mapredはCLIと同様にログオフUIを読み込んで表示できます。

クロウデラのバグか、グループレベルで完全な権限を持っていてもログにアクセスできないマップド・コンフィグレーション上の問題があることは、誰でも知ることができますか?

Kerberosを有効にしたCloudera 5.7を使用しています。事前

+0

mapdredがhadoopグループになっていることを確認する*:mapredのためのKerberosチケットを取得してから、 'hdfs groups'コマンドを実行してください。そこに「hadoop」が表示されない場合は、* Group Mapping rules *の設定を調べてください。 –

+0

ありがとうSamson、 私はそれを確認し、mapredがどのグループにも属していないことを発見しました。だから私は私のADサーバーにhadoopグループを追加し、そのグループのhdfs、糸とmapredメンバーを作る。その後、私はログを見ることができます。 もう一度おねがいします –

答えて

0

おかげで私は私のADサーバでのHadoopグループを追加し、HDFSを作り、糸およびそのグループのメンバーをmapred。その後、私はログを見ることができます。

関連する問題