当前位置: 首页>后端>正文

【Spark】

https://blog.csdn.net/m0_67991849/article/details/125158592

Local模式

Local模式就是运行在一台计算机上的模式,通常就是用于在本机上练手和测试。

tar -zxvf spark-3.1.3-bin-hadoop3.2.tgz -C /opt/module/
mv spark-3.1.3-bin-hadoop3.2 spark-local
cd /opt/module/spark-local
bin/spark-submit --class org.apache.spark.examples.SparkPi --master local[2] ./examples/jars/spark-examples_2.12-3.0.0.jar 10

local[K]:指定使用K个Core来运行计算,比如local[2]就是运行2个Core来执行
local[*]:默认模式。自动帮你按照CPU最多核来设置线程数。比如CPU有8核,Spark帮你自动设置8个线程计算。

官方WordCount案例

cd /opt/module/spark-local
mkdir input
在input下创建2个文件1.txt和2.txt,并输入以下内容。
hello chenyunde
hello spark
hdfs dfs -put 1.txt hdfs://hadoop2:8020/user/smai/input
hdfs dfs -put 2.txt hdfs://hadoop2:8020/user/smai/input

启动spark-shell
bin/spark-shell

scala> sc.textFile("input/1.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect

Standalone模式

tar -zxvf spark-3.1.3-bin-hadoop3.2.tgz -C /opt/module/
mv spark-3.1.3-bin-hadoop3.2 spark-standalone
cd /opt/module/spark-standalone/conf
# 进入解压缩后路径的conf目录,修改slaves.template文件名为slaves
mv slaves.template slaves
# 修改slaves文件,添加worker节点(各主机名),删除localhost后添加
hadoop101
hadoop102
hadoop103

# 修改spark-env.sh.template文件名为spark-env.sh
mv spark-env.sh.template spark-env.sh
# 修改spark-env.sh文件,添加JAVA_HOME环境变量和集群对应的master节点
export JAVA_HOME=/opt/module/jdk1.8.0_144
SPARK_MASTER_HOST=hadoop101
SPARK_MASTER_PORT=7077
# 注意:7077端口,相当于hadoop3内部通信的8020端口,此处的端口需要确认自己的Hadoop配置

bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://hadoop2:7077 ./examples/jars/spark-examples_2.12-3.0.0.jar 10

配置历史服务器记录任务运行情况

mv spark-defaults.conf.template spark-defaults.conf
vim spark-defaults.conf
spark.eventLog.enabled true
spark.eventLog.dir hdfs://hadoop2:8020/spark-standalone-log

注意:HDFS上的目录需要提前存在。
hadoop fs -mkdir /spark-standalone-log

3)修改spark-env.sh文件,添加如下配置:

export SPARK_HISTORY_OPTS="
-Dspark.history.ui.port=18080 
-Dspark.history.fs.logDirectory=hdfs://hadoop2:8020/spark-standalone-log 
-Dspark.history.retainedApplications=30"

# 参数1含义:WEBUI访问的端口号为18080
# 参数2含义:指定历史服务器日志存储路径(读)
# 参数3含义:指定保存Application历史记录的个数,如果超过这个值,旧的应用程序信息将被删除,这个是内存中的应用数,而不是页面上显示的应用数。

启动历史服务

sudo vi /etc/profile.d/my_env.sh 

修改spark环境变量
# SPARK_HOME
export SPARK_HOME=/opt/module/spark-standalone
export PATH=$PATH:$SPARK_HOME/bin

source /etc/profile.d/my_env.sh 

[chenyunde@hadoop2 spark-standalone]$ sbin/start-history-server.sh

执行:
bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://hadoop2:7077 ./examples/jars/spark-examples_2.12-3.0.0.jar 10

页面打开 http://hadoop2:18080,即可看到历史日志

https://www.xamrdz.com/backend/3tc1941656.html

相关文章: