環境の違う複数台でのhadoopの構築方法のメモ

4台構成のhadoopに成功してうれしいので書く

研究室のサーバーを(勝手に)利用した.
4台の構成は以下の通り
Mac Pro(intel Xeon * 2 , memory 12G)
ワークステーション1(Xeon * 2 , memory 8G)
ワークステーション2(Xeon * 2 , memory 32G )
自作PCCore i7 , memory 24G)

hadoopのサイトからデータをダウンロード
http://hadoop.apache.org/common/releases.html

最新版の0.20.1をダウンロード!
さてはて,ここから戦いが....

とりあえず,hadoopユーザーを作成
お互いからパスワードなしでもsshアクセスできるようにする.
rsyncとか使うと楽らしい?,俺はsftpでやった


んでもってconfの中のファイルを設定をするだけ.
hadoopディレクトリは/usr/local/hadoop/に設置

conf/core-site.xmlの書き換え

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

  <property>
    <name>fs.default.name</name>
    <value>hdfs://ホスト名:8050</value>
  </property>

  <property>
    <name>hadoop.tmp.dir</name>
    <value>/usr/local/hadoop/data/tmp</value>
  </property>

  <property>
    <name>mapred.job.tracker</name>
    <value>ホスト名:8051</value>
  </property>

  <property>
    <name>dfs.replication</name>
    <value>2</value>
  </property>

  <property>
    <name>mapred.tasktracker.map.tasks.maximum</name>
    <value>2</value>
  </property>

  <property>
    <name>mapred.tasktracker.map.tasks.maximum</name>
    <value>2</value>
  </property>

</configuration>

ファイルを置く場所はいろいろ考えるのが面倒くさかったので
/usr/local/hadoop/data/tmp
にしました.
なので,/usr/local/hadoop/dataを作成しましょう.
tmpは勝手に作られるので問題ないです(もしかしたらdataも勝手に作られる?)

masters,slavesの変更

自分の構成では,以下の様に記述した.
mastersは1ホストのみ記述
slavesは4ホストすべて記述

コピー

rsyncとかftpをつかって他のホストにhadoopディレクトリごと転送しましょう

hadoop-env.shの設定

各ホストで書き換える
export JAVA_HOME=〜〜を変更する

Mac(Snow Leopard Server)の場合
export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home

Ubuntu(9.10)の場合
(apt-getでsun-java6-jdkとsun-java6-jreをインストールしておくこと)
export JAVA_HOME=/usr/lib/jvm/java-6-sun

Cent OS(5.3?)の場合
export JAVA_HOME=/usr/java/default

はまったところ

ポート50010番と指定した8050,8051をあけましょう

あとの動かし方

ここを参考にしましょう.
http://codezine.jp/article/detail/2699

とりあえず,rsyncはうまく使えなかったです.


PS:途中で書くのがいやになった