ネットワーク管理者の憂鬱な日常

とある組織でネットワーク管理に携わる管理者の憂鬱な日常を書いてみたりするブログ

Hadoopインストール(1)

諸事情でHadoop導入.で,その個人的備忘録.

実は,JDK導入していたのは,これが目的w
先の記事にも書いたとおり,OSはFreeBSD 8.1-RELEASE/amd64,
Javaバージョンは次の通り.

# java -version
java version "1.6.0_07"
Diablo Java(TM) SE Runtime Environment (build 1.6.0_07-b02)
Diablo Java HotSpot(TM) 64-Bit Server VM (build 10.0-b23, mixed mode)

で,とりあえず,次の構成で組んでみることにする.
sv1はnamenode,sv2とsv3はdatanodeとして機能させる(予定).


ま,datanodeが2台では,スケールするより処理のオーバーヘッドが
大きそうだが,とりあえず実験ということでw

で,sv1〜sv3それぞれにHadoop用アカウント作成.
とりあえず,/etc/group,/etc/master.passwdに,それぞれエントリhadoopを作成.
GID,UIDとも90としたが特に意味はない.

--- part of /etc/group ---
hadoop:*:90:
--- part of /etc/master.passwd ---
hadoop:*:90:90::0:0:Hadoop Owner:/home/hadoop:/bin/csh

次に,Hadoop Commonを取得.
適当なftpサイトから「hadoop-0.20.2.tar.gz」を取得.
で,これを,/usr/local上で展開.で,ownerをhadoopにしておく.

# cd /usr/local
# tar xzvf hadoop-0.20.2.tar.gz
# chown -R hadoop:hadoop hadoop-0.20.2
# ln -s hadoop-0.20.2 hadoop

という感じ.

hadoopアカウントでsv1〜sv3を相互にログインできるよう,sshを設定する.
とりあえず実験できればよいので,次のコマンドで2048ビット長の
RSA公開/秘密鍵ペアを生成する.


本来ならパスフレーズも付けて,ssh-agentを使うのだろうけど,とりあえず.

で,生成された鍵ペアは,それぞれ次の通り.

公開鍵:~/.ssh/id_rsa.pub
秘密鍵:~/.ssh/id_rsa

で,公開鍵を次のコマンドで~/.ssh/authorized_keysに追加.

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

で,面倒(なのと実験)なので,~hadoop/.ssh ごとsv2,sv3の ~hadoopへ展開.
ええ,秘密鍵もばらまきまくりですよw
# 実運用ではもちろんNGでしょうけどw

これでhadoopアカウントを用いて,パスワード聞かれることなく,
sv1〜sv3を相互ログイン可能となる.
# 初回だけ,~/.ssh/known_hostsにfinger printを追加してもよいか聞かれるけど.

あと,hadoopの起動用スクリプトはbashがないと動かないw
なので,portsでbashを導入.

# cd /usr/ports/shells/bash
# make build ; make install

今更だけど,時代はbash(というかLinux系)なのかw

うーん,まだ全然Hadoop自体の設定には入ってないけど,今日はここで力尽きたw

スポンサーリンク