Hadoop >

概要

TODO:

セットアップ

  1. Hadoopと同様に、Hamaにも異なる3つの動作モードがあります。

ローカルモード

  1. 適当な場所にアーカイブを展開し、設定ファイル(${HAMA_HOME}/conf/hama-env.sh)で、環境変数 JAVA_HOME を適切に設定します。
    1. #export JAVA_HOME=/usr/lib/jvm/java-6-sun
    2. #export JAVA_HOME=/usr/lib/jvm/java-6-openjdk
    3. #export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-i386
    4. export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64
    5. # Where log files are stored.  $HAMA_HOME/logs by default.
    6. # export HAMA_LOG_DIR=/grid/vol/0/var/log/$USER
  2. サンプルプログラムを実行してみます。
    $ cd ${HAMA_HOME}
    $ sudo -u alice ./bin/hama jar hama-examples-0.4.0-incubating.jar bench 100 5 10
    ...
    $ sudo -u alice ./bin/hama jar hama-examples-0.4.0-incubating.jar pi
    ...

疑似分散モード(シングルノード)

  • 一つのノードで、以下の3つのデーモンプロセスを起動させます。
    1. BSPMaster
    2. Zookeeper
    3. GroomServer?
  1. HDFSを使用できるように各デーモンを起動しておきます。
  2. 適当な場所に配布アーカイブを展開します。 $ ls -la /grid/usr
    ...
    lrwxrwxrwx  1 root root   21 2012-06-12 22:00 hama -> hama-0.4.0-incubating
    drwxr-xr-x 10 root root 4096 2012-06-12 22:00 hama-0.4.0-incubating
  3. 起動ユーザを追加します。
    $ sudo adduser --shell /bin/sh --uid 20001 --disabled-password hama
    $ sudo usermod -G hadoop hama
  4. 環境設定を ${HAMA_HOME}/conf/hama-env.sh で行います。
    1. #export JAVA_HOME=/usr/lib/jvm/java-6-sun
    2. #export JAVA_HOME=/usr/lib/jvm/java-6-openjdk
    3. #export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-i386
    4. export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64
    5. # The pid files are stored. /tmp by default.
    6. export HAMA_PID_DIR=/grid/vol/0/var/run/$USER
    7. # Where log files are stored.  $HAMA_HOME/logs by default.
    8. export HAMA_LOG_DIR=/grid/vol/0/var/log/$USER
    9. # Tell Hama whether it should manage it's own instance of Zookeeper or not.
    10. export HAMA_MANAGES_ZK=true
  5. 動作に必要なディレクトリを作成します。同じディレクトリ配下にすでにHadoopがセットアップ済みの場合には不要な作業です。
    $ sudo mkdir /grid/vol/0/var
    $ sudo mkdir /grid/vol/0/var/lib
    $ sudo mkdir /grid/vol/0/var/log
    $ sudo mkdir /grid/vol/0/var/run
    $ sudo chown -R root:hadoop /grid/vol/0/var
  6. 主要な設定を ${HAMA_HOME}/conf/hama-site.xml で行います。
    1. <configuration>
    2.   <property>
    3.     <name>bsp.master.address</name>
    4.     <value>localhost:40000</value>
    5.     <description>The address of the bsp master server. Either the
    6.     literal string "local" or a host:port for distributed mode
    7.     </description>
    8.   </property>
    9.   <property>
    10.     <name>bsp.system.dir</name>
    11.     <value>/grid/vol/0/var/lib/${user.name}/bsp/system</value>
    12.     <description>The shared directory where BSP stores control files.
    13.     </description>
    14.   </property>
    15.   <property>
    16.     <name>fs.default.name</name>
    17.     <value>hdfs://localhost:9000/</value>
    18.     <description>
    19.       The name of the default file system. Either the literal string
    20.       "local" or a host:port for HDFS.
    21.     </description>
    22.   </property>
    23.   <property>
    24.     <name>hama.zookeeper.quorum</name>
    25.     <value>localhost</value>
    26.     <description>Comma separated list of servers in the ZooKeeper Quorum.
    27.     For example, "host1.mydomain.com,host2.mydomain.com,host3.mydomain.com".
    28.     By default this is set to localhost for local and pseudo-distributed modes
    29.     of operation. For a fully-distributed setup, this should be set to a full
    30.     list of ZooKeeper quorum servers. If HAMA_MANAGES_ZK is set in hama-env.sh
    31.     this is the list of servers which we will start/stop zookeeper on.
    32.     </description>
    33.   </property>
    34.   <property>
    35.     <name>hama.zookeeper.property.dataDir</name>
    36.     <value>/grid/vol/0/var/lib/${user.name}/zookeeper</value>
    37.     <description>Property from ZooKeeper's config zoo.cfg.
    38.     The directory where the snapshot is stored.
    39.     </description>
    40.   </property>
    41. </configuration>
  7. Groom(worker)サーバを ${HAMA_HOME}/conf/groomservers にリストします。疑似分散モードですので、localhost のみになります。
    $ cat ${HAMA_HOME}/conf/groomservers 
    localhost
  8. HDFS上に必要なディレクトリを作成します。
    $ sudo -u hdfs ${HADOOP_HOME}/bin/hadoop fs -mkdir /grid/vol/0/var/lib/hama
    $ sudo -u hdfs ${HADOOP_HOME}/bin/hadoop fs -chown hama:hama /grid/vol/0/var/lib/hama
  9. Hamaの3つのデーモンを起動させます。
    $ sudo -u hama ${HAMA_HOME}/bin/hama-daemon.sh zookeeper
    $ sudo -u hama ${HAMA_HOME}/bin/hama-daemon.sh bspmaster
    $ sudo -u hama ${HAMA_HOME}/bin/hama-daemon.sh groom 
  10. Web UIのアクセスURLは以下になります。
    http://localhost:40013/

完全分散モード

Coming Soon.

テスト

  1. 通常ユーザでサンプルプログラムを実行してみます。
    $ cd ${HAMA_HOME}
    $ sudo -u alice ./bin/hama jar hama-examples-0.4.0-incubating.jar bench 100 5 10

参考リソース


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