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