Hadoop

Pre-requirement

下面的例子是用 Ubuntu 12.04 LTS 安裝 MRv1。

安裝

先加入 Cloudera 的 public key:

curl -s http://archive.cloudera.com/cdh4/ubuntu/precise/amd64/cdh/archive.key | sudo apt-key add -

然後建立 /etc/apt/sources.list.d/cloudera.list:

deb [arch=amd64] http://archive.cloudera.com/cdh4/ubuntu/precise/amd64/cdh precise-cdh4 contrib
deb-src http://archive.cloudera.com/cdh4/ubuntu/precise/amd64/cdh precise-cdh4 contrib

接下來更新:

apt-get update

單機版本直接裝 hadoop-0.20-mapreduce 即可:

apt-get install hadoop-0.20-mapreduce

預設應該就是 empty 設定 (standalone mode),可以看 /etc/hadoop/conf 指到哪裡 (可能會指向另外一個 symbolic link),如果不是 empty 的話,可以用下面的方法改成 standalone mode:

update-alternatives --install /etc/hadoop/conf hadoop-conf /etc/hadoop/conf.empty 50
update-alternatives --set hadoop-conf /etc/hadoop/conf.empty

測試

建立 /tmp/i,裡面放一些檔案,然後 /tmp/o 必須不存在,就可以用 standalone mode 執行:

hadoop jar /usr/lib/hadoop-0.20-mapreduce/contrib/streaming/hadoop-streaming-*.jar -input /tmp/i -output /tmp/o -mapper /bin/cat -reducer /bin/cat

在 /tmp/o 裡面應該會看到 part-00000 與 _SUCCESS 兩個檔案,以及對應的 .crc 檔。