1. 程式人生 > >docker中spark+scala安裝配置

docker中spark+scala安裝配置

一、scala安裝
首先下載scala壓縮包

wget https://downloads.lightbend.com/scala/2.11.7/scala-2.11.7.tgz

解壓

tar -zxvf scala-2.11.7.tgz

移動目錄

mv scala-2.11.7 /usr/local/

改名

cd /usr/local/
mv scala-2.11.7 scala

配置環境變數

vim /etc/profile
export SCALA_HOME=/usr/local/scala
export PATH=$PATH:$SCALA_HOME/bin

docker中spark+scala安裝配置

環境變數生效

source /etc/profile

檢視scala版本

scala -version

分發scala到其他主機

scp -r /usr/local/scala/ [email protected]:/usr/local/
scp -r /usr/local/scala/ [email protected]:/usr/local/

二、spark安裝
複製spark壓縮包 到容器中

docker cp /root/spark-2.1.2-bin-hadoop2.4.tgz b0c77:/

docker中spark+scala安裝配置

檢視並解壓

docker中spark+scala安裝配置
在profile中新增spark環境變數
docker中spark+scala安裝配置


生效環境變數

source /etc/profile

編輯spark-env.sh

vim /usr/local/spark/conf/spark-env.sh

docker中spark+scala安裝配置

  • JAVA_HOME:Java安裝目錄
  • SCALA_HOME:Scala安裝目錄
  • HADOOP_HOME:hadoop安裝目錄
  • HADOOP_CONF_DIR:hadoop叢集的配置檔案的目錄
  • SPARK_MASTER_IP:spark叢集的Master節點的ip地址
  • SPARK_WORKER_MEMORY:每個worker節點能夠最大分配給exectors的記憶體大小
  • SPARK_WORKER_CORES:每個worker節點所佔有的CPU核數目
  • SPARK_WORKER_INSTANCES:每臺機器上開啟的worker節點的數目
    修改slaves檔案

cp slaves.template slaves

docker中spark+scala安裝配置

vi conf/slaves

docker中spark+scala安裝配置

scp -r /usr/local/spark/ Master:/usr/local

docker中spark+scala安裝配置

scp -r /usr/local/spark/ Slave2:/usr/local

docker中spark+scala安裝配置
同時其他兩個節點也要修改 /etc/profile
啟動spark

./sbin/start-all.sh

docker中spark+scala安裝配置
成功開啟之後使用jps在Master、Slave1和Slave2節點上分別可以看到新開啟的Master和Worker程序。
docker中spark+scala安裝配置
docker中spark+scala安裝配置
docker中spark+scala安裝配置
成功開啟Spark叢集之後可以進入Spark的WebUI介面,可以通過
SparkMaster_IP:8080
埠對映:

iptables -t nat -A DOCKER -p tcp --dport 8080 -j DNAT --to-destination 172.17.0.2:8080

docker中spark+scala安裝配置

此時我們可以通過對映到宿主機的埠訪問,可見有兩個正在執行的Worker節點。
docker中spark+scala安裝配置
開啟Spark-shell
使用

spark-shell

docker中spark+scala安裝配置

推出spark-shell的命令是“:quit”
因為shell在執行,我們也可以通過
SparkMaster_IP:4040(172.17.0.2:4040)

訪問WebUI檢視當前執行的任務。
先進行埠對映:

iptables -t nat -A DOCKER -p tcp --dport 4040 -j DNAT --to-destination 172.17.0.2:4040

docker中spark+scala安裝配置
docker中spark+scala安裝配置