Spark 3.0.3集群安裝文檔


Spark 3.0.3集群安裝文檔

一、架構說明

Apache Spark 是專為大規模數據處理而設計的快速通用的計算引擎,Spark 是一種與 Hadoop 相似的開源集群計算環境,但是兩者之間還存在一些不同之處,這些有用的不同之處使 Spark 在某些工作負載方面表現得更加優越,換句話說,Spark 啟用了內存分布數據集,除了能夠提供交互式查詢外,它還可以優化迭代工作負載。

Spark 是在 Scala 語言中實現的,它將 Scala 用作其應用程序框架。與 Hadoop 不同,Spark 和 Scala 能夠緊密集成,Spark 啟用了內存分布數據集,除了能夠提供交互式查詢外,它還可以優化迭代工作負載,其中的 Scala 可以像操作本地集合對象一樣輕松地操作分布式數據集。

 

 

 

192.168.10.62  node1

192.168.10.63  node2

192.168.10.64  node3

 

 

 

二、准備工作

2.1、Centos 7.9 安裝 192.168.10.62、63、64

  • 安裝操作系統
  • 配置網絡

    yum search ifconfig

yum -y install net-tools

2.2、Jdk-8u301安裝  

https://www.cnblogs.com/liugh/p/6623530.html

  • Download  jdk-8u301-linux-x64.tar.gz
  • tar -zxvf  jdk-8u301-linux-x64.tar.gz  -C /usr/local/
  • 配置環境變量

      vi /etc/profile

 

 

 

  • 測試

source /etc/profile

Java -version

  • 同步安裝其他幾個服務器

2.3、Scala 下載、安裝

ScalaSDK只需要在Windows安裝即可

官方地址:https://www.scala-lang.org/download/scala2.html
2.4、spark下載

官方地址: http://spark.apache.org/downloads.html

spark-3.0.3-bin-hadoop2.7.tgz

 

注意:Note that, Spark 2.x is pre-built with Scala 2.11 except version 2.4.2, which is pre-built with Scala 2.12. Spark 3.0+ is pre-built with Scala 2.12.

 

2.5、zookeeper3.7

https://zookeeper.apache.org/doc/current/zookeeperStarted.html

http://zookeeper.apache.org/releases.html

三、Spark安裝

3.1、上傳文件

spark-3.0.3-bin-hadoop2.7.tgz

3.2、解壓文件

tar -zxvf spark-3.0.3-bin-hadoop2.7.tgz  -C /export/server/

mv spark-3.0.3-bin-hadoop2.7 spark

3.3、修改權限

chown -R root /export/server/

chgrp -R root /export/server/

3.4、測試

 1、 打開spark交互窗口:       ./spark-shell

 

2、打開 http://spark-maser:4040

3准備文件

vi  /export/server/exdata/words.txt

 

 

 

  1. 執行WordCount
  2.  

     

 

四、配置spark集群

4.1、集群規划

node1:master

ndoe2:worker/slave

node3:worker/slave

4.2、配置slaves/workers

進入配置目錄

cd /export/server/spark/conf

修改配置文件名稱

mv slaves.template slaves

vi slaves

 

 

 

 

 

 

4.3配置master

進入配置目錄

cd /export/server/spark/conf

修改配置文件名稱

mv spark-env.sh.template spark-env.sh

修改配置文件

vi spark-env.sh

 

 

 

 

 

4.4分發

 

將配置好的將 Spark 安裝包分發給集群中其它機器,命令如下:

cd /export/server/

scp -r spark  root@node2:$PWD

scp -r spark  root@node3:$PWD

 

分別修改權限

chown -R root /export/server/

chgrp -R root /export/server/

4.5、測試

 

 

 

Master

   

Slaves

      

 

      

 

 

 

4.6、啟動spark-shell 執行任務

/export/server/spark/bin/spark-shell --master spark://node1:7077

執行任務

 

 

 

 

 

 

 

 

 

4.7、spark管理界面

spark任務web-ui        http://node1:4040/jobs/

