日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux搭建spark集群,详解Spark+Zookeeper搭建高可用Spark集群

發布時間:2023/12/10 linux 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux搭建spark集群,详解Spark+Zookeeper搭建高可用Spark集群 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Apache Spark是專為大規模數據處理而設計的快速通用的計算引擎;現在形成一個高速發展應用廣泛的生態系統。

Spark三種分布式部署方式比較

目前Apache Spark支持三種分布式部署方式,分別是standalone、spark on mesos和 spark on YARN,詳情參考。

Spark standalone模式分布式部署

環境介紹

主機名 應用

tvm11 zookeeper

tvm12 zookeeper

tvm13 zookeeper、spark(master)、spark(slave)、Scala

tvm14 spark(backup)、spark(slave)、Scala

tvm15 spark(slave)、Scala

說明

依賴scala:

Note that support for Java 7, Python 2.6 and old Hadoop versions before 2.6.5 were removed as of Spark 2.2.0. Support for Scala 2.10 was removed as of 2.3.0. Support for Scala 2.11 is deprecated as of Spark 2.4.1 and will be removed in Spark 3.0.

zookeeper: Master結點存在單點故障,所以要借助zookeeper,至少啟動兩臺Master結點來實現高可用,配置方案比較簡單。

安裝scala

由上面的說明可知,spark對scala版本依賴較為嚴格,spark-2.4.5依賴scala-2.12.x,所以首先要安裝scala-2.12.x,在此選用scala-2.12.10。使用二進制安裝:

$ wget https://downloads.lightbend.com/scala/2.12.10/scala-2.12.10.tgz

$ tar zxvf scala-2.12.10.tgz -C /path/to/scala_install_dir

如果系統環境也要使用相同版本的scala,可以將其加入到用戶環境變量(.bashrc或.bash_profile)。

安裝spark

打通三臺spark機器的work用戶ssh通道;

現在安裝包到master機器:tvm13;

注意提示信息,及Hadoop版本(與已有環境匹配,如果不匹配則選非預編譯的版本自己編譯)。

解壓到安裝目錄即可。

配置spark

spark服務配置文件主要有兩個:spark-env.sh和slaves。

spark-evn.sh:配置spark運行相關環境變量

slaves:指定worker服務器

配置spark-env.sh:cp spark-env.sh.template spark-env.sh

export JAVA_HOME=/data/template/j/java/jdk1.8.0_201

export SCALA_HOME=/data/template/s/scala/scala-2.12.10

export SPARK_WORKER_MEMORY=2048m

export SPARK_WORKER_CORES=2

export SPARK_WORKER_INSTANCES=2

export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=tvm11:2181,tvm12:2181,tvm13:2181 -Dspark.deploy.zookeeper.dir=/data/template/s/spark"

# 關于 SPARK_DAEMON_JAVA_OPTS 參數含義:

# -Dspark.deploy.recoverMode=ZOOKEEPER #代表發生故障使用zookeeper服務

# -Dspark.depoly.zookeeper.url=master.hadoop,slave1.hadoop,slave1.hadoop #主機名的名字

# -Dspark.deploy.zookeeper.dir=/spark #spark要在zookeeper上寫數據時的保存目錄

# 其他參數含義:https://blog.csdn.net/u010199356/article/details/89056304

配置slaves:cp slaves.template slaves

# A Spark Worker will be started on each of the machines listed below.

tvm13

tvm14

tvm15

配置 spark-default.sh ,主要用于spark執行任務(可以命令行動態指定):

# http://spark.apache.org/docs/latest/configuration.html#configuring-logging

# spark-defaults.sh

spark.app.name YunTuSpark

spark.driver.cores 2

spark.driver.memory 2g

spark.master spark://tvm13:7077,tvm14:7077

spark.eventLog.enabled true

spark.eventLog.dir hdfs://cluster01/tmp/event/logs

spark.serializer org.apache.spark.serializer.KryoSerializer

spark.serializer.objectStreamReset 100

spark.executor.logs.rolling.time.interval daily

spark.executor.logs.rolling.maxRetainedFiles 30

spark.ui.enabled true

spark.ui.killEnabled true

spark.ui.liveUpdate.period 100ms

spark.ui.liveUpdate.minFlushPeriod 3s

spark.ui.port 4040

spark.history.ui.port 18080

spark.ui.retainedJobs 100

spark.ui.retainedStages 100

spark.ui.retainedTasks 1000

spark.ui.showConsoleProgress true

spark.worker.ui.retainedExecutors 100

spark.worker.ui.retainedDrivers 100

spark.sql.ui.retainedExecutions 100

spark.streaming.ui.retainedBatches 100

spark.ui.retainedDeadExecutors 100

# spark.executor.extraJavaOptions -XX:+PrintGCDetails -Dkey=value -Dnumbers="one two three"

hdfs資源準備

因為 spark.eventLog.dir 指定為hdfs存儲,所以需要在hdfs預先創建相應的目錄文件:

hdfs dfs -mkdir -p hdfs://cluster01/tmp/event/logs

配置系統環境變量

編輯 ~/.bashrc :

export SPARK_HOME=/data/template/s/spark/spark-2.4.5-bin-hadoop2.7

export PATH=$SPARK_HOME/bin/:$PATH

分發

以上配置完成后,將 /path/to/spark-2.4.5-bin-hadoop2.7 分發至各個slave節點,并配置各個節點的環境變量。

啟動

先在master節點啟動所有服務:./sbin/start-all.sh

然后在backup節點單獨啟動master服務:./sbin/start-master.sh

查看狀態

啟動完成后到web去查看:

master(8081端口):Status: ALIVE

backup(8080端口):Status: STANDBY

完成!

總結

以上是生活随笔為你收集整理的linux搭建spark集群,详解Spark+Zookeeper搭建高可用Spark集群的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。