hadoop環境の構築 事前準備
前回ご紹介したhadoopですが,
環境 |
---|
OS : CentOS 5. |
構成 |
hadoop1:masterサーバ…NameNode/ hadoop2, hadoop3:slaveサーバ…DataNode/ |
- NameNode, DataNodeはHDFSのための機能→masterサーバ
- JobTracker, TaskTrackerはMapReduceのための機能→slaveサーバ
NFSはhadoopの設定やプログラムを共通で使用するために導入します
それでは構築作業を進めていきます。
NFSディレクトリの作成
hadoop1に/usr/
hadoop1でディレクトリを作成します。
# mkdir /usr/local/apache_proj
Javaのインストール
hadoopはJavaプラットフォームで動作しますので,
# yum install java-1.6.0-openjdk-devel
とし,
java-1.
host名の設定
hadoop1, hadoop2, hadoop3がお互いがホスト名で通信できるように設定します。ここではそれぞれのサーバの/etc/
私の環境では以下の情報をそれぞれのサーバの/etc/
192.168.47.101 hadoop1
192.168.47.102 hadoop2
192.168.47.103 hadoop3
192.168.47.103 hadoop3
接続確認は,
今回の構成ではLANの中にある安全な環境という前提で,
# /etc/init.d/iptables stop
で停止させておきましょう。また,
hadoopのダウンロード
hadoopのパッケージはHadoop Distributed File System Releasesのページからからダウンロードが可能です。
hadoop1でダウンロードします。
# wget http://www.meisei-u.ac.jp/mirror/apache/dist//hadoop/core/hadoop-0.21.0/hadoop-0.21.0.tar.gz
このパッケージにはhadoopのHDFS,
ダウンロードしたファイルをapache_
# mv hadoop-0.21.0.tar.gz /usr/local/apache_proj # cd /usr/local/apache_proj # tar zxvf hadoop-0.21.0.tar.gz
hadoop-0.
# ln -s hadoop-0.21.0 hadoop
これで,
今後,
hadoop起動ユーザの追加
hadoopのプロセス起動用にユーザを追加します。このユーザがhadoopのプロセスを立ち上げることになります。私の環境では,
hadoop1, hadoop2, hadoop3で以下のコマンドを実行します。
# useradd h
パスなしでのsshができるよう設定する
hadoop起動ユーザはパスワードなしでのsshログインが必要となります。hユーザをパスなしでsshさせるために,
hadoop1で下記を実行します。
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
ここで作成したauthorized_
コピー後,
環境変数の設定
hユーザの.bashrcを編集し,
export HADOOP_HOME=/usr/local/apache_proj/hadoop
export PATH="$PATH:$HADOOP_HOME/bin"
追記後,
$ scp .bashrc h@hadoop2:~ $ scp .bashrc h@hadoop3:~
これでhadoopコマンドへのpathが通り,
パーミッションの設定
/usr/
# chown -R h:h /usr/local/apache_proj
ディレクトリの設定
hadoopで必要なデータ保存ディレクトリやpidファイルの場所の設定をします。全てのサーバで以下のコマンドを実行します。
# mkdir /usr/loal/hdfs # chwon -R h:h /usr/local/hdfs