2009-01-01から1年間の記事一覧
すっかり間があいていましまったけど、最近 Android をいじり始めたのでそれについてメモを再開。Android エミュレータの /system は adb remount で、書き換えはできるけれども、結局エミュレータを終了すればまた元に戻ってしまう。毎回 adb remount して…
8/13 に 1.0 がリリースされた XtreemFS っていう分散ファイルシステムもあるんですね。今度調べてみよう。
CloudStore は Hadoop と組み合わせることができ、MapReduce のデータ保持先として利用できる。 Using KFS with Hadoopを参考に試して見た。 Hadoop MapReduce をインストールした場合のサーバの役割は以下のようにした。 ノード名 CloudSotre での役割 Hado…
Javaライブラリを使ってランダムアクセスをしようと思ったら、Javaライブラリで提供されるAPIではアクセスできない。JNI 側および C/C++ ライブラリ的にはランダムアクセス可能なので、単にJava側のAPIの提供方法の問題のようである。CloudStore の HDFS に…
Javaライブラリを使って、CloudStoreに読み書きをする方法をまとめておく。 読み込み サンプルコードは以下の通り。CloudStore の API は、Java New I/O を使うようになっているので、それがらみのコードが多くなってしまっているが、実質的には メタサーバ…
CloudStore には Java からもアクセスできるようになっている。 ライブラリのビルドは Ant を使って以下のようにすればよい。KFS_HOME は、CloudStore がインストールされているディレクトリ。 $ cd kfs-0.3 $ ant -Dlib.dir=$KFS_HOME/lib jar 成功すれば、…
CloudStore では FUSE を使ったマウントができる(http://kosmosfs.wiki.sourceforge.net/UsingWithFUSE)ので、その方法を確認しておく。まずあらかじめ FUSE をインストールしておく必要があるので、以下のような感じで準備しておく。 $ tar xzf fuse-2.7.…
前回までで、とりあえずCloudStoreが起動したので、今回はコマンドラインツールを使ってCloudStoreにアクセスする方法をメモしておく。 前々回のコンパイルにより、コマンドラインツールが /home/kfs/cloudstore/bin/tools にある。 ファイルをCloudStore上…
前回でコンパイルが済んだので、今回は動作させるまでをメモしておく。基本的に、Deploying KFS の手順に従っている。 想定しているサーバ構成は以下のような感じ。 ノード名 役割 kfs0 metaserver kfs1 chunkserver kfs2 chunkserver kfs3 chunkserver まず…
HDFSとは別の分散ファイルシステムであるCloudStoreを試そうとしたときのメモ。 まずはコンパイルに関して。基本的に、http://kosmosfs.wiki.sourceforge.net/HowToCompileに書いてある通りだけど、CentOS5.2 の環境でコンパイルしようとしたときのことメモ…
ローカル領域 -> HDFSマウント領域の rsync をするには、 rsync --temp-dir=/local/path/tmp -avOW --delete local/ /mnt/hdfs/ のようなオプションをつける必要があるみたい。 --temp-dir を指定しないと、HDFS マウント領域上にテンポラリファイルを作成し…
decommission DataNode をクラスタから削除したい場合、前回書いたようにノードを停止してしまえば目的は果たせるけれど、停止により複製数が満たなくなるブロックができてしまい、自動複製されるまでにさらにノードが死んだりしたらデータ喪失になりかねな…
ノードの追加・削除といった Hadoop の運用面について少し調べてみたのでメモ。 ノードの追加 ノードを追加するにはだいたい以下のような手順となる。 Hadoop のソフトウェアをインストールする。 このとき、hadoop-env.sh や conf/*.xml も設定しておく。 N…
HDFS Permissions Guide を見ると、HDFS では Linux とかで見られるようなパーミッションが設定されるようになっているらしい。そしてスーパーユーザは NameNode の実行ユーザになるらしい。確かに今までは HDFS に対する操作を hadoop ユーザで行ってきたの…
Hadoop Wiki に MountableHDFS というのがあり、HDFS をマウントできるようなことが書いてあるので試してみたので、それをメモしておく。いくつか実装があるようだけど、今回試したのは fuse-dfs というもの。こちらのサイトも参考にさせていただいた。gcc, …
Hadoop を設定できたので、Java からHDFSにファイルを置いたり、HDFSからファイルを読み出したりする方法をメモっておく。以下で、大きく分けて2種類の方法を書いているけれど、共通な点としてまず、Configuration クラスのインスタンスを用意しておくとい…
前回の段階で、とりあえず1台で動作したので、今度はもう少し実際の利用形態に近づけてみることにする。ということで、4ノードを用意し以下のような感じでデーモンを動かす構成とした。 ノード名 動作デーモン hadoop0 NameNode hadoop1 JobTracker, Secon…
HBase とか neptune といった、Hadoop をベースとした分散データベースを試してみたいので、その前に当然 Hadoop をインストールしなければならないので、そのあたりのことをメモしておく。基本的にQuick Startをそのままなぞっただけ。 準備 あらかじめ、Ce…
Flare が自分の利用シーンにマッチしている一方で、Java から利用する必要があったので、memcached client for java をベースにして、Flare 用のクライアントライブラリを作ってみました。ソースの方は、初めての利用ですが、 http://github.com/kikumoto/ja…
Key-Value Store の一つであり GREE Labs で公開されている Flare の データ永続性 データの安全性(レプリケーション) スケーラビリティ(パーティションニングや動的再構築) 可用性(ノード監視 + フェイルオーバー) というところに強く惹かれたので試…
mogstored を開始すると、1つの mogstored につき UPDATE device SET mb_total = $1, mb_used = $2, mb_asof = EXTRACT(epoch FROM NOW())::int4 WHERE devid = $3 のようなSQLが数秒おきに発行される。 これでは PostgreSQL にはつらいかもしれない。そ…
MogileFS には非公式ではあるが Java クライアントもある。 今回は http://github.com/davidsheldon/java-mogilefs/tree/master にあるライブラリを利用してみることにした。 ファイルの読み書き 取得したファイルの中に、TestMogileFS.java というのがある…
MogileFS を入れてみて気づいたのが、MySQLで構成するにしろPostgreSQLで構成するにしろ、tracker を起動すると非常に頻繁にDBにアクセスがあることです。なんか死活監視のためのように思えるのだけれど、これって抑制したり頻度を抑えたりできるのだろうか…
前回のメモでは、MogileFS の標準と考えられる MySQL を使ってシステムを構築したけれど、PostgreSQL も可能なようなのでそれを試してみた。システム構成は前回と同じ。 PostgreSQL の設定 まず、一度やってみてわかったのが CentOS5.2 標準の PostgreSQL 8.…
Fedoraのレポジトリにあるrpmを利用して、CentOS5.2にMogileFSをインストールしたときの手順メモ。 システム構成 3台のサーバを用意して、1台をtrackerに、残りの2台をstorageとした。 IPやホスト名は以下の通り。 役割 ホスト名 IP tracker mogile1 192.…
HDFS について調べてみた。使ってみたわけではない。 1. ファイルを分割して保存するかどうか 分割保存する。 2. サーバーやディスクが落ちても問題なくアクセスを受け付けられるか 受け付けられる。 3. サーバーやディスクが落ちたときにデータが失われない…
Cleversafe について調べてみた。使ってみたわけではない。 0. 調査したバージョン 1.1.0 1. ファイルを分割して保存するかどうか する。 2. サーバーやディスクが落ちても問題なくアクセスを受け付けられるか 受け付けられる。ただし、iSCSI ターゲットへの…
PVFS2 について調べてみた。使ってみたわけではない。 0. 調査したバージョン 2.8.1 1. ファイルを分割して保存するかどうか しない。 2. サーバーやディスクが落ちても問題なくアクセスを受け付けられるか 受け付けられない。Linux-HA(heartbeat)のような…
Lustre について調べてみた。使ってみたわけではない。 0. 調査したバージョン サイトでは 1.8 がリリースされているように思えたけど、実際ダウンロードできるものや、ドキュメントは 1.6 のようである。 1. ファイルを分割して保存するかどうか 分割する。…
CloudStore について調べてみた。使ってみたわけではない。Kosmos filesystem から名前が変わったみたい。でも、まだドキュメントは Kosmos filesystem のままみたいだけど。 1. ファイルを分割して保存するかどうか 分割保存する。 2. サーバーやディスクが…