master集群管理ui http://node1:8080

master提交任務的通訊端口  spark://node1:7077

 

五、配置Zookeeper集群

說明Node1Node2Node3做服務集群.

首先在node1上進行安裝,隨后分發到node2node3節點上。

5.1、下載 zookeeper

官網下載地址:

http://mirror.bit.edu.cn/apache/zookeeper/

http://zookeeper.apache.org/doc/current/zookeeperStarted.htm

版本 :apache-zookeeper-3.7.0-bin.tar.gz

5.2、安裝JDK

由於zookeeper集群的運行需要Java運行環境,所以需要首先安裝 JDK

5.3、解壓 zookeeper

  在 /export/server 目錄下新建 software 目錄,然后將 zookeeper 壓縮文件上傳到該目錄中,然后通過如下命令解壓。

tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz -C  /export/server

  修改文件名

  mv apache-zookeeper-3.7.0-bin zookeeper

5.4、修改配置文件 zoo.cfg

1zookeeper壓縮文件解壓后,我們進入到 conf 目錄:

2cd /export/server/zookeeper/conf

3cp  zoo_sample.cfg  zoo.cfg

4、修改 zoo.cfg 文件

 

 

 

5.5、創建 myid 文件

上一步 dataDir 指定的目錄下,創建 myid 文件

cd /opt/zookeeper/data

vi myid  

 

 

 

 

5.6、分發

zookeeper的安裝目錄同步到其他兩個機器上

scp -r zookeeper  root@node2:$PWD

scp -r zookeeper  root@node3:$PWD

分別在node2node3上創建按myid文件

5.7、測試

啟動命令:

zkServer.sh start

停止命令:

zkServer.sh stop

重啟命令:

zkServer.sh restart

查看集群節點狀態:

zkServer.sh status

 

  

Node1

 

 

 

Node2

 

 

 

Node3:

 

 

 

 

 

 

六、Zookeeper+Spark實現高可用

5.1、啟動Zookeeper服務

zkServer.sh status

zkServer.sh stop

zkServer.sh start

5.2.修改配置

 

vi /export/server/spark/conf/spark-env.sh

注釋:

#SPARK_MASTER_HOST=node1

增加:

SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=node1:2181,node2:2181,node3:2181 -Dspark.deploy.zookeeper.dir=/export/spark-ha"

 

注意zookeeper安裝完后8080端口就被占用了,可能影響到master-ui的默認端口.

SPARK_MASTER_WEBUI_PORT=8090

 

5.3.分發配置

cd /export/server/spark/conf

scp -r spark-env.sh root@node2:$PWD

scp -r spark-env.sh root@node3:$PWD

 

5.4、測試

1、啟動zk服務

zkServer.sh  status

zkServer.sh  stop

zkServer.sh start

2node1上啟動Spark集群執行

/export/server/spark/sbin/start-all.sh

3node2上再單獨只起個master:

/export/server/spark/sbin/start-master.sh

4查看WebUI

              http://node1:8090

            

 

 

 

           http://node2:8080/

 

 

 

 

 

七、執行任務

測試零個Master節點是否正常,node1上打開命令窗口

 

 

 

 

 

八、參考

7.1spark官網

http://spark.apache.org/

http://spark.apache.org/docs/latest/configuration.html#deploy    

 

7.2、主機到從機的無密互通

https://www.jianshu.com/p/e180371f55a1

https://www.cnblogs.com/webnote/p/5787357.html

 

 

  

7.3zookeeper 配置集群

參考:https://www.jianshu.com/p/de90172ea680

官網:http://zookeeper.apache.org/doc/current/zookeeperStarted.html

https://www.cnblogs.com/ysocean/p/9860529.html#_label4

注意:集群過程中注意myid的配置,mid的路徑必須放在data的路徑下

 

7.4CentOS 7.9安裝配置Chrony同步系統時鍾

參考:https://blog.51cto.com/qiuyue/2344678

 

 

 

 


免責聲明!

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



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