OSSチャリティーセミナー行ってきました

が,寝坊して完全遅刻してしまい,終盤しか聴けず.まとめとかは無理なので,気づいたことだけメモしとこう. オープンソースで作るプライベートクラウド環境 ユーザ会いっぱいあるな〜.Eucalyptus,OpenStack,etc...それぞれ,どういう使い分けをするんだ…

ドメイン単位でのはてなブックマークランキング

はてなブックマークは,どこのドメインからのエントリが多いのか.様々なサイトからブックマークされていますが, ある程度の傾向はあるのでは?そんな疑問から,ドメインごとに集計してみました. はてなダイアリー強し さっそく,上位30ドメインをどうぞ. …

2007/8/12はInternal Server Errorな日

ホットエントリーをscrapeしてる時に分かったのですが,なぜか2007/8/12分のみ取得できないようです. 前後の日は問題ないのですが,どういうことなんでしょう... ○: はてなブックマーク - 人気エントリー - 2007年8月11日 ×: はてなブックマーク - 人気エン…

Hadoopのためのデータセットあれこれ

Hadoop common user MLを見ていたところ,Data for Testing in HadoopでHadoopで使えるデータセットってない? という質問がありました.その返信でいくつか紹介されているものがあったので,列記しておきます. 実データ Amazon Web Services Amazonが,Publ…

はてなブックマークはロングテールになっているか

前エントリでソートしたホットエントリーを眺めてみると,上位と下位のブックマーク数に大きな差があるようです. グラフにしてみると,いわゆるロングテールの形状になっていて, しかもテール部分のブックマーク総数の方が,1割弱大きいことが分かりました…

はてなブックマークをブックマーク数順にソート

以前作った年間ランキングの元となったデータを,Hadoopでソートしてみた. わざわざHadoopなど使わなくても普通にソートすればいいのだが,モノは試しということで. 入力データ Web上のデータをひたすらscrapeしてきたものをTSVにした.ざっと表示させると…

MacでHadoopスタンドアローンモード

HadoopのMapperやReducerを自分で書こうとすると,ローカルマシン上でHadoopを動かしたくなります. Macなら最初からJVMも入ってるし,ソースを持ってくればそのままで動くか,と思ったらそうでもなかった. 何はともあれダウンロード Mac用のパッケージはな…

WordCountやっと動いた

Hadoop Tutorialでよく見かけるWordCountを試してみました. なかなか動かず,あれこれ修正してようやく何とかなりました. Hadoopのバージョンによって,継承すべきクラスとか引数の型が異なるみたい. MapperとReducer 今回は,バージョン0.20.2+737で動作…

Hadoop Streamingのハマりどころ3つ

Hadoop Streamingでもつまづいては修正し,再びつまづいては修正しの繰り返しでした. 今回も,これ以上犠牲者を増やさないためのメモ3つ. Streaming Command Failed!で落ちる まず,Mapper,Reducerは絶対パスで指定する必要があります. # ×:相対パスだと…

RubyでHadoop Streaming

Hadoop Streamingは標準入出力さえ扱えれば,他の言語でもMapReduceが実現できるようにする仕組みです. じゃあ,実際どうなの?ということで,Rubyを例にPi計算をしてみました. 事前準備 と言ってもHadoopがインストールされていれば,Rubyをインストールす…

Hadoop datanodeの複製はvirt-cloneしただけじゃ動かなかった

ちょっと前にkvmclone.plのエントリを書きました. そこでも触れたのですが,HadoopのdatanodeにはstorageIDというものがあり,ノード固有の値が割り当てられています. このstorageIDが重複すると,重複した片方が停止するようになっており,単に複製しても…

はてなブックマーク年間ランキングトップ100 2010 (コンピュータ・IT編)

ネタとして作ってみた.エンジニアならこのランキングの方がピンとくるかも. scrapeして,sortして...結構大変だった. Windows XPの起動時の長いディスクアクセスは、Windows Updateの履歴が溜まりすぎていたせいだった?! - 全力HP 3650users 使いやすく…

Hadoop完全分散モードが動かなくてハマったところ4選

前エントリの完全分散モードでの動作ですが,実はすんなりとは行かず,何日も苦しみました. ググっては試し,ググっては試し,の繰り返し... やっとまともに動くようになり,振り返ってみるとショボいミスもありましたが, これ以上犠牲者が増えないように…

完全分散モードでHadoopインストール

