Spark環境搭建(下)——Spark安裝


 1. 下載Spark

1.1 官網下載Spark

http://spark.apache.org/downloads.html

打開上述鏈接,進入到下圖,點擊紅框下載Spark-2.2.0-bin-hadoop2.7.tgz,如下圖所示:

2. 安裝Spark

Spark安裝,分為:

  • 准備,包括上傳到主節點,解壓縮並遷移到/opt/app/目錄;
  • Spark配置集群,配置/etc/profile、conf/slaves以及confg/spark-env.sh,共3個文件,配置完成需要向集群其他機器節點分發spark程序,
  • 直接啟動驗證,通過jps和宿主機瀏覽器驗證
  • 啟動spark-shell客戶端,通過宿主機瀏覽器驗證

2.1 上傳並解壓Spark安裝包

1. 把spark-2.2.0-bin-hadoop2.7.tgz通過Xftp工具上傳到主節點的/opt/uploads目錄下

2. 在主節點上解壓縮

# cd /opt/uploads/ 

# tar -zxvf spark-2.2.0-bin-hadoop2.7.tgz

 

有時解壓出來的文件夾,使用命令 ll 查看用戶和用戶組有可能不是hadoop時,即上圖綠框顯示,則需要使用如下命令更換為hadoop用戶和用戶組:

# sudo chown hadoop:hadoop spark-2.2.0-bin-hadoop2.7

3.  把spark-2.2.0-bin-hadoop2.7移到/opt/app/目錄下

# mv spark-2.2.0-bin-hadoop2.7 /opt/app/

# cd  /opt/app && ll

2.2 配置文件與分發程序

2.2.1 配置/etc/profile

1. 以hadoop用戶打開配置文件/etc/profile

# sudo vi /etc/profile

2. 定義SPARK_HOME並把spark路徑加入到PATH參數中

export SPARK_HOME=/opt/app/spark-2.2.0-bin-hadoop2.7

export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

2.2.2 配置conf/slaves

 1. 打開配置文件conf/slaves,默認情況下沒有slaves,需要使用cp命令復制slaves.template

# cd /opt/app/spark-2.2.0-bin-hadoop2.7/conf    如果不在/opt/app/spark-2.2.0-bin-hadoop2.7目錄下,則使用該命令

# cp slaves.template slaves

# sudo vi slaves

2. 加入slaves配置節點

hadoop1

hadoop2

hadoop3

2.2.3 配置conf/spark-env.sh

1. 以hadoop用戶,使用如下命令,打開配置文件spark-env.sh

# cd /opt/app/spark-2.2.0-bin-hadoop2.7   如果不在/opt/app/spark-2.2.0-bin-hadoop2.7目錄下,則使用該命令

# cp spark-env.sh.template spark-env.sh 

# vi spark-env.sh 

2. 加入如下環境配置內容,設置hadoop1為Master節點:

export JAVA_HOME=/usr/lib/java/jdk1.8.0_151

export SPARK_MASTER_IP=hadoop1

export SPARK_MASTER_PORT=7077

export SPARK_WORKER_CORES=1

export SPARK_WORKER_INSTANCES=1

export SPARK_WORKER_MEMORY=900M 

【注意】:SPARK_WORKER_MEMORY為計算時使用的內存,設置的值越低,計算越慢,反之亦然。

 2.2.4 向各節點分發Spark程序

1. 進入hadoop1機器/opt/app/目錄,使用如下命令把spark文件夾復制到hadoop2和hadoop3機器

# cd /opt/app

# scp -r spark-2.2.0-bin-hadoop2.7 hadoop@hadoop2:/opt/app/

# scp -r spark-2.2.0-bin-hadoop2.7 hadoop@hadoop3:/opt/app/

2. 在從節點查看是否復制成功

2.3 啟動Spark

1. 啟動Spark

# cd /opt/app/spark-2.2.0-bin-hadoop2.7/sbin

# ./start-all.sh

 

2. 驗證啟動

此時在hadoop1上面運行的進程有:Worker和Master

此時在hadoop2和hadoop3上面運行的進程有Worker

通過netstat -nlt 命令查看hadoop1節點網絡情況

在瀏覽器中輸入http://hadoop1:8080,即可以進入Spark集群狀態頁面(windows防火牆打開,會導致直接訪問有問題,看下述步驟)

【注意】:在宿主機瀏覽器上,直接訪問(192.168.187.201)hadoop1:8080,會報錯(有很大可能是windows防火牆屏蔽了端口,可以通過關閉windows防火牆解決不能直接訪問的問題)。下面是通過宿主機端口轉移來達到間接訪問的目的:要想通過宿主機瀏覽器,訪問(192.168.187.201)hadoop1:8080,需要把宿主機端口與訪問的虛擬機端口進行關聯配置,通過訪問宿主機端口來達到訪問虛擬機端口的目的,如圖所示:

首先,點擊VMware的菜單欄編輯里面的虛擬網絡編輯器:

 

然后,進行下述操作:

接着跳轉到映射傳入端口窗口,如下:

最后完成,如下。

 

驗證,在宿主機瀏覽器上輸入localhost:8080,映射到hadoop1:8080,即可訪問Spark集群狀態

2.4 驗證客戶端連接

1. 進入hadoop1節點,進入spark的bin目錄,使用spark-shell連接集群

# cd /opt/app/spark-2.2.0-bin-hadoop2.7/bin

# spark-shell --master spark://hadoop1:7077 --executor-memory 600m

在命令中只指定了內存大小並沒有指定核數,所以該客戶端將占用該集群所有核並在每個節點分配600M內存

2. 查看Spark集群狀態,通過上一步驟【注意】的IP端口映射設置,在宿主機瀏覽器輸入localhost:8080,可以會直接映射到(192.168.187.201)hadoop1:8080上,如圖:

 

3. Spark測試

3.1 使用Spark-shell測試

3.2 使用Spark-submit測試


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM