2007-12-22[n年前へ]
2008-07-05[n年前へ]
2009-05-15[n年前へ]
■RubyでHadoopをラップ、分散処理ツールキットが登場
RubyでHadoopをラップ、分散処理ツールキットが登場~New York Timesがログ解析向けで自社開発したものを公表~
米新聞社大手のニューヨーク・タイムズは5月11日、Rubyによる大規模分散処理のツールキット「Map/Reduce Toolkit」(MRToolkit)をGPLv3の下にオープンソースで公開したと発表した。MRToolkitは、すでに稼働しているクラスタ上の Hadoopと合わせて使うことでRubyで容易にMap/Reduce処理を記述することができる一種のラッパー。処理自体はHadoopが行う。すでにHadoopを使っているユーザーであれば、中小規模のプロジェクトに対して、すぐにMRToolkitを適用可能としている。
require 'mrtoolkit' class MainJob < JobBase def job mapper CopyMap reducer UniqueCountReduce indir "logs" outdir "ip" end end
2009-06-14[n年前へ]
■PCの負荷分散が上手くできていません・・・。
サーバPCを1台減らしてから、PCの負荷分散が悲しいくらい上手くできていません。そのため、処理速度も極めて低下しています。もちろん、PCが高負荷状態にあるということはハードウェアの寿命的にもよろしくありません。
そこで、サーバの仮想PC化より先に、まずはサーバのジョブ分散のさせ方を適切に変えることにしました。作業を行うのは週末になりそうなので、それまではサーバの反応がとても遅いとは思いますが、そんな時は、サーバが空いている時間にお越しください:)。
2009-06-16[n年前へ]
■サーバ構成を変更しました
サーバPCの構成を変更しました。PCが壊れて2台構成で動かし始めた結果、PCの負荷分散が上手くできていなかったわけですが、変更作業後の現在は2台のPCの負荷がほぼ同じ程度で動くようになりました。
とはいえ、負荷状態を眺めてみると、CPU使用率が一日の時間平均で40%くらいです。100%に張り付いている時も多々ありますから、今のシステムでは無理があるように見えます。ということは、「プログラムを改良する」か「サーバ台数を増やす」かが必要ということになりそうです。
「プログラムを改良する」ためには、プログラムを見直す時間という貴重なリソースが必要ですし、「サーバ台数を増やす」にはお金という(これまた)貴重なリソースが必要です。さてさて、一体どういう解決策が適切なのでしょうか。
短時間でプログラムを改良すればいいという解決策、つまり、技術力を備えている時にだけ可能な解決策もあります。しかし、これも結局のところ、その技術力を身につける時間が必要になることでしょう。とはいえ、この案を、楽しみつつ選ぶことにしましょうか。