疑似分散モードでインストールができたら,次は完全分散モードです. インストール方法をさらっと書いていますが,ここはかなりハマりました. 下記の2つのノードで構築することとします. Master node (1台のみ必要) namenode jobtracker Worker node (何台…

疑似分散モードでHadoopインストール

さて,KVMを入れ終わりました.次は仮想マシン上でHadoopを動かします. ひとまず,お手軽に試せる疑似分散モードでインストールしてみましょう. 事前準備 必須ではないのですが,時刻がずれると色々と気持ち悪いので,NTPを有効にしておきます. cp /etc/n…

KVM仮想マシンの時刻が32402秒もずれて困った

KVM超便利だな〜,と使っていたけど時計がずれまくってしまって,どうもおかしい. ntpで同期させても再起動すると元に戻ってしまう. これはどういうことだ,とググったら,設定変えなきゃダメじゃんの巻. ntpdate ntpdateを叩くとこんな感じになります. …

ロンドン交響楽団2010年日本公演

ロイヤル・コンセルトヘボウに続いて,ロンドン交響楽団が来日しました. 今年はマーラー作品を演奏し,しかも5番と9番をやるということで,調子に乗って2回も行ってしまったとさ. ロンドン交響楽団 イギリスのオーケストラと言えば,ロンドン交響楽団.CD…

kvmclone.plで楽々仮想マシン作成

KVMにおけるクローン作成 (virt-clone) KVMでは,virt-cloneコマンドでクローンを作成することができます. 例えばこんなふうに. virt-clone --prompt --original OriginalVM --name CloneVM --file path/to/clone.img --nonsparse しかし,このコマンドは…

CentOSにKVM導入

仮想マシンで最近流行りのKVM.今まではXenばかり使っていて,まあ困ってないし別にいいか,と思っていたのだが, せっかくOSを入れ直したので,KVMにしてみた.インストール自体は,慣れればそんなに難しくない. 事前確認 intel VTかAMD-Vがサポートされて…

CentOSでVNCServer

これまでDebianばっかり使ってきたけど,ひょんなことからCentOSを使うことになった. しかもCentOS上でKVMを使うので,コンソール表示のためにGUIも利用したい状況に. しかし,インストール先のマシン(hp ML115)にモニターなんてついてないのであった. だ…

ロイヤル・コンセルトヘボウ管弦楽団2010年日本公演

やっと,海外オケ到来の季節がやってきました. 春以来全然コンサートがなく,秋に集中していたので待ち望んでいたのでした. ロイヤル・コンセルトヘボウ管弦楽団 あまりに有名なので,あれこれ説明する必要もないでしょう. 自分の中では,眠りの森の美女…

楽天テクノロジーカンファレンス2010続き

基調講演のあと「CassandraとHadoopによるNoSQL協奏曲」にも参加したので,自分的に重要そうと思ったこと をメモっておく. Cassandra豆知識 書き込みは元々速い よってチューニングは,あんまり気にしなくてもOK.コミットログに記録してから,非同期でSSta…

楽天テクノロジーカンファレンス2010

初参加 品川シーサイド駅にも初めて行ったが,大崎で乗り換えに失敗してしまった.約束の時間に遅れてしまい,かなり焦る. cooseeごめんよ〜. 会場はスタッフさんの応対が若干慣れてない&それでもやれることは一生懸命やろう,という気持ちが表れていて,…

パラメータの組み合わせを作りたい時にはArray#productを使う

Cassandraのパラメータを色々変えながらデータを取りたいと思った. が,それ以前にパラメータの組み合わせを作るだけで四苦八苦してしまったので,ここに書いておこうと思う. Array#product RubyにはArray#productが用意されていて,Arrayでパラメータ達を…

Cassandraのgetを計測しなおした

前回計測した結果では,始めの箇所(データサイズが小さなところ)が何故か遅くなってしまっていた. 計り方に問題があるような気がするので,ちょっとやり方を変えてみる. 計測方法をちょっと変える 安直だけど,データサイズの増やし方を逆にしてみる.具体…

Cassandraのgetを計測する

insertを計るならgetも計るべし,ということでgetも計測してみた. 計測方法 まずはデータの大きさを1バイトから10kバイトまで変えながらinsert. キーを一意にするために,データサイズと繰り返し回数を使って生成したMD5をキーに使っています. require 'd…

Cassandraのinsertを計測する

データの大きさを変えるとinsertが遅くなってしまったので,もうちょっと細かく計測してみることにした. 計測方法 データの大きさを1バイトから10kバイトまで変えながらinsert. それぞれ1000回繰り返した時の時間を計測. require 'benchmark' require 'ru…

Ruby経由でCassandra 4回目

今度はinsert時に書き込むデータの大きさを変えてみる. 1バイトから10000バイトまでグルグル回す やってる中身は前回と同じです. require 'benchmark' require 'rubygems' require 'cassandra' client = Cassandra.new('MyKeyspace', 'server:9160') [1, 1…

Ruby経由でCassandra 3回目

読み書きができるようになったので,軽くベンチマークしてみる. insert, get and count_columns 簡単に計れそうなものを3つ.それぞれ10000回繰り返す. require 'benchmark' require 'rubygems' require 'cassandra' client = Cassandra.new('MyKeyspace',…

Ruby経由でCassandra 2回目

あー,油断してたら1ヶ月以上経っちゃった... 前回はrequireするところまでだったので,今度はごく普通に使ってみる. 基本的な操作 クライアントの生成 # キースペース名とサーバ名は適宜編集しましょう client = Cassandra.new('MyKeyspace', 'server:9160…