|NO.Z.00004|——————————|^^ 配置 ^^|——|Hadoop&Spark.V04|——|Spark.v04|sparkcore|Spark本地模式|
一、本地模式
### --- 本地模式
~~~ 本地模式部署在单机,主要用于测试或实验;
~~~ 最简单的运行模式,所有进程都运行在一台机器的 JVM 中;
~~~ 本地模式用单机的多个线程来模拟Spark分布式计算,
~~~ 通常用来验证开发出来的应用程序逻辑上有没有问题;
~~~ 这种模式非常简单,只需要把Spark的安装包解压后,改一些常用的配置即可使用。
~~~ 不用启动Spark的Master、Worker守护进程,也不用启动Hadoop的服务(除非用到HDFS)。
~~~ local:在本地启动一个线程来运行作业;
~~~ local[N]:启动了N个线程;
~~~ local[*]:使用了系统中所有的核;
~~~ local[N,M]:第一个参数表示用到核的个数;第二个参数表示容许作业失败的次数
~~~ 前面几种模式没有指定M参数,其默认值都是1;
二、本地模式验证测试
### --- 关闭相关服务
[root@hadoop02 ~]# stop-all-spark.sh
[root@hadoop01 ~]# stop-dfs.sh
[root@hadoop01 ~]# stop-yarn.sh
### --- 启动 Spark 本地运行模式
~~~ 备注:此时可能有错误。
~~~ 主要原因是配置了日志聚合(即是用来了hdfs,但hdfs服务关闭了),关闭该选项即可
[root@hadoop01 ~]# spark-shell --master local
~~~ 会发出报错信息
ERROR SparkContext: Error initializing SparkContext.
java.net.ConnectException: Call From hadoop01/192.168.1.121 to hadoop01:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused
~~~ # spark-defaults.conf文件中,注释以下两行:
[root@hadoop01 ~]# vim $SPARK_HOME/conf/spark-defaults.conf
spark.master spark://hadoop02:7077
#spark.eventLog.enabled true
#spark.eventLog.dir hdfs://hadoop01:9000/spark-eventlog
#spark.serializer org.apache.spark.serializer.KryoSerializer
spark.driver.memory 512m
### --- 使用 jps 检查,发现一个 SparkSubmit 进程
~~~ 这个SparkSubmit进程又当爹、又当妈。既是客户提交任务的Client进程、
~~~ 又是Spark的driver程序、还充当着Spark执行Task的Executor角色。
~~~ # 启动spark本地模式
[root@hadoop01 ~]# spark-shell --master local
[root@hadoop01 ~]# jps
9531 SparkSubmit
### --- 执行简单的测试程序
~~~ # 准备配置文件
[root@hadoop01 ~]# cat t1.dat
1,name01,1
2,name02,1
3,name03,1
4,name04,2
5,name05,2
6,name06,2
7,name07,3
8,name08,3
9,name09,3
10,name10,3
scala> val lines = sc.textFile("file:///root/t1.dat")
scala> lines.count
res0: Long = 10
附录一:定版文件
### --- $SPARK_HOME/conf/spark-defaults.conf
[root@hadoop01 ~]# vim $SPARK_HOME/conf/spark-defaults.conf
spark.master spark://hadoop02:7077
#spark.eventLog.enabled true
#spark.eventLog.dir hdfs://hadoop01:9000/spark-eventlog
#spark.serializer org.apache.spark.serializer.KryoSerializer
spark.driver.memory 512m
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
bdv016-spark.v01
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通