第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を使った