2018年9月26日水曜日

apache spark for raspberry pi

参照先 https://qiita.com/tMatSuZ/items/ab33f5bc1736ca79d388


SPARKをインストールしてみる。

◻️javaをインストールする(master/slave)


◻️sparkをダウンロードする。(master/slave)
wget http://ftp.jaist.ac.jp/pub/apache/spark/spark-2.3.1/spark-2.3.1-bin-hadoop2.7.tgz

◻️解凍する(master)
tar xzvf spark-2.3.1-bin-hadoop2.7.tgz


◻️認証鍵の作成を行う(master)
$ ssh-keygen
$ ssh-copy-id pi@rasp-sl01
$ ssh-copy-id pi@rasp-sl02


◻️conf/slave設定(master)
cd spark-2.3.1-bin-hadoop2.7
cp conf/slaves.template conf/slaves
vi conf/slaves


◻️conf/spark-env.shの設定(master)
cp conf/spark-env.sh.template conf/spark-env.sh
vi conf/spark-env.sh

◻️slavesparkのフォルダーをコピーする(master ->slave)
sudo rsync -avxP ~/spark-2.3.1-bin-hadoop2.7 pi@192.168.13.2:/home/pi
sudo rsync -avxP ~/spark-2.3.1-bin-hadoop2.7 pi@192.168.13.4:/home/pi


◻️conf/slave設定(slave)
cd spark-2.3.1-bin-hadoop2.7
vi conf/slaves

◻️conf/spark-env.shの設定(slave)
cd spark-2.3.1-bin-hadoop2.7
vi conf/spark-env.sh


◻️sparkClusterの実行(master)
./sbin/start-all.sh

http://192.168.13.3:8080sparkの管理画面が表示されているはず。

◻️sparkの実行
cd /spark-2.3.1-bin-hadoop2.7/bin
./spark-submit --class org.apache.spark.examples.GroupByTest --master spark://192.168.13.3:7077 examples/jars/spark-examples_2.11-2.3.1.jar


◻️以下のエラーが出てしまうので要調査(slave)

2018-09-26 12:28:27 WARN  NativeCodeLoader:62 - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Warning: Local jar /home/pi/spark-2.3.1-bin-hadoop2.7/bin/examples/jars/spark-examples_2.11-2.3.1.jar does not exist, skipping.
java.lang.ClassNotFoundException: org.apache.spark.examples.GroupByTest
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at org.apache.spark.util.Utils$.classForName(Utils.scala:238)
at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:851)
at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:198)
at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:228)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:137)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
2018-09-26 12:28:27 INFO  ShutdownHookManager:54 - Shutdown hook called
2018-09-26 12:28:27 INFO  ShutdownHookManager:54 - Deleting directory /tmp/spark-a833aa5e-9d04-4409-a504-bde03594415b


◻️各slaveにて実行を行う

./bin/spark-shell --master spark://192.168.13.3:7077

◻️ブラウザにて、http://masterIP:7077を入力してみる
Running Applications に表示されていることが確認できる。





◻️sparkClusterの再実行(master)
./sbin/start-all.sh


pi@rasp-master:~/spark-2.3.1-bin-hadoop2.7/sbin $ ./start-all.sh 
org.apache.spark.deploy.master.Master running as process 10560.  Stop it first.
pi@localhost's password: rasp-sl01: starting org.apache.spark.deploy.worker.Worker, logging to /home/pi/spark-2.3.1-bin-hadoop2.7/logs/spark-pi-org.apache.spark.deploy.worker.Worker-1-rasp-sl01.out
rasp-sl02: starting org.apache.spark.deploy.worker.Worker, logging to /home/pi/spark-2.3.1-bin-hadoop2.7/logs/spark-pi-org.apache.spark.deploy.worker.Worker-1-rasp-sl02.out


◻️再び、ブラウザにて、http://masterIP:7077を入力してみる

Workersに各slaveが追加されていることが確認できた。


◻️調査中
spark shell実行後、エラーが出ている状況。
参考にできそうなページ。
 ->多分、実行権限の問題かも

https://qiita.com/wag/items/e20e8a049e49f1e16f91

0 件のコメント:

コメントを投稿

php log(ECS ログ出力)

# PHPエラーログの設定 ENV PHP_INI_DIR /usr/local/etc/php RUN { \ echo 'log_errors = On' ; \ echo 'error_log = /proc/self/...