Hadoop の設定をスクリプトで実行

ディスク容量が足りなかったため
再度 設定することにしました
今度は、容量を大きめにつくってみました
前回、20GBで足りないので、今回の Vmware で作成した容量は
50GB 割当てしました
また、再度設定することも考えて、
セットアップスクリプトの作成をしてみます
vi setup_hadoop.sh
でファイルを作成し。内容を以下のようにしました

#!/bin/bash
./jdk-6u24-linux-i586.bin
sudo mv jdk1.6.0_24 /opt/
tar zxvf hadoop-0.21.0.tar.gz
sudo mkdir -p /opt/hadoop
sudo mv hadoop-0.21.0 /opt/hadoop/
echo -e ‘export JAVA_HOME=/opt/jdk1.6.0_24/’ >> $HOME/.bashrc
echo -e ‘export HADOOP_INSTALL=/opt/hadoop/hadoop-0.21.0’ >> $HOME/.bashrc
echo -e ‘export PATH=$HADOOP_INSTALL/bin:$JAVA_HOME/bin:$PATH’ >> $HOME/.bashrc
source ~/.bashrc
sudo apt-get -y install openssh-server
ssh-keygen -t dsa -P ” -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

これで、
ssh localhost
でログインできれば成功です
ちなみに、このスクリプトを実行する場合
jdk-6u24-linux-i586.bin
hadoop-0.21.0.tar.gz
をスクリプトと同じディレクトリにおいておくことが必要です

Hadoop でエラーの意味

hadoop を使うため、
pig を実行したところ、エラーになりました
原因を探したところ、どうやらディスク容量が足りないのが
原因のようです
前回、VMware Player で容量を増やしたのですが
たしかに容量は増えたのですが、未使用領域が増えただけでした
実際のマシンに例えると
HDDがいっぱいになりかけているところに
外付けHDDを追加しただけに近い状態です
このため、根本的な解決にはなっていませんでした
Windwos の VMware の場合、コマンドを使うことで
領域の拡張などを行えるようですが、Linux 版の
Vmware Player の場合、この管理コマンドがありません
どうやら、Vmware Server が必要になりそうです
また、今回、VMのディスクを何も考えずに
2GBに分割していたため、
もしこれを拡張するのであるなら、
一度統合して、拡張する必要性がありそうです
おそらく、外付けHDDが FAT32のときのことを
考えての機能なのかもしれません
FAT32 のフォーマットの場合、最大4GB程度のファイルまでしか
取扱いができませんので
次回からは、仮想ディスクを分割しないこと
そして、
次の対処に備えて、VMware Server の導入を検討中です
なお、今回の原因究明には
Hadoop/インストール
参考にさせていただきました
また、仮想環境の容量拡張に関しては
VMware Player(Workstation)のメモ
分割仮想ディスクを結合する(by vmware-vdiskmanager)
【CentOS】LVMでディスク容量を拡張(VMwareのHDD容量を増やす)
を参考にさせていただきました

分散処理技術 Hadoop

日経Linux 2011-05で短期連載で
Hadoop の特集があるので、これを実験
hadoop に関しては、Wikipedia の記事
Hadoop
を見ました
なにごとも手をつけて実験してみると
なにか得るものがあるかも
まずは、Hadoop をインストール
実験環境は VMで作成した ubuntu 10.10 32bit
まずは、sun-java の jdk をインストール
http://java.sun.com/javase/ja/6/download.html
へリンクし
jdk-6u24-linux-i586.bin
をダウンロードします
きりんさん日記の
1台構成のHadoopを30分で試してみる(Ubuntu + Cloudera)
には、apt-get を使った方法が載っていました
とりあえず、今回は雑誌記事の内容をもとにインストールしてみます
ダウンロード完了後
cd ダウンロード
chmod 755 jdk-6u24-linux-i586.bin
これで、実行権限をつけます
./jdk-6u24-linux-i586.bin
を実行すると、
jdk1.6.0_24/
ができているので
sudo mv jdk1.6.0_24/ /opt
でディレクトリ移動
続いて、付録DVDに収録されている Hadoop をHDDにコピーします
cp /media/LIN201105/article/rensai_pighive/hadoop-0.21.0.tar.gz $HOME
cd
で 一旦 ホームディレクトリに移動し、
tar zxvf hadoop-0.21.0.tar.gz
で解凍してから
sudo mkdir -p /opt/hadoop
でディレクトリ作成
sudo をつけないと権限がないので、作成できません
また -p をつけると、パスが存在しなくても新規にディレクトリ作成できます
sudo mv hadoop-0.21.0 /opt/hadoop
でディレクトリごと移動します
ただ、これをみると
sudo mkdir -p /opt/haddop
sudo tar zxvf hadoop-0.21.0.tar.gz -C /opt/hadoop
でもよさそうですが
それはさておき、
次に JDKのディレクトリ指定です
sudo apt-get -y install vim
で vim をインストールし
vi .bashrc
でファイルを開き、最終行へ
export JAVA_HOME=/opt/jdk1.6.0_24/
export HADOOP_INSTALL=/opt/hadoop/hadoop-0.21.0
export PATH=$HADOOP_INSTALL/bin:$JAVA_HOME/bin:$PATH
を追記
source .bashrc
で設定内容を反映します
また、Hadoop に必要なものとして
ssh の公開鍵認証が必要らしいので、
ubuntu にはデフォルトで入っていない ssh を
sudo apt-get -y install ssh
でインストールします
これで、公開鍵認証を行うまでの準備が整いました