2008年07月28日

HDFSでアトミックな追記操作がサポート

今週末、HDFS(Hadoop Distributed File System)についにアトミックな追記操作をサポートするパッチがコミットされたようです!

- HADOOP-1700

これが安定すれば、ログファイル等をどんどん追記して、半リアルタイムで解析するような基盤を簡単に作れるようになるでしょう。

そのほかにもHadoopは色々と開発が進んでいて、一部がTomWhiteさんのエントリにまとまっています。どんどん便利に、かつカスタマイズ可能になって行くので楽しいです。以下に簡単にまとめておきます。

  • JobSchedulerの改善(現在はFIFOしか無いが、Facebookから公平性を考慮したスケジューラーの実装が上がっている)
  • HDFSのブロック配置アルゴリズムをプラッガブルに
  • InstrumentationAPIで各種ログ機構と統合し、クラスタ内の状態を詳しく把握
  • Thrift/GoogleProtocolBufferを使用したシリアライズフレームワークの改善
  • LifeCycleインターフェースの導入
  • コードの循環依存の撤廃

僕もソースコードは大体把握したので、コードでコントリビューションして行こうと思っています。

P.S.
はてなさんでは既にログ解析にHadoopを使用されているらしいです :-)

2008年07月15日

はてな合宿

6月の週末にはてなさんの京都オフィスにお邪魔して3日間の合宿を行いました。その時にnaoya, oxy, kzkチームで作った「はてブ関連エントリー機能」が今日公開されました。

僕は主にoxyの作ったエンジン(reflexaに使われている奴)をThriftのマルチスレッドサーバー上に載せる仕事をしました。マルチスレッド周りでエンジンに数箇所バグが有ったのでそれを取り、負荷生成ツールを作ってCPUを完全に使い切る所まで持っていくことができました。今までシングルスレッドで動かしてたんですよねー。

エンジン自体は行列を圧縮したり、上手く探索を枝狩りしてたりと、アルゴリズム部分は相当頑張って実装されていたので、今回はその外堀を上手く埋めることが出来てよかったと思います。oxyたん、流石です。

mysqlのdumpはこうやるんだよ!とC言語でMySQL C APIを叩き出したnaoyaさんは素敵でした。あとこんなUIが欲しい!この条件でソートして表示して欲しい!と叫んでみたらすぐに作ってくれるので非常にやりやすかったです。僕ら画面作るの苦手なんですよね。

第2弾、第3弾と続くと思うので、また楽しみにしておいて下さい。

ICFP2008

今年は最初の方しか参加出来ませんでした。PFIの他の面々も色々都合が有ったらしく、1日目は僕とhillbigさんがいたものの、2日目以降はほぼid:tanakh1人状態で非常に申し訳ない状態に。

これで勝ったら田中さん神。

C++で真ん中に突っ込むだけの馬鹿探査機を一通り書いた後、Haskell Masterがコーディングしてる横について色々と突っ込んでました。Haskell凄いよHaskell。

でも壮絶にバグ取りづらいw

というわけで今年は田中さんのエントリに誘導ー。

- The Eleventh ICFP Programming Contest

2008年07月11日

カーネル読書会で発表してきました。

YLUG第88回カーネル読書会。お題はHadoopです。吉岡さん、ありがとうございました。

ちょくちょく入るshinhさんの突込みが面白いのと、質疑応答でIPLの方の激しい突っ込みに、きちんと答えられない僕が写ってますよ!

あの方ともうちょっと話したかったな・・・。

しかし自分のビデオは恥ずかしいですね。「まあ」って言いすぎなの直そうと思いますw

2008年07月08日

「プロトコルバッファー」がオープンソース化

Googleで使用されているRPC/シリアライズフレームワーク「ProtocolBuffer」がオープンソース化されたらしい via @ohkuraさん

おーおーお、GoogleTestといい何かオープンソース化ラッシュですね。FacebookのThriftと比較してC++, Java, Pythonしかバインディングが無いので、PHPとかPerlとか使ってる場合はまだ移行できなさそう。

この2つは週末に時間とってじっくり調べてみようー。

追記:
RPCの部分は無くて、シリアライズのところしかなかった・・・。

追記:
RPC有るっぽ