第16回オープンソーステクノロジー勉強会に行ってきました。

MapReduceの話を伺いにGREE Labsにお邪魔してきました

以下メモ書き

Preferred Infrastructure 太田一樹さん http://kzk9.net/ http://preferred.jp/
Sedue 分散検索エンジン

Hadoop + EC2 の分散検索
SOSP学会
200億ページ 20kb = 400TB がインターネットの全体 読み込みは100日 400GBが1000台あれば良い
プロセス起動 プロセス監視 デバッグ 最適化 
MPI = Massage Passing Interface が並列プログラミングのライブラリ 
HPCはチェックポイントを持って、同期点を確保する
Framework側で持つ
1jobあたり5プロセスが死ぬ
用途
Grep
Sort
Log analysis
Web Graph generation
Machine Learning
Inverted index Construction
Machine Learning
 K-means

Apache ツール出てきた
hadoop Distributed File System
HDFS = Master/Slave Architecture
64MB単位に分割 
 Namenode + Datanode (NamenodeはentryでSPOF)
Master = Jobtracker 事業のタスク分割 全てのTracktrackerへ定期pingを打つ
Slave = Tasktracker

Hadoop streaming は 多言語interface : Rubyからでも呼べる 

Yahoo japan は 2000ノードまでしよう
SIGIR(IR学会)
コミッターのほとんどはYahooかFacebook
はてぶもHadoop
FacebookがhiveというHadoopのラッパーを作った
GFSはAppendできるがHadoopはまだできていない
Hadoopでもlog rotation みたいな仕掛けは使える。
読み込み元のデータとの同期は、できない Latencyは、発生しうる
Javaのthread にはHadoopは勝てない、tasktrackerのlaunchとか、相当overheadがかかる。

大倉努さん http://ohkura.com  blogeye
 Hadoop + EC2
 著者推定
 データマイニングアルゴリズム
 1000万blogのうち500万ブログ
 300GBのデータマイニング
 EC2 = 10cent/hour 1時間10円
 Hadoopは後からnode追加、削除可能 障害マシンの除去可能
 S3 + mySQL使用
 クローラーは落ちやすい
 MySQLにデータを置いて重複検知 Hadoopは小さいファイルが苦手
 Index = MySQL + Senna
著者属性推定ジョブ
記事の合体
MappertがReducerに送るとき、途中で共有ファイルシステム上に置かれて、そのファイル名が渡される。
ReducerはMasterに聞いて必要なデータが揃っていたらHTTpで取りに行く
機械学習の最初の入力データは何?
ヤスタケさん
300GくらいならS3でなくEC2で間に合うかも LOCALのデータは EC2の上のデータは消える
アマゾンに1年で40万くらい払った
CRAWLのジョブはつまらない 2〜3台で間に合う
EC2の仮想マシンは、大中小とあるがどれか、1年前は1種類しかない dual coreはあまりメリットない
一台のマシンにMapperとReducerと両方入れて置いた方が良い、同じマシン内部での処理は有利
Hadoopの駄目な点、あまり再起動はない、MasterでCrawlしていたから
優先度設定が最近可能になった data lost はない。
Hadoopじゃなくては駄目な理由は?
計算力のニーズの変動が大きいのでAmazonを使った