RaspberryPiにHadoopをインストールする

クラウド環境を使うことでHadoopを始めとする分散環境を用意することは簡単だが、内部でどのような処理がおこなわれているか疑問に思った。 今回はHadoopをRaspberryPiにセットアップし、スタンドアローン環境が動作するところまで確認する。

環境

RaspberryPi 3B+

OS:Ubuntu 18.04

セットアップ

まずはupdateをおこなう。

sudo apt-get update
sudo apt-get upgrade

Javaのインストール

Hadoopを動かすためにはJavaが必要なため、openjdkをインストールする。

sudo apt install openjdk-11-jre-headless

Hadoopのセットアップ

Hadoopwgetコマンドでダウンロードする。 2019/07/28時点で最新版は3.1.2である。

wget http://ftp.yz.yamagata-u.ac.jp/pub/network/apache/hadoop/common/hadoop-3.1.2/hadoop-3.1.2.tar.gz
tar xzvf hadoop-3.1.2.tar.gz
mv hadoop-3.1.2 hadoop

hadoop-env.shを編集する。JAVA_HOMEの項目にインストールしたJavaディレクトリを指定する。 vim hadoop-env.sh

JAVA_HOME=/usr/lib/jvm/java-11-openjdk-arm64

確認

hadoopを実行するとUsageが表示される。 Usageが表示されないときはhadoop-env.shのJAVA_HOMEが正しく指定されていないので確認する。

hadoop/bin/hadoop

Usage: hadoop [OPTIONS] SUBCOMMAND [SUBCOMMAND OPTIONS]

(省略)

    Daemon Commands:

kms           run KMS, the Key Management Server

SUBCOMMAND may print help when invoked w/o parameters or with -h.

テスト実行

inputディレクトリを作成し、hadoop-mapreduce-examplesのwordcountを実行する。 結果が帰ってくれば成功。

mkdir hadoop/input
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.2.jar wordcount input output

まとめ

今回はHadoopをRaspberryPiにセットアップし、スタンドアローン環境が動作するところまで確認した。 クラウドを利用しブラウザでクリックするだけで終わる処理を体験し、今回のスタンドアローンのセットアップ以外にも分散環境のセットアップが入ることを考えると便利な時代になっていると感じる。