kikumotoのメモ帳

インフラ・ミドル周りを中心に、興味をもったことを適当な感じで。twitter : @takakiku

CloudStoreを使う・FUSEマウント編

CloudStore では FUSE を使ったマウントができる(http://kosmosfs.wiki.sourceforge.net/UsingWithFUSE)ので、その方法を確認しておく。

まずあらかじめ FUSE をインストールしておく必要があるので、以下のような感じで準備しておく。

$ tar xzf fuse-2.7.4.tar.gz
$ cd fuse-2.7.4
$ ./configure --prefix=/usr
$ make
$ su
# make install

FUSE のサポート自体は CloudStore の配布ソース内に既に含まれている。まず、kfs-0.3/CMakeLists.txt を開いて、FUSE のインストールにあわせて以下を修正する。

SET(Fuse_LIBRARY_DIR "/usr/lib")
SET(Fuse_INCLUDE_DIR "/usr/include")

後は

$ cd kfs-0.3/build
$ make install

で、kfs_fuse が最初に CloudStore をビルドしたときに指定した CMAKE_INSTALL_PREFIX の bin ディレクトリの下にできる。

実際にマウントするには、kfs_fuse と同じディレクトリ内に、kfs.prp を以下のように作成しておく。

metaServer.name = kfs0
metaServer.port = 20000

Wiki のページでは metaServer.host となっているけれど、間違いみたい。

その後、マウントポイントを作成し kfs_fuse を実行すればマウントできる。以下のような感じ。

$ mkdir /tmp/kfs-fuse
$ ./kfs_fuse /tmp/kfs-fuse -f
  • f をつけないと一見マウントできているように見えるが、
$ ls /tmp/kfs-fuse
ls: /tmp/kfs-fuse: 通信端点が接続されていません

というエラーになる。とりあえず、この問題は保留。

で、CloudStore の HDFS に対する(個人的な)魅力は、ランダムアクセスができることなので、ランダムアクセスを使って読み書きする - サンプルコードによるPerl入門 を利用して確認してみた。
結果は、期待通り問題なくランダムアクセスができた。

CloudStore は結果使えるかも、という気になってきた。