Hadoopセットアップ >

目次

他のバージョン

  1. Hadoop1.0

ディレクトリ一覧

  1. 複数のディスクを搭載している場合には、それぞれ /grid/vol/{0..n} にマウントすることとします。
  2. 完全分散環境ではLDAPにて設定しますが、hdfs、yarn、mapred 各ユーザは hadoop グループに属します。
  3. デフォルトでは ${hadoop.tmp.dir}(デフォルト値: /tmp/hadoop-${user.name}) をルートにその他の多くのディレクトリが構成されますが、セキュアHadoopでは適切にディレクトリのパーミションを設定する必要があるため、それらの設定をすべて上書きする必要があります。また ${hadoop.tmp.dir} は文字通り一時作業領域(jar展開のためなど)として引き続き使用されますので、すべてのユーザが作成可能である必要があります。
  4. 灰色文字で示したディレクトリは、MapReduce? Ver.1で構築する場合に設定が必要なものです。YARNで構築する場合には不要です。
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チェックポイントデータ${dfs.namenode.checkpoint.dir}
冗長化のため複数ディスク上のディレクトリを推奨
/grid/vol/0/var/lib/hdfs/namedirhdfs:hdfs0755NameNodeデータ${dfs.namenode.name.dir}
冗長化のため複数ディスク上のディレクトリを推奨
/grid/vol/{0..n}/var/lib/hdfs/datadirhdfs:hdfs0700DataNodeデータ${dfs.datanode.data.dir}
IO分散のため複数ディスク上のディレクトリを推奨
/grid/vol/{0..n}/var/lib/yarn/nm/localdiryarn:yarn0755NodeManager?用ローカル領域${yarn.nodemanager.local-dirs}
IO分散のため複数ディスク上のディレクトリを推奨
/grid/vol/{0..n}/var/log/yarn/nmdiryarn:yarn0755NodeManager?用ログ領域${yarn.nodemanager.log-dirs}
IO分散のため複数ディスク上のディレクトリを推奨
/grid/vol/0/var/lib/mapred/jobstatusdirmapred:mapred0755ジョブ状態一時的永続化領域${mapreduce.jobtracker.persist.jobstatus.dir}
/grid/vol/{0..n}/var/lib/mapred/localdirmapred:mapred0755ジョブ実行用ローカル領域${mapreduce.cluster.local.dir}
旧${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/yarndiryarn:hadoop0755YARNログ出力用yarn-env.sh、log4j.propertiesで設定
/grid/vol/0/var/log/mapreddirmapred:hadoop0755MapReduce?ログ出力用同上
/grid/vol/0/var/rundirroot:hadoop0775PIDファイル格納用hadoop-env.sh、yarn-env.shで設定
/grid/vol/{0..n}/tmp/mapred/tempdirroot:root1777一時作業領域${mapreduce.cluster.temp.dir}
旧${mapred.temp.dir}
IO分散のため複数ディスク上のディレクトリを推奨
/tmpdirroot:root1777システム標準の一時作業領域
/tmp/hadoop-${user.name}dir各ユーザ0755一時作業用のルートディレクトリ${hadoop.tmp.dir}
HDFS上
/dirhdfs:hdfs755デフォルト
/grid/vol/0/var/lib/mapreddirmapred:mapred0700
/grid/vol/0/var/lib/mapred/systemdirmapred:mapred0700${mapreduce.jobtracker.system.dir}
/grid/vol/0/var/lib/mapred/jobstatusdirmapred:mapred0755ジョブ状態永続化領域${mapreduce.jobtracker.persist.jobstatus.dir}
/grid/vol/0/var/lib/mapred/history/done_intermediatedirmapred:mapred1777ジョブ履歴中間ファイル出力先${mapreduce.jobhistory.intermediate-done-dir}
ユーザ権限で書き込み
/grid/vol/0/var/lib/mapred/history/donedirmapred:mapred0770${mapreduce.jobhistory.done-dir}
/grid/vol/0/var/log/yarn/nmdiryarn:yarn1777${yarn.nodemanager.remote-app-log-dir}
ユーザ権限で書き込み
/userdirhdfs:hdfs755ホームディレクトリルート${yarn.app.mapreduce.am.staging-dir}
${mapreduce.jobtracker.staging.root.dir}
ジョブ実行時にステージング領域のルートとしても利用
/tmpdirhdfs:hdfs1777効果的にクォータ設定できないため作成しません。

構成についての留意点

  1. Apache配布のアーカイブを利用する場合、標準では /usr/local 以下に展開すべきですが、LinuxContainerExecutor?がその設定ファイル container-executor.cfg が格納されているディレクトリのパーミッションをrootの書込権限のみであるかどうかチェックするため、note.pngDebian環境(/usr/local のモードが2775です)では問題となります。それを回避するため、上記ではアーカイブを /grid/usr 以下に展開しています。

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

CDH

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

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-08-16 (金) 20:00:12 (2713d)