AWS EMR上でGiraphを動かそう

Giraphとは


2011.06.29. Giraph - Hadoop Summit 2011

※この記事では、GiraphをEMR上で動かす最小限の設定のみを記述します。

Version

ローカル設定

mvnがなかったら入れる。versionが表示されれば良し。

$ mvn -version
Apache Maven 3.2.2
Maven home: /path/to/maven
Java version: 1.6.0_65, vendor: Apple Inc.
Java home: /path/to/java
Default locale: ja_JP, platform encoding: SJIS
OS name: "mac os x", version: "10.8.5", arch: "x86_64", family: "mac"

ビルド

http://giraph.apache.org/Apache Download Mirrors

Giraph1.0を手に入れ解凍。Giraphディレクトリに移動。ビルド。

mvn package -P hadoop_1.0 -Dhadoop.version=1.0.3 -DskipTests

AWSの設定

  • S3でログフォルダを作成する
  • EC2でkeypairを作成する

EMRの設定

Create Cluster

  • Cluster Configuration [S3ログフォルダを指定]
  • Software Configuration [AMI version 2.4.7を選択] (Hadoop 1.0.3であれば良いはず)
  • Hardware Configuration [Master,Core m1.small : 一台] (例)
  • Security and Access [EC2 key pairで先に作ったkeyparを選択] (SSHするのに必要)
  • IAM Roles [EC2 instance profile : Proceed without roleを選択]
  • Bootstrap Actions [Configure Hadoop : Configure and Add]
--mapred-key-value mapreduce.job.counters.limit=1200 
--mapred-key-value mapred.tasktracker.map.tasks.maximum=8
--mapred-key-value mapred.map.tasks=4
  • 他はいじらずにCreate

Master public DNSをメモする

SSH

ビルドしたGiraphを圧縮してSCP(本当はS3にあげていたものをSSHして解凍すべきっぽい)

$scp -i yourkeypair.pem giraph.tar.gz hadoop@[Master public DNS]:

SSHしてPageRankBenchmarkを実行

$ ssh hadoop@[Master public DNS] -i yourkeypair.pem 
Welcome to Amazon Elastic MapReduce running Hadoop and Debian/Squeeze.
ip-:~ $ tar zxvf giraph.tar.gz 
ip-:~ $ hadoop jar giraph/giraph-examples/target/giraph-examples-1.0.0-for-hadoop-1.0.3-jar-with-dependencies.jar org.apache.giraph.benchmark.PageRankBenchmark -e 1 -s 3 -v -V 50 -w 1 


近々ShortestPathのサンプルでどれだけスケールするか試してみる。