Hadoop >
Hadoop Map/Reduce フレームワーク †
概要 †
- Hadoop 0.16.x より HDFS にパーミッションが導入されましたので、一般UNIXユーザにMap/Reduceジョブ実行を許可するには、適切なディレクトリ設定が必要となります(UNIXのユーザ追加と同様な手続きです)。0.15.x 以前はその限りではありません。
- 現時点の HDFS では、プロセスのオーナーが HDFS のユーザ識別子として引き継がれます。
Map/Reduce環境のセットアップ †
- hadoop デーモンの起動ユーザ(例では、UNIXユーザ hadoop)が HDFS のスーパーユーザとなりますので、ユーザ hadoop は、(HDFS に任意に読み書きできるので)特別な設定なしにMap/Reduceジョブを実行できます。
- スーパーユーザ以外のMap/Reduceジョブ実行を可能にするためには、以下のような設定が必要となります。
- Map/Reduceシステムディレクトリ(mapred.system.dir の設定値、この例では、/hadoop/mapred/system)の追加。参考までに、Cloudera 配布版では、以下の設定がインストール時に自動で行われますので、不要になります。以下、プロンプトが # のコマンドラインは、HDFS のスーパーユーザで実行することを意味します。
# ${HADOOP_HOME}/bin/hadoop dfs -mkdir /hadoop/mapred/system
# ${HADOOP_HOME}/bin/hadoop dfs -chmod 733 /hadoop/mapred/system
# ${HADOOP_HOME}/bin/hadoop dfs -ls /hadoop/mapred
Found 1 items
/hadoop/mapred/system <dir> 2008-04-30 22:04 rwx-wx-wx hadoop supergroup
- ユーザホームディレクトリ(デフォルトでは、/user 配下)の追加
# ${HADOOP_HOME}/bin/hadoop dfs -mkdir /user/<user name>
# ${HADOOP_HOME}/bin/hadoop dfs -chown <user name> /user/<user name>
- 他にジョブ実行に必要な input/output ディレクトリがあれば、追加し、読み書きを許可します。
|