Hadoop が起動する Live-USBを作成する -- Slave Node 編
USBで、ブートするだけで、Hadoopの分散環境がテストできる
Live-USBを作成してみます。
今回は、マスターノードを改造して、Slaveを作成します。
Serverで、USBを使う場合ですが、接続後に、
dmesg | tail
すればデバイス名(sdb1など)が、わかるのでマウントします。
作成に使用する環境など
Mac OSX 10.6 のMacBook上に、VMWare Fusionを入れて作業します。
Hadoop が起動する Live-USBを作成する -- Master Node 分散環境 編 - Guutaraの日記
で、作成したVM環境をコピーして、Slave用のVMを作り作業します。
eth0の再設定
copyすると、eth0が消えて、eth1になってしまいます。
以下のファイルを修正して、eth0の指定行を消し、eth1をedh0にしてリブートします。
sudo -
vi /etc/udev/rules.d/70-persistent-net.rules
-- 修正
reboot
Masterの設定から、不要なものを除外/変更。
Master専用の設定を外してしまいます。
- interfaceを、dhcpに変更します。
sudo - su vi /etc/network/interfaces/
# The primary network interface
auto eth0
iface eth0 inet dhcp
- dhcp3-serverを、removeします。
sudo apt-get remove dhcp3-server
update-rc.d -f dhcp3-server remove
- netdの設定を変更します。
sudo su - vi /etc/ntp.conf
# You do need to talk to an NTP server or two (or three). #server ntp.ubuntu.com server 192.168.0.1 # Clients from this (example!) subnet have unlimited access, but only if # cryptographically authenticated. restrict 192.168.0.0 mask 255.255.255.0
終わったら、リスタートさせます。
- /etc/init.d/ntp restart-hadoop-datanode用のJOB設定をします。host名の設定もここにいれます。
sudo su -
mv /etc/init/hadoop-namenode.conf /etc/init/hadoop-datanode.conf
vi /etc/init/hadoop-datanode.conf
description "hadoop namenode" start on filesystem stop on runlevel S pre-start script HOST=`ifconfig eth0 | grep 'inet addr' | /usr/bin/cut -f2 -d: | /usr/bin/cut -f1 -d ' '` COUNT=1 until [ -n "$HOST" ] do sleep 3 HOST=`ifconfig eth0 | grep 'inet addr' | /usr/bin/cut -f2 -d: | /usr/bin/cut -f1 -d ' '` COUNT=`expr $COUNT + 1` if [ $COUNT -ge 5 ]; then break fi done if [ -n "$HOST" ]; then echo "$HOST" > /etc/hostname hostname "$HOST" fi end script post-start script /etc/init.d/hadoop-0.20-datanode start /etc/init.d/hadoop-0.20-tasktracker start end script post-stop script /etc/init.d/hadoop-0.20-datanode stop /etc/init.d/hadoop-0.20-tasktracker stop end script
Hadoopの設定
変更は、ありません。
Remastersysの設定と改造
isolinuxのメニューを変更します。
cd /etc/remastersys/ cd isolinux sudo vi isolinux.cfg.vesamenu
label live menu label live - Slave Node ( toram ) kernel /casper/vmlinuz append file=/cdrom/preseed/custom.seed boot=casper initrd=/casper/initrd.gz quiet splash --
動作確認
remastersysで、バックアップを作成します。
sudo su - remastersys clean remastersys backup
/home/remastersys/remastersys/custombackup.iso が、できます。
これを、使用して、Ubuntu Dicktopにて、Live-USBを作成します。
「スタートアップ・ディスクの作成」を使用する際には、
かならず、「シャットダウン時に、全ての変更を破棄する」にチェックしてください。
書き込みを可能(Persistenceを使用:casper-rwが、有効になっている)にすると、
HDFSに書き込む事ができませんでした。
UnionFSを、うまく扱えないのでしょうか。。。
USBで、ブートした後、
jps
にて、サービスが上がっていれば大丈夫です。