Ubuntu Server 9.10にHadoop、HDFSを入れる

Facebookが今まで使っていたMySQL、自社で開発したCassandraをやめ、Googleが開発使用している超巨大データベース「BigTable」のオープンソースクローン「HBase」を採用することになったようです。

ということでHBaseを試してみようと思います。

新しいデータベースの形であるKey-Value型のシステムを今のうちに知っておくのもいいでしょう。

ベースは我が家の超小型サーバーに入っているUbuntu Server 9.10です。

参考ページは
きりんさん日記: 1台構成のHadoopを30分で試してみる(Ubuntu + Cloudera)

JAVAを入れる

JAVAはOpenJDKではなくSunのJAVAを使うほうがよいようです。
まずはJAVAを取得します。

/etc/apt/sources.listを編集します

$ sudo vim /etc/apt/sources.list

/で検索をかけ、archive.canonical.comを探す。

コメントアウトされた

#deb http://archive.canonical.com/ubuntu karmic partner

deb http://archive.canonical.com/ubuntu karmic partner

に変更して保存。

$ sudo apt-get updateをします。

JAVAのインストール

$ sudo apt-get install sun-java6-jdk

途中で使用に関しての了承画面などが出ます。

使用するJAVA環境を切り替えます。

$ sudo update-alternatives –config java

There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                      優        Status
————————————————————
* 0            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      auto mode
  1            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      manual mode
  2            /usr/lib/jvm/java-6-sun/jre/bin/java       63        manual mode

Press enter to keep the current choice[*], or type selection number:

ここで「2」を入力してEnter.
Sun JAVAに切り替えます。

JAVAの存在確認

$ java –version

結果

java version "1.6.0_22"
Java(TM) SE Runtime Environment (build 1.6.0_22-b04)
Java HotSpot(TM) Client VM (build 17.1-b03, mixed mode, sharing)

Hadoopのインストール

Cloudera社版のHadoopをインストールします。

Cloudera社リポジトリの追加

$ sudo vim /etc/apt/sources.list.d/cloudera.list

としてファイルを開く。(存在しない場合は作成される)

deb http://archive.cloudera.com/debian karmic-cdh3 contrib
deb-src http://archive.cloudera.com/debian karmic-cdh3 contrib

と入力して保存。

リポジトリキーを追加

$ wget -q http://archive.cloudera.com/debian/archive.key

$ sudo apt-key add archive.key

aptを更新

$ sudo apt-get update

いよいよHadoop本体をインストール

$ sudo apt-get install hadoop

上のコマンドではバージョンを指定していないため、下記のようなメッセージが出ます。

注意、hadoop の代わりに hadoop-0.20 を選択します
以下の特別パッケージがインストールされます:
  hadoop-0.20 hadoop-0.20-native liblzo2-2

設定ファイルのインストール(一台構成用)

$ sudo apt-get -y install hadoop-0.20-conf-pseudo

hadoopのサービスを起動します

$ sudo /etc/init.d/hadoop-0.20-namenode start
$ sudo /etc/init.d/hadoop-0.20-jobtracker start
$ sudo /etc/init.d/hadoop-0.20-datanode start
$ sudo /etc/init.d/hadoop-0.20-tasktracker start

以上でHadoop、HDFSが起動できます。