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