Hadoop が起動する Live-USBを作成する -- Master Node 疑似分散 編
USBで、ブートするだけで、Hadoopの分散環境がテストできる
Live-USBを作成してみます。
今回は、マスターノードとなるUSBの基礎の部分に、Hadoop(CDH3)を
インストールし疑似分散環境の設定で、Live-USBを動かします。
Serverで、USBを使う場合ですが、接続後に、
dmesg | tail
すればデバイス名(sdb1など)が、わかるのでマウントします。
作成に使用する環境など
Mac OSX 10.6 のMacBook上に、VMWare Fusionを入れて作業します。
http://d.hatena.ne.jp/Guutara/20100826/p1
で、作成したVM環境で作業します。
JDKのインストール
インストールをする前に、固定IPの設定を解除しておきます。
DHCPサーバも止めておきます。インターネットに出れないと思いますので。。
/etc/network/interfacesの変更をします。
/etc/init.d/dhcpserver を止めます。
/etc/init.d/networking 止めて、スタートします。
準備ができたら、JDKのインストールに移ります。
/etc/apt/sources.listを変更します。
以下のように、コメントを外します。
## Uncomment the following two lines to add software from Canonical's ## 'partner' repository. ## This software is not part of Ubuntu, but is offered by Canonical and the ## respective vendors as a service to Ubuntu users. deb http://archive.canonical.com/ubuntu lucid partner deb-src http://archive.canonical.com/ubuntu lucid partner
インストールします。
sudo apt-get update
sudo apt-get install sun-java6-jdk
Hadoop (CDH3)のインストール
以下のリンクを参考に、インストールします。
/etc/apt/sources.list に以下を追加します。
deb http://archive.cloudera.com/debian lucid-cdh3 contrib deb-src http://archive.cloudera.com/debian lucid-cdh3 contrib
インストールします。
sudo apt-get install -y curl curl -s http://archive.cloudera.com/debian/archive.key | sudo apt-key add - sudo apt-get update sudo apt-cache search hadoop sudo apt-get install hadoop
疑似分散環境を設定する
1台で、試せる疑似分散環境の設定をインストールします。
sudo apt-get install hadoop-0.20-conf-pseudo
動作確認
/etc/network/interface の設定を固定IPに戻します。
その後、remastersysで、バックアップを作成します。
sudo su - remastersys clean remastersys backup
/home/remastersys/remastersys/custombackup.iso が、できます。
これを、使用して、Ubuntu Dicktopにて、Live-USBを作成します。
「スタートアップ・ディスクの作成」を使用する際には、
かならず、「シャットダウン時に、全ての変更を破棄する」にチェックしてください。
書き込みを可能(Persistenceを使用:casper-rwが、有効になっている)にすると、
HDFSに書き込む事ができませんでした。
UnionFSを、うまく扱えないのでしょうか。。。
USBで、ブートした後、
sudo -u hadoop hadoop-0.20 namenode -format /etc/init.d/hadoop-0.20-namenode start /etc/init.d/hadoop-0.20-jobtracker start /etc/init.d/hadoop-0.20-datanode start /etc/init.d/hadoop-0.20-tasktracker start
ERRORがでますが、
jps
にて、サービスが上がっていれば大丈夫です。
あとは、適当に、動かして確認します。
hadoop-0.20 fs -mkdir input hadoop-0.20 fs -ls hadoop-0.20 fs -put /var/log/messages input hadoop-0.20 fs -ls input hadoop-0.20 fs -cat input/messages
hadoop-0.20 jar /usr/lib/hadoop-0.20/hadoop-0.202+30-examples.jar pi 2 2000 hadoop-0.20 jar /usr/lib/hadoop-0.20/hadoop-0.202+30-examples.jar wordcount input output hadoop-0.20 fs -ls output hadoop-0.20 fs -cat output/part-r-00000