f99aq8ove's blog

FreeBSD 7.2でHadoopのサンプルを動かしてみた

tag: hadoop
20 September 2009

このエントリは 2009-09-20 に書かれました。 内容が古くなっていたり、もはや正しくないこともありますので、十分検証を行ってください。

とりあえず、hadoop用のアカウントを作ってみた。

## __GooglePrettify__
% sudo adduser hadoop

このユーザー用に、パスワード無しのSSH鍵を作って、ログインできるようにしておく。

予めtarballを手動で/usr/ports/distfilesに入れておいて、

## __GooglePrettify__
% cd /usr/ports/java/diablo-jdk16
% sudo make config          # TZUPDATEは無効にしておく(手抜き)

で、JDKのインストール

## __GooglePrettify__
% sudo portinstall java/diablo-jdk16
% sudo portinstall shells/bash

JDKが入ったら、次はhadoopのインストール。http://hadoop.apache.org/common/releases.html#Downloadらへんからダウンロード。

## __GooglePrettify__
% tar zxvf hadoop-0.20.1.tar.gz
% cd hadoop-0.20.1/conf

hadoop-env.shのJAVA_HOMEを設定しておく。

## __GooglePrettify__
export JAVA_HOME=/usr/local/diablo-jdk1.6.0

docs/quickstart.htmlを見ながら

conf/core-site.xml

<!-- __GooglePrettify__ -->
<configuration>
  <property>
    <name>fs.default.name</name>
    <value>hdfs://localhost:9000</value>
  </property>
</configuration>

conf/hdfs-site.xml

<!-- __GooglePrettify__ -->
<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
</configuration>

conf/mapred-site.xml

<!-- __GooglePrettify__ -->
<configuration>
  <property>
    <name>mapred.job.tracker</name>
    <value>localhost:9001</value>
  </property>
</configuration>

起動してみる。

## __GooglePrettify__
% cd ../bin
% ./hadoop namenode -format        # HDFSの初期化
% ./start-all.sh

エラーが出なければ成功。jpsで動作してるか確認できる。

## __GooglePrettify__
% mkdir ~/inputs
% cp CHANGES.txt ~/inputs            # 適当なファイルを入れて
% hadoop dfs -put ~/inputs inputs    # HDFSにコピー
% hadoop dfs -ls inputs              # コピーできたか確認

いよいよ、map, reduceを実行してみる。

## __GooglePrettify__
% hadoop jar hadoop-0.20.1-examples.jar wordcount inputs outputs

ほっとくと、なにやら出力が出て終了。

## __GooglePrettify__
% hadoop dfs -ls outputs
Found 2 items
drwxr-xr-x   - hadoop supergroup          0 2009-09-19 22:58 /user/hadoop/outputs/_logs
-rw-r--r--   1 hadoop supergroup     126351 2009-09-19 22:59 /user/hadoop/outputs/part-r-00000
% hadoop dfs -cat outputs/part-r-00000      # に、単語をカウントした結果が出力される

Related Posts