2009-01-30[n年前へ]
■hirax.net の rss
hirax.netの更新内容(rss)は、"inside out "Techlog" "Logos" "できるかな?" すべてを配信しています。また、ケータイ閲覧用頁も、それらを一括管理しています。けれど、その一方で通常のPC閲覧頁としては、"inside out "Techlog" "Logos" "できるかな?" すべてをひとつに集めた頁はありません。更新内容を「(動画・スクリプト使用の内容などを除き)大雑把に眺めたい」という方は、hirax.net::rssをご覧下されば、幸いです。
2009-04-07[n年前へ]
■可動部が少なくて、静かで、発熱量が少ないPCは?
趣味で動かしているようなサーバでも、24時間数年にわたり動かしていれば、各種ファンも調子が悪くなってくるし、たまに、熱で壊れる部品も出てくる。特に、趣味用サーバなどは、サーバ室にいるわけでなく、アパートの机の上にいる。すると、この季節には花粉や黄砂の嵐を浴びたりもするわけで、ファンや部品の調子が悪くなるのも当然といえば当然である。
となると、ファンがなくて、あまり発熱しないPCをサーバ用として欲しくなる。できれば、机の上に3個くらい置いても邪魔にならない程度の小さいものである(たとえば、このPC程度の )。そして、もちろん、「安い」ものだ。
というわけで、可動部が少なくて、静かで、発熱量が少なく、小さく、安い…そんなPCを探している。しかし、なかなか見つからない。
2009-04-27[n年前へ]
■素人がRails入門書を買ってWEBサーバを立ち上げた後の苦難の道 その1
これは、あくまで”素人”が、自分で作った「自分のWEB LOG(というより、やはりWEB日記)」を運用するまでの(これからもまだまだ続くだろう)苦難の道の記録です。
書店に並んでいるRailsプログラミング本を買い、小さなプログラムを書いて、自宅サーバを(手書きHTMLとハイパーニッキシステムから移行し)動かし始めて1年と少し経ちます。今は、趣味サーバとしては普通に動いているようですが、プログラミング素人が書店で入門書を買って、Railsサーバを立ち上げた後は結構大変でした。大変だったといっても、何しろいちばん最初は入門書のステップ1に書いてあるようにInstantRailsをインストールしただけで動かしてみたのです(逆にいえば、一番最初に買った入門書 がそれだけわかりやすく、本を読むだけで簡単にアプリケーションを作ってみることができた、ということでもあります)。当然、キャッシュも使わず、プロセスも1つだけで動かしたわけです。何しろ、知識は書店で買った入門書だけなので、そんな感じで動かしてみたのです。
すると、たいしたアクセスもないにも関わらず、数分も立たない内にWebrickは反応をしなくなり、サーバはすぐに黙ってウンともスンとも言わなくなってしまいました。今考えてみれば、それは当たり前の話で、画像もファイルも何から何まですべての配信・処理をひとつのプロセスが行おうとしていたのですから、ちょっと無理があり過ぎ、です。そんなわけで、素人が「Rails入門書」のステップ1を読んだだけでサーバを立ち上げた結果は、趣味・個人サーバですら、1時間も安定した稼働をさせることができない状態になりました。
そこで、次のステップとして、その次に買った本で運用の仕方を学びつつ 、1台のPCでmongrelサーバをクラスタリングさせることにしてみました。次のような感じの(こんな感じというだけで実際に使っているものとは違いますが)スクリプトを書き、10個くらいのmongrelサーバを起動させ、再起動をたまにさせることでメモリーリークや、いろんな問題に目をつぶって動かしてみることにしたのです。
# gem install win32-process # gem install windows-pr require 'win32/process' require 'windows/handle' include Windows::Process include Windows::Handle class ProcessController def initialize(command) @pi=nil start(command) end def start(command) @pi=Process.create( :app_name=>command[:cmd], :cwd=>command[:cwd]) end def stop Process.kill(9, @pi.process_id) CloseHandle(@pi.process_handle) end end @comands=[ {:path=>"Z:\\blog", :cmd=>'mongrel_rails start -p 8080 -e production'}, {:path=>"Z:\\blog", :cmd=>'mongrel_rails start -p 8081 -e production'}] while true @proccesses=[] @comands.each{|comand| @proccesses << ProcessController.new(comand) } sleep 60*60*24 @proccesses.each{|process| process.stop } end
しかし、素人がRails入門書を買ってWEBサーバを立ち上げた後の苦難の道は、まだまだその先も長かったのです。今もたくさん問題を抱えているのですが、とりあえず、二番目に生じた課題は、プログラミングに時間を使うのが嫌だったので、負荷分散をPCの数で解決しようとした時に起きた色んなトラブルでした。
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-11[n年前へ]
■サーバ構成変更「作業中」です。
SQL用サーバが不調になり、ついには電源が入らないようになりました。電源ボタンを押しても、ウンともスンとも言わず、全く動く気配がありません。なにはともあれ、データを確認してみると、ハードディスクには異常はありませんでした。そこで、とりあえず、サーバ構成を変えPCを1台減らし動かし始めました。
サーバが1台動かなくなったのは残念ですが、動かなくなったのは省エネからはほど遠い550W電源を積んだPen4時代のマシンですから、何だか直すのも得策ではないような気がします。
そこで、これを機にサーバをVMware 上で動かすように、つまり、サーバを実PC群で動かすのではなく、仮想PC群でサーバを動かすように変えようと思います。というわけで、そういう作業を気が向いた時にしていることもあり、しかも、そういう作業の途中で他のことをし始めたり(発泡酒を飲んで寝ていたり)することもあり、システムが落ちていたり・落ちていなかったり・・・という今日この頃です。夏近くというのは、個人サーバには実に辛く、そして、発泡酒がとても美味しい頃合いですね。