kikumotoのメモ帳

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

CloudStoreのJavaアクセスライブラリ

CloudStore には Java からもアクセスできるようになっている。 ライブラリのビルドは Ant を使って以下のようにすればよい。KFS_HOME は、CloudStore がインストールされているディレクトリ。 $ cd kfs-0.3 $ ant -Dlib.dir=$KFS_HOME/lib jar 成功すれば、…

CloudStoreを使う・FUSEマウント編

CloudStore では FUSE を使ったマウントができる(http://kosmosfs.wiki.sourceforge.net/UsingWithFUSE)ので、その方法を確認しておく。まずあらかじめ FUSE をインストールしておく必要があるので、以下のような感じで準備しておく。 $ tar xzf fuse-2.7.…

CloudStoreを使う・コマンドライン編

前回までで、とりあえずCloudStoreが起動したので、今回はコマンドラインツールを使ってCloudStoreにアクセスする方法をメモしておく。 前々回のコンパイルにより、コマンドラインツールが /home/kfs/cloudstore/bin/tools にある。 ファイルをCloudStore上…

CloudStoreを動かす

前回でコンパイルが済んだので、今回は動作させるまでをメモしておく。基本的に、Deploying KFS の手順に従っている。 想定しているサーバ構成は以下のような感じ。 ノード名 役割 kfs0 metaserver kfs1 chunkserver kfs2 chunkserver kfs3 chunkserver まず…

CloudStoreのコンパイル

HDFSとは別の分散ファイルシステムであるCloudStoreを試そうとしたときのメモ。 まずはコンパイルに関して。基本的に、http://kosmosfs.wiki.sourceforge.net/HowToCompileに書いてある通りだけど、CentOS5.2 の環境でコンパイルしようとしたときのことメモ…

ローカルからHDFSマウントへのrsync

ローカル領域 -> HDFSマウント領域の rsync をするには、 rsync --temp-dir=/local/path/tmp -avOW --delete local/ /mnt/hdfs/ のようなオプションをつける必要があるみたい。 --temp-dir を指定しないと、HDFS マウント領域上にテンポラリファイルを作成し…

decommission、rebalance

decommission DataNode をクラスタから削除したい場合、前回書いたようにノードを停止してしまえば目的は果たせるけれど、停止により複製数が満たなくなるブロックができてしまい、自動複製されるまでにさらにノードが死んだりしたらデータ喪失になりかねな…

ノードの追加・削除

ノードの追加・削除といった Hadoop の運用面について少し調べてみたのでメモ。 ノードの追加 ノードを追加するにはだいたい以下のような手順となる。 Hadoop のソフトウェアをインストールする。 このとき、hadoop-env.sh や conf/*.xml も設定しておく。 N…

HDFSへのアクセスユーザ

HDFS Permissions Guide を見ると、HDFS では Linux とかで見られるようなパーミッションが設定されるようになっているらしい。そしてスーパーユーザは NameNode の実行ユーザになるらしい。確かに今までは HDFS に対する操作を hadoop ユーザで行ってきたの…

HDFSのマウント

Hadoop Wiki に MountableHDFS というのがあり、HDFS をマウントできるようなことが書いてあるので試してみたので、それをメモしておく。いくつか実装があるようだけど、今回試したのは fuse-dfs というもの。こちらのサイトも参考にさせていただいた。gcc, …

HDFSの読み書き

Hadoop を設定できたので、Java からHDFSにファイルを置いたり、HDFSからファイルを読み出したりする方法をメモっておく。以下で、大きく分けて2種類の方法を書いているけれど、共通な点としてまず、Configuration クラスのインスタンスを用意しておくとい…

Hadoop使用メモ2

前回の段階で、とりあえず1台で動作したので、今度はもう少し実際の利用形態に近づけてみることにする。ということで、4ノードを用意し以下のような感じでデーモンを動かす構成とした。 ノード名 動作デーモン hadoop0 NameNode hadoop1 JobTracker, Secon…

Hadoop 使用メモ1

HBase とか neptune といった、Hadoop をベースとした分散データベースを試してみたいので、その前に当然 Hadoop をインストールしなければならないので、そのあたりのことをメモしておく。基本的にQuick Startをそのままなぞっただけ。 準備 あらかじめ、Ce…

Flare Java Client Library

Flare が自分の利用シーンにマッチしている一方で、Java から利用する必要があったので、memcached client for java をベースにして、Flare 用のクライアントライブラリを作ってみました。ソースの方は、初めての利用ですが、 http://github.com/kikumoto/ja…

Flare の使用メモ。

Key-Value Store の一つであり GREE Labs で公開されている Flare の データ永続性 データの安全性(レプリケーション) スケーラビリティ(パーティションニングや動的再構築) 可用性(ノード監視 + フェイルオーバー) というところに強く惹かれたので試…

MogileFS を PostgreSQL で動作させるのはつらい?

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 から使ってみる

MogileFS には非公式ではあるが Java クライアントもある。 今回は http://github.com/davidsheldon/java-mogilefs/tree/master にあるライブラリを利用してみることにした。 ファイルの読み書き 取得したファイルの中に、TestMogileFS.java というのがある…

MogileFSが頻繁にDBにアクセスするのはどうやれば制御できる?

MogileFS を入れてみて気づいたのが、MySQLで構成するにしろPostgreSQLで構成するにしろ、tracker を起動すると非常に頻繁にDBにアクセスがあることです。なんか死活監視のためのように思えるのだけれど、これって抑制したり頻度を抑えたりできるのだろうか…

CentOS5.2 + MogileFS + PostgreSQL

前回のメモでは、MogileFS の標準と考えられる MySQL を使ってシステムを構築したけれど、PostgreSQL も可能なようなのでそれを試してみた。システム構成は前回と同じ。 PostgreSQL の設定 まず、一度やってみてわかったのが CentOS5.2 標準の PostgreSQL 8.…

CentOS5.2にMogileFSをインストールした

Fedoraのレポジトリにあるrpmを利用して、CentOS5.2にMogileFSをインストールしたときの手順メモ。 システム構成 3台のサーバを用意して、1台をtrackerに、残りの2台をstorageとした。 IPやホスト名は以下の通り。 役割 ホスト名 IP tracker mogile1 192.…

分散ファイルシステムを調べたい - Hadoop Distributed File System (HDFS)

HDFS について調べてみた。使ってみたわけではない。 1. ファイルを分割して保存するかどうか 分割保存する。 2. サーバーやディスクが落ちても問題なくアクセスを受け付けられるか 受け付けられる。 3. サーバーやディスクが落ちたときにデータが失われない…

分散ファイルシステムを調べたい - Cleversafe

Cleversafe について調べてみた。使ってみたわけではない。 0. 調査したバージョン 1.1.0 1. ファイルを分割して保存するかどうか する。 2. サーバーやディスクが落ちても問題なくアクセスを受け付けられるか 受け付けられる。ただし、iSCSI ターゲットへの…

分散ファイルシステムを調べたい - PVFS2

PVFS2 について調べてみた。使ってみたわけではない。 0. 調査したバージョン 2.8.1 1. ファイルを分割して保存するかどうか しない。 2. サーバーやディスクが落ちても問題なくアクセスを受け付けられるか 受け付けられない。Linux-HA(heartbeat)のような…

分散ファイルシステムを調べたい - Lustre

Lustre について調べてみた。使ってみたわけではない。 0. 調査したバージョン サイトでは 1.8 がリリースされているように思えたけど、実際ダウンロードできるものや、ドキュメントは 1.6 のようである。 1. ファイルを分割して保存するかどうか 分割する。…

分散ファイルシステムを調べたい - CloudStore

CloudStore について調べてみた。使ってみたわけではない。Kosmos filesystem から名前が変わったみたい。でも、まだドキュメントは Kosmos filesystem のままみたいだけど。 1. ファイルを分割して保存するかどうか 分割保存する。 2. サーバーやディスクが…

分散ファイルシステムを調べたい - GlusterFS

GlusterFS について調べてみた。使ってみたわけではない。 1. ファイルを分割して保存するかどうか Stripe の設定をすれば分割する。ただし、GlusterFS FAQ からすると、勧めてはいない感じ。 2. サーバーやディスクが落ちても問題なくアクセスを受け付けら…

分散ファイルシステムを調べたい - MogileFS

MogileFS について調べてみた。使ってみたわけではない。 1. ファイルを分割して保存するかどうか 分割しない。が、1ファイルにつき 100MB の制限があるらしく、クライアントライブラリのオプション(bigfile)で分割して保存する必要があるらしい。(参考…

分散ファイルシステムを調べたい - ceph

ceph について調べてみた。使ってみたわけではない。性能・信頼・拡張性に富んだシステムを目指しているが、なんせまだまだ開発中みたいなので、興味として軽く調べるにとどめる。 1. ファイルを分割して保存するかどうか わからなかった。 2. サーバーやデ…

はじめてみた

何かを表現するのって苦手なんだけど、何か変えていかなきゃただ埋もれていくだけな感じがしてきたので、はてなを始めてみた。 若干、「http://d.hatena.ne.jp/t_yano/20070925/1190740421」とか、「40になる前に宝くじを買っておけ - DJ Yasuo (元ひがやす…

分散ファイルシステムを調べたい

dfs

Web上のストレージのバックエンドにできるような、分散ファイルシステムが欲しいのでいくつか調べてみたい。 今のところの本命は HDFS(Hadoop Distributed File System)だけど、一応いくつか目を通しておく必要はありそうだ。 とりあえず、「分散ファイル…