Hadoopセットアップ >

目次

他のバージョン

  1. Hadoop2.0

ディレクトリ一覧

  1. 複数のディスクを搭載している場合には、それぞれ /grid/vol/{0..n} にマウントすることとします。
  2. 完全分散環境ではLDAPにて設定しますが、hdfs、mapred 両ユーザは hadoop グループに属します。
  3. デフォルトでは ${hadoop.tmp.dir}(デフォルト値: /tmp/hadoop-${user.name}) をルートにその他の多くのディレクトリが構成されますが、セキュアHadoopでは適切にディレクトリのパーミションを設定する必要があるため、それらの設定をすべて上書きする必要があります。また ${hadoop.tmp.dir} は文字通り一時作業領域(jar展開のためなど)として引き続き使用されますので、すべてのユーザが作成可能である必要があります。
No.ディレクトリ種別オーナモード説明備考
ローカルファイルシステム上
/griddirroot:root0755
/grid/etcdirroot:root0755
/grid/etc/keytabsdirroot:root0755
/grid/etc/keytabs/${this.cluster.name}dirroot:root0755keytabファイル格納用
/grid/usrdirroot:root0755アプリケーショントップ
/grid/usr/hadoop
-> /grid/usr/hadoop-${VERSION}
symlinkroot:root-
/grid/usr/hadoop-${VERSION}dirroot:root0755Hadoop実体
/grid/voldirroot:root0755
/grid/vol/{0..n}dirroot:root0755各HDDマウントポイント
/grid/vol/{0..n}/swap.filefileroot:root0644ファイルベースのswap領域
/grid/vol/{0..n}/vardirroot:hadoop0775Hadoop可変データ格納ルート
/grid/vol/0/var/lib/hdfs/checkpointdirhdfs:hdfs0755チェックポイントデータ${fs.checkpoint.dir}
冗長化のため複数ディスク上のディレクトリを推奨
/grid/vol/0/var/lib/hdfs/namedirhdfs:hdfs0755NameNodeデータ${dfs.name.dir}
冗長化のため複数ディスク上のディレクトリを推奨
/grid/vol/{0..n}/var/lib/hdfs/datadirhdfs:hdfs0700DataNodeデータ${dfs.data.dir}
IO分散のため複数ディスク上のディレクトリを推奨
/grid/vol/0/var/lib/mapred/historydirmapred:mapred0755ジョブ履歴中間ファイル出力先${hadoop.job.history.location}
/grid/vol/{0..n}/var/lib/mapred/localdirmapred:mapred0755ジョブ実行用ローカル領域${mapred.local.dir}
IO分散のため複数ディスク上のディレクトリを推奨
/grid/vol/0/var/logdirroot:hadoop0775ログ出力用hadoop-env.sh、log4j.propertiesで設定
/grid/vol/0/var/log/hdfsdirhdfs:hadoop0755HDFSログ出力用同上
/grid/vol/0/var/log/mapreddirmapred:hadoop0755MapReduce?ログ出力用同上
/grid/vol/0/var/rundirroot:hadoop0775PIDファイル格納用hadoop-env.shで設定
/grid/vol/{0..n}/tmpdirroot:root1777一時作業領域${mapred.temp.dir}
IO分散のため複数ディスク上のディレクトリを推奨
/tmpdirroot:root1777システム標準の一時作業領域
/tmp/hadoop-${user.name}dir各ユーザ0755一時作業用のルートディレクトリ${hadoop.tmp.dir}
HDFS上
/dirhdfs:hdfs0755デフォルト
/grid/vol/0/var/lib/mapreddirmapred:mapred0700
/grid/vol/0/var/lib/mapred/systemdirmapred:mapred0700${mapred.system.dir}
/grid/vol/0/var/lib/mapred/jobstatusdirmapred:mapred0755ジョブ状態一時的永続化領域${mapred.job.tracker.persist.jobstatus.dir}
/grid/vol/0/var/lib/mapred/history/donedirmapred:mapred0700${mapred.job.tracker.history.completed.location}
/userdirhdfs:hdfs0755ホームディレクトリルート${mapreduce.jobtracker.staging.root.dir}
ジョブ実行時にステージング領域のルートとしても利用
/tmpdirhdfs:hdfs1777効果的にクォータ設定できないため作成しません。

構成についての留意点

  1. RPMまたはDebianパッケージを利用する場合には、標準の /etc/hadoop や /var/run/hadoop を使用しても良いかもしれません。ただし、ログ出力先についてはかなりのサイズになりますので、マウントしている最初のHDD(/grid/vol/0/var/log)にすべきでしょう。
  2. Apache配布のアーカイブを利用する場合、標準では /usr/local 以下に展開すべきですが、LinuxTaskController?がその設定ファイル taskcontroller.cfg が格納されているディレクトリのパーミッションをrootの書込権限のみであるかどうかチェックするため、note.pngDebian環境(/usr/local のモードが2775です)では問題となります。それを回避するため、上記ではアーカイブを /grid/usr 以下に展開しています。

他のHadoopディストリビューションで使用する場合の留意点

CDH

  1. PIDファイルの格納先は、デフォルトの /var/run/hadoop-0.20 のままで良いでしょう。
  2. ログファイルの格納先は、出力量を考慮するとデフォルト(${HADOOP_HOME}/logs = /usr/lib/hadoop-0.20/logs)ではなく、上記のディレクトリ構成(/grid/vol/0/var/log)のように大容量ディスクに変更するのがよいでしょう。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-03-14 (木) 19:47:03 (2788d)