柚子快報(bào)邀請碼778899分享:大數(shù)據(jù) SPARK運(yùn)行環(huán)境
柚子快報(bào)邀請碼778899分享:大數(shù)據(jù) SPARK運(yùn)行環(huán)境
SPARK運(yùn)行環(huán)境
spark可以運(yùn)行在常見的集群環(huán)境之下
一、LOCAL模式
在不需要任何資源環(huán)境的情況下在本地就可以執(zhí)行spark代碼。所有計(jì)算都在一個線程中,沒有任何并行計(jì)算。
1、解壓文件夾
tar -zxvf spark-3.0.0-bin-hadoop3.2.tgz -C /opt/module
mv spark-3.0.0-bin-hadoop3.2 spark-local
2、啟動
sh /opt/module/spark-local/bin/spark-shell
訪問監(jiān)控頁面
http://ip:4040
3、命令行工具
在data下創(chuàng)建文件 word.txt 并輸入如下內(nèi)容
my name is my name
how do you do
在spark命令行下輸入如下內(nèi)容
sc.textFile("/opt/module/spark-local/data/word.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect
返回結(jié)果如下
res0: Array[(String, Int)] = Array((is,1), (how,1), (my,2), (you,1), (name,2), (do,2))
退出命令行
:quit
提交應(yīng)用
/spark_local/bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master local[2] \
./spark_local/examples/jars/spark-examples_2.12-3.0.0.jar 10
參數(shù)參數(shù)值說明–classorg.apache.spark.examples.SparkPi表示要執(zhí)行程序的主類(自己編寫的應(yīng)用程序)–masterlocal[2]local[2] 部署模式,默認(rèn)為本地模式,數(shù)字表示分配的虛擬 CPU 核數(shù)量spark-examples_2.12-3.0.0.jar運(yùn)行的應(yīng)用類所在的 jar 包(自己編寫的應(yīng)用程序jar包)10表示程序的入口參數(shù),用于設(shè)定當(dāng)前應(yīng)用的任務(wù)數(shù)量
二、STANDALONE模式
只使用spark節(jié)點(diǎn)自身運(yùn)行的集群模式,也就是獨(dú)立部署模式
集群規(guī)劃
iphost192.168.2.102hadoop102Master? Worker192.168.2.103hadoop103Worker192.168.2.104hadoop104Worker
1、解壓文件夾
tar -zxvf spark-3.0.0-bin-hadoop3.2.tgz -C ../module/
mv spark-3.0.0-bin-hadoop3.2 spark-standalone
2、修改配置文件
cd spark-standalone/conf
mv slaves.template slaves
vim slaves
添加worker節(jié)點(diǎn)并保存
hadoop102
hadoop103
hadoop104
mv spark-env.sh.template spark-env.sh
添加JAVA_HOME的環(huán)境變量、master、端口并保存
export JAVA_HOME=/opt/module/jdk1.8.0_212
SPARK_MASTER_HOST=hadoop102
SPARK_MASTER_PORT=7077
分發(fā)到集群內(nèi)部其他機(jī)器
3、配置spark的環(huán)境變量
export SPARK_HOME=/opt/module/spark-standalone
export PATH=$PATH:$SPARK_HOME/sbin
4、啟動集群
sh /opt/module/spark-standalone/sbin/start-all.sh
5、查看集群資源監(jiān)控頁面
http://hadoop102:8080/
6、提交應(yīng)用
bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://hadoop102:7077 \
./examples/jars/spark-examples_2.12-3.0.0.jar 10
參數(shù)參數(shù)值說明–classorg.apache.spark.examples.SparkPi表示要執(zhí)行程序的主類–masterspark://linux1:7077獨(dú)立部署模式,連接到 Spark 集群./examples/jars/spark-examples_2.12-3.0.0.jar運(yùn)行類所在的 jar 包10程序的入口參數(shù),用于設(shè)定當(dāng)前應(yīng)用的任務(wù)數(shù)量
7、提交參數(shù)
參數(shù)說明–classSpark 程序中包含主函數(shù)的類–masterSpark 程序運(yùn)行的模式(環(huán)境)–executor-memory指定每個 executor 可用內(nèi)存–total-executor-cores指定所有executor使用的cpu核數(shù)application-arguments傳給 main()方法的參數(shù)
8、配置歷史服務(wù)
為了方便查看歷史任務(wù)的運(yùn)行狀況,需要做出如下配置
修改配置文件名
mv spark-defaults.conf.template spark-defaults.conf
啟動hdfs并創(chuàng)建文件路徑
start-dfs.sh
hadoop fs -mkdir /sparklogs
配置項(xiàng)如下,并分發(fā)到集群其他機(jī)器
spark.eventLog.enabled true
spark.eventLog.dir hdfs://hadoop102:8020/sparklogs
修改環(huán)境變量。在spark-env.sh中添加環(huán)境變量
export SPARK_HISTORY_OPTS="
-Dspark.history.ui.port=18080
-Dspark.history.fs.logDirectory=hdfs://hadoop102:8020/sparklogs
-Dspark.history.retainedApplications=30"
參數(shù)說明-Dspark.history.ui.portWEB 頁面訪問的端口號-Dspark.history.fs.logDirectory歷史服務(wù)器日志存儲路徑-Dspark.history.retainedApplications指定保存 Application 歷史記錄的個數(shù),如果超過這個值,舊的應(yīng)用程序信息將被刪除
將做出的修改分發(fā)到集群,并重啟spark
三、高可用模式
集群規(guī)劃
iphost192.168.2.102hadoop102Master? Worker? Zookeeper192.168.2.103hadoop103Master? Worker??Zookeeper192.168.2.104hadoop104Worker??Zookeeper
啟動zookeeper
修改配置文件 spark-env.sh
注釋掉原來STANDALONE的配置
#SPARK_MASTER_HOST=hadoop102
#SPARK_MASTER_PORT=7077
添加如下配置
SPARK_MASTER_WEBUI_PORT=8989
export SPARK_DAEMON_JAVA_OPTS="
-Dspark.deploy.recoveryMode=ZOOKEEPER
-Dspark.deploy.zookeeper.url=hadoop102,hadoop103,hadoop104
-Dspark.deploy.zookeeper.dir=/spark"
提交應(yīng)用到高可用集群
bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://hadoop102:7077,hadoop103:7077 \
./examples/jars/spark-examples_2.12-3.0.0.jar \
10
四、YARN模式
LOCAL本地模式,計(jì)算使用的時(shí)本地資源,然而本地計(jì)算資源未必是最優(yōu)的,所以很多時(shí)候會使用yarn作為調(diào)度資源(很多時(shí)候spark本身是安裝在hadoop集群的所以yarn模式成為了大家的主要選擇)
1、解壓安裝文件并重命名
tar -zxvf spark-3.0.0-bin-hadoop3.2.tgz -C /opt/module/
mv /opt/module/spark-3.0.0-bin-hadoop3.2/ /opt/module/spark-yarn
2、修改yarn的配置文件
修改后分發(fā)到集群的其他機(jī)器
vim yarn-site.xml
3、修改spark的配置文件
cp spark-env.sh.template spark-env.sh
vim spark-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_212
YARN_CONF_DIR=/opt/module/hadoop-3.1.3/etc/hadoop
分發(fā)spark-yarn到集群
4、啟動hdfs和yarn
5、提交應(yīng)用
./spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode cluster \
./examples/jars/spark-examples_2.12-3.0.0.jar \
10
柚子快報(bào)邀請碼778899分享:大數(shù)據(jù) SPARK運(yùn)行環(huán)境
相關(guān)文章
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。