2

Pythonマッパーとリデューサーを使用してストリーミングの例をセットアップできました。mapred フォルダーの場所は /mapred/local/taskTracker です。root ユーザーと mapred ユーザーの両方が、このフォルダーとサブフォルダーの所有権を持っています。

ただし、ストリーミングを実行すると、マップは作成されますが、縮小されず、次のエラーが表示されます プログラムを実行できません

mapred/local/taskTracker とそのすべてのサブディレクトリに +rwx アクセス許可を提供しているにもかかわらず、mapreduce がこのジョブの一時フォルダーを作成するときに、フォルダーにすべてのユーザーの rwx がないことに気付きました...したがって、私は取得します許可拒否エラー

これに関するフォーラムのスレッドを探していましたが、同じエラーに言及しているスレッドがあります...解決策に関する回答が見つかりませんでした。

どんな助けでも大歓迎です

4

1 に答える 1

0

Hadoop デーモンを user として実行すると仮定しますroot。この場合、新しく作成されたファイルのパーミッションはumask、ユーザーによって決定されますroot。ただし、umaskfor を変更しないでくださいroot

hadoopMapReduce ジョブとクラスターを別のユーザーとして実行する場合は、Hadoop デーモンを user として、MapReduce ジョブを userとして開始することをお勧めしますmapreduce。ただし、両方のユーザーが同じグループに属している必要がありますhadoop。さらに、umaskfor userhadoopはそれに応じて設定されます。

于 2013-03-07T21:23:57.853 に答える