NFSによるDirectoryの共有

提供: LunaBiblos

Software > DataBase > KeyValueストア > Hadoop/HBase Clusterの構築 > NFSによるDirectoryの共有

目次

概要

NFSを利用してHadoopとHbaseのDirectoryを共有する方法です。今回はNFSのServer側、Client側共にOSとしてUbuntu 9.04 Serverを利用しています。
Hadoop、Hbase共にCluster中のMasterが、NFSのServer側になります。
なお、Amazon EC2でも同一Account内で建てたLinux Server同士であれば特にSecurityの設定を施す事無くNFS環境を構築する事が出来ます。

Server側設定

Directoryを提供する側の設定です。今回は説明の為にServer側のIPを192.168.0.1とします。

ComponentのInstall

まず必要なComponentをインストールます。

sudo apt-get install nfs-kernel-server

設定

「exports」を編集して出力するDirectoryを記述します。

sudo vi /etc/exports

今回出力するのは下図の通り、HadoopとHbaseの二つのDirectoryです。またNFSで共有をかけたDirectoryを参照出来るのはIPが「192.168.0.x」のPCだけに指定します。

Hadoop${HADOOP_BASE}/home/hbase/hadoop
Hbase${HBASE_BASE}/home/hbase/hbase

以下の文字列を「exports」に記述します。「exports」の記述方法の詳細はManpage of EXPORTSを参照してください。

/home/hbase/hadoop 192.168.0.0/255.255.255.0(rw,sync,no_root_squash)
/home/hbase/hbase 192.168.0.0/255.255.255.0(rw,sync,no_root_squash)

起動

NFSのServiceを再起動します。

sudo /etc/init.d/nfs-kernel-server restart

client側設定

Directoryを取得する側の設定です。NFSで共有したDirectoryを/home/hbase/hbaseMountにMountします。
必要なComponentをInstallし、NFSのServiceを再起動します。

sudo apt-get install nfs-common
sudo /etc/init.d/nfs-common restart

下記のCommandを実行してNFS共有されているDirectoryをMountします。

sudo mount -t nfs 192.168.0.1:/home/hbase/hadoop /home/hbase/HadoopMount
sudo mount -t nfs 192.168.0.1:/home/hbase/hbase /home/hbase/hbaseMount

以上でNFSによるDirectoryの共有は終わりです。

再起動時の自動Mount設定

Client/Slaveが再起動した際に自動的にNFS共有を行う様に設定します。

sudo vi /etc/fstab

でFileを開き、下記の様に記述します。

192.168.0.1:/home/hbase/hadoop /home/hbase/HadoopMount nfs rw,hard,intr 0 0
192.168.0.1:/home/hbase/hbase /home/hbase/hbaseMount nfs rw,hard,intr 0 0

Cluster用の追加作業

ClusterのSlave側(NFSのClient側)でCluster用の追加設定を行います。
NFSでMountしたDirectoryはそれぞれ「/home/hbase/HadoopMount」、「/home/hbase/hbaseMount」となっているので、これをMasterのDirectoryを同一にする為にそれぞれ「/home/Hbase/Hadoop」、「/home/Hbase/Hbase」にハードリンクを構築します。

ln -s /home/hbase/HadoopMount /home/hbase/hadoop
ln -s /home/hbase/HbaseMount /home/hbase/hbase

Commandが成功したらそれぞれ「/home/Hbase/Hadoop」、「/home/Hbase/Hbase」に移動しMaster側と同じFileがある事を確認してください。

直接Mountする場合

今回は混乱を避ける為とメンテの目的でNFSでMountする先と実際にHadoop/Hbaseを利用するDirectoryをずらしましたが、直接Mountする方法もあります。
その場合は下記Commandを実行してください。

sudo mount -t nfs 192.168.0.0:/home/hbase/hadoop /home/hbase/hadoop
sudo mount -t nfs 192.168.0.0:/home/hbase/hbase /home/hbase/hbase

TODO

hosts.allow

参考

大項目
案内
ツールボックス