Hadoop環境できた -2回目の挑戦- ラズパイ4で
前提は特にないです.ラズパイのシェルに入れてsudoが使えれば,Hadoopをスタンドアロン形式ではありますが動かせます
失敗記事はこちら
ハード・ソフトウェア環境
ハード
- マシン:Raspberry Pi 4 Model B Rev 1.4
- debian version:10.4
- カーネル:Linux raspberrypi 4.19.118-v7l+ #1311 SMP Mon Apr 27 14:26:42 BST 2020 armv7l GNU/Linux
- memory:8GB
ソフト
- Java:openjdk version "1.8.0_212"
- Hadoop:3.2.2
失敗パターン
AWS EC2に作ろうとしたときもこれに気付いてなかった.Hadoopページのリンクアドレスをコピーすると,末尾がtar.gzになっているから,これをwgetすればtar.gzファイルが手に入ると思っていた.実際これはtar形式でもgz形式でもない.それはなぜかというと,リンクの飛ぶ先にまだページがある.つまりHTMLをwgetしていたのです.
失敗パターン検証
hadoop@raspberrypi:~ $ wget https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.2.2/hadoop-3.2.2.tar.gz
--2021-01-25 19:51:13-- https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.2.2/hadoop-3.2.2.tar.gz
www.apache.org (www.apache.org) をDNSに問いあわせています... 2a01:4f9:2a:185f::2, 2a01:4f9:2a:1a61::2, 95.216.24.32, ...
www.apache.org (www.apache.org)|2a01:4f9:2a:185f::2|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 特定できません [text/html]
`hadoop-3.2.2.tar.gz' に保存中
hadoop-3.2.2.tar.gz [ <=> ] 29.76K 102KB/s 時間 0.3s
2021-01-25 19:51:15 (102 KB/s) - `hadoop-3.2.2.tar.gz' へ保存終了 [30474]
tarダメ
hadoop@raspberrypi:~ $ tar -xzvf hadoop-3.2.2.tar.gz
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
ダウンロードしたファイルの形式はというと(fileコマンドで確認できます)
hadoop@raspberrypi:~ $ file hadoop-3.2.2.tar.gz
hadoop-3.2.2.tar.gz: HTML document, ASCII text, with very long lines
どうして,,,(自分のせい)
参考サイト
tomcat関連の記事でしたが,見つかりました
成功パターン
ここの,downloads~からダウンロードできます
hadoop@raspberrypi:~ $ wget https://downloads.apache.org/hadoop/common/hadoop-3.2.2/hadoop-3.2.2.tar.gz
--2021-01-25 20:01:57-- https://downloads.apache.org/hadoop/common/hadoop-3.2.2/hadoop-3.2.2.tar.gz
downloads.apache.org (downloads.apache.org) をDNSに問いあわせています... 2a01:4f8:10a:201a::2, 88.99.95.219
downloads.apache.org (downloads.apache.org)|2a01:4f8:10a:201a::2|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 395448622 (377M) [application/x-gzip]
`hadoop-3.2.2.tar.gz' に保存中
hadoop-3.2.2.tar.gz 100%[=================================================>] 377.13M 3.97MB/s 時間 65s
2021-01-25 20:03:04 (5.79 MB/s) - `hadoop-3.2.2.tar.gz' へ保存完了 [395448622/395448622]
ダウンロード量が段違い,,,
念のためfileコマンドで確認すると,
hadoop@raspberrypi:~ $ file hadoop-3.2.2.tar.gz
hadoop-3.2.2.tar.gz: gzip compressed data, last modified: Sun Jan 3 10:46:06 2021, from Unix, original size 957777920
解凍
下記コマンドで解凍できます
hadoop@raspberrypi:~ $ tar -xzvf hadoop-3.2.2.tar.gz
めっちゃログ出ます(Javaって感じっすね)
javaのインストール
hadoop@raspberrypi:~ $ sudo apt-get install openjdk-8-jdk
いろいろでます
次にjavaの場所を確認します
hadoop@raspberrypi:~ $ sudo update-alternatives --config java
リンクグループ java に 1 つの alternative のみがあります (/usr/bin/java が提供): /usr/lib/jvm/java-8-openjdk-armhf/jre/bin/java
設定は行いません。
JAVA_HOMEの設定
hadoop@raspberrypi:~ $ sudo vi ~/.bashrc
hadoop@raspberrypi:~ $ sudo vi ~/.bashrc
下記を追記します.
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-armhf/jre/
export PATH=$PATH:$JAVA_HOME/bin
~/.bashrcは起動時に読み込まれるファイルなので,手動で読み込むかrebootをしましょう
ここでは手動で読み込みました
hadoop@raspberrypi:~ $ source ~/.bashrc
疑似分散モード
下記方法は疑似分散モードという,デバッグ用の方法らしいです.Javaプロセスはひとつしか立たないそうです
準備
hadoop@raspberrypi:~ $ mkdir input
hadoop@raspberrypi:~ $ cp hadoop-3.2.2/etc/hadoop/*.xml input
hadoop@raspberrypi:~ $ cd hadoop-3.2.2/
シングルノード実行
inputの中のxml全部に対して,grepコマンドを処理するコマンド
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.2.jar grep input output 'dfs[a-z.]+'
実行結果
inputの中のxml全部に対して,grepコマンドを処理するコマンド
hadoop@raspberrypi:~/hadoop-3.2.2 cat output/*
1 dfsadmin
hadoop@raspberrypi:~/hadoop-3.2.2 $ ls output/*
output/_SUCCESS output/part-r-00000
次回は
疑似分散モードと,完全分散モードに触れていこうと思います.おわり
Discussion