Spark Standalone架构及安装部署
文章目录
- Standalone架构
- Standalone群集部署
- Standalone程序测试
Standalone架构
Standalone模式是Spark自带的一种集群模式,不同于前面本地模式启动多个进程来模拟集群的环境,Standalone模式是真实地在多个机器之间搭建Spark集群的环境,完全可以利用该模式搭建多机器集群,用于实际的大数据处理。
StandAlone 是完整的Spark运行环境:
- Master角色以Master进程存在,Worker角色以Worker进程存在。
- Driver和Executor运行于Worker进程内, 由Worker提供资源供给它们运行。
StandAlone集群在进程上主要有3类进程:
- 主节点Master:
Master角色, 管理整个集群资源,并托管运行各个任务的Driver - 从节点Workers:
Worker角色, 管理每个机器的资源,分配对应的资源来运行Executor(Task);
每个从节点分配资源信息给Worker管理,资源信息包含内存Memory和CPU Cores核数 - 历史服务器HistoryServer(可选):
Spark Application运行完成以后,保存事件日志数据至HDFS,启动HistoryServer可以查看应用运行相关信息。
- 主节点Master:
Standalone群集部署
群集规划:使用三台Linux虚拟机来组成集群环境(都需要安装py环境):
node1运行: Spark的Master进程和1个Worker进程
node2运行: spark的1个worker进程
node3运行: spark的1个worker进程安装spark环境可参考之前上一篇博客。
配置workers文件(node1)
cd /export/server/spark-3.2.0/conf
mv workers.template workers
vim workersnode1
node2
node3
- 配置spark-env.sh文件
mv spark-env.sh.template spark-env.sh
vim spark-env.sh## 设置JAVA安装目录
JAVA_HOME=/export/server/jdk## HADOOP软件配置文件目录,读取HDFS上文件和运行YARN集群
HADOOP_CONF_DIR=/export/server/hadoop-3.3.0/etc/hadoop
YARN_CONF_DIR=/export/server/hadoop-3.3.0/etc/hadoop## 指定spark老大Master的IP和提交任务的通信端口
# 告知Spark的master运行在哪个机器上
export SPARK_MASTER_HOST=node1
# 告知sparkmaster的通讯端口
export SPARK_MASTER_PORT=7077
# 告知spark master的 webui端口
SPARK_MASTER_WEBUI_PORT=8080# worker cpu可用核数
SPARK_WORKER_CORES=1
# worker可用内存
SPARK_WORKER_MEMORY=1g
# worker的工作通讯地址
SPARK_WORKER_PORT=7078
# worker的 webui地址
SPARK_WORKER_WEBUI_PORT=8081## 设置历史服务器
# 配置的意思是 将spark程序运行的历史日志 存到hdfs的/sparklog文件夹中
SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://node1:8020/sparklog/ -Dspark.history.fs.cleaner.enabled=true"
- hdfs创建sparklog目录
hadoop fs -mkdir /sparklog
hadoop fs -chmod 777 /sparklog
- 配置spark-defaults.conf文件
mv spark-defaults.conf.template spark-defaults.conf
vim spark-defaults.conf# 开启spark的日期记录功能
spark.eventLog.enabled true
# 设置spark日志记录的路径
spark.eventLog.dir hdfs://node1:8020/sparklog/
# 设置spark日志是否启动压缩
spark.eventLog.compress true
- 配置log4j.properties文件
mv log4j.properties.template log4j.properties
vim log4j.properties
# 将INFO改为WARN
log4j.rootCategory=WARN, console
- 启动Spark群集
# 启动历史服务器
cd /export/server/spark-3.2.0
sbin/start-history-server.sh
# 启动全部master和worker
sbin/start-all.sh# 启动当前机器的master
sbin/start-master.sh
# 启动当前机器的worker
sbin/start-worker.sh# 停止全部
sbin/stop-all.sh# 停止当前机器的master
sbin/stop-master.sh# 停止当前机器的worker
sbin/stop-worker.sh
- 查看Master的WEB UI
输入:http://node1:8080/
Standalone程序测试
- pyspark连接
# 通过--master选项来连接到 StandAlone集群
# 如果不写--master选项, 默认是local模式运行
bin/pyspark --master spark://node1:7077
点击Application Detail UI(这里只是运行的子任务而不是独立程序)
关闭pyspark之后,会发现4040端口的页面被关闭了,然后8080却并没有关闭,因为Local模式下一个进程既包含master worker driver。而Standalone它的进程是分开的。
spark-submit提交代码测试
bin/spark-submit --master spark://node1:7077 /export/server/spark-3.2.0/examples/src/main/python/pi.py 100
- 查看历史服务器WEB UI
对于执行完的程序我们无法通过4040端口去查看,但是我们可以通过查看历史服务器的Web UI来查看:http://node1:18080/
点进去可以查看详情
Spark Standalone架构及安装部署相关推荐
- spark之3:安装部署
spark之3:安装部署 @(SPARK)[spark, 大数据] spark之3安装部署 一单机安装 1环境准备 2安装scala 3安装spark 4验证安装情况 一.单机安装 本文介绍安装spa ...
- spark (3)Spark Standalone集群安装介绍
(1)初学者对于spark的几个疑问 http://aperise.iteye.com/blog/2302481 (2)spark开发环境搭建 http://aperise.iteye.com/blo ...
- Spark Standalone 全分布模式安装及问题配置过程中常见问题
Spark Standalone 全分不模式:既真正的集群模式,master和worker部署在不同的节点之上,一般至少需要3个节点(一个master和两个worker),需要三台主机,slave,s ...
- spark standalone集群安装及spark on yarn
standalone模式 配置spark 安装spark,并不需要安装scala . spark使用的是netty. 6066是restful接口端口:7077是m-w通信端口:8088是webui端 ...
- Spark Standalone架构设计要点分析
全栈工程师开发手册 (作者:栾鹏) 架构系列文章 Apache Spark是一个开源的通用集群计算系统,它提供了High-level编程API,支持Scala.Java和Python三种编程语言.Sp ...
- Hive架构及安装部署(远程数据库模式MySQL)
hive架构 hive部署 #hive安装 https://cwiki.apache.org/confluence/display/Hive/AdminManual+Metastore+Adminis ...
- Spark Standalone 伪分布模式安装
伪分布模式是基于Standalone模式来实现的,所以也叫Standalone伪分布模式.Spark在生产环节中,主要部署在安装linux系统的集群中.在linux系统中安装Spark需要先安装JDK ...
- Spark Standalone 全分布模式安装过程中常见问题
在部署spark分布的时候,中途遇见了很多问题,总结一下 1.启动了spark分布之后没有master,worker进程 2. 启动spark集群的时候提示"main" java. ...
- 【原】Spark Standalone模式
Spark Standalone模式 安装Spark Standalone集群 手动启动集群 集群创建脚本 提交应用到集群 创建Spark应用 资源调度及分配 监控与日志 与Hadoop共存 配置网络 ...
最新文章
- BZOJ 4517: [Sdoi2016]排列计数 [容斥原理]
- python函数模块讲解_课堂练习讲解_模块化函数封装
- Synchronized总结
- python argument list too long_间歇“OSError:[Errno 7]参数列表太长”,命令短(~125个字符)...
- 如何使用Alert 组件
- Kylin开启Kerberos安全认证
- oracle 编程必读_现在学习的编程语言,网络监视工具,备份解决方案以及更多必读内容
- 乐在其中设计模式(C#) - 命令模式(Command Pattern)
- 电脑黑屏的原因有哪些
- TensorFlow基础:Graph与Variable
- postman工具 如何传递当前时间戳和MD5加密
- 提取Python stringlib中的BMHBNFS字符串查找算法
- dda c语言计算机图形学,计算机图形学 DDA算法中点画线算法Bresen
- 逆向之汇编(堆栈平衡函数)
- HDL4SE:软件工程师学习Verilog语言(十三)
- PL3369C-ASEMI原边电源IC芯片PL3369C
- 给大家推荐几个程序员必备网站
- 'font:12px/1.5 Tahoma' 其中12px/1.5表示什么
- keras的model保存和载入
- 蓝牙技术|AirPods Pro 2 支持蓝牙 LE Audio 技术带来的 5 大好处