文章目录

  • 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可以查看应用运行相关信息。

Standalone群集部署

  1. 群集规划:使用三台Linux虚拟机来组成集群环境(都需要安装py环境):
    node1运行: Spark的Master进程和1个Worker进程
    node2运行: spark的1个worker进程
    node3运行: spark的1个worker进程

  2. 安装spark环境可参考之前上一篇博客。

  3. 配置workers文件(node1)

cd /export/server/spark-3.2.0/conf
mv workers.template workers
vim workersnode1
node2
node3
  1. 配置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"
  1. hdfs创建sparklog目录
hadoop fs -mkdir /sparklog
hadoop fs -chmod 777 /sparklog
  1. 配置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
  1. 配置log4j.properties文件
mv log4j.properties.template log4j.properties
vim log4j.properties
# 将INFO改为WARN
log4j.rootCategory=WARN, console
  1. 启动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


  1. 查看Master的WEB UI
    输入:http://node1:8080/

Standalone程序测试

  1. 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架构及安装部署相关推荐

  1. spark之3:安装部署

    spark之3:安装部署 @(SPARK)[spark, 大数据] spark之3安装部署 一单机安装 1环境准备 2安装scala 3安装spark 4验证安装情况 一.单机安装 本文介绍安装spa ...

  2. spark (3)Spark Standalone集群安装介绍

    (1)初学者对于spark的几个疑问 http://aperise.iteye.com/blog/2302481 (2)spark开发环境搭建 http://aperise.iteye.com/blo ...

  3. Spark Standalone 全分布模式安装及问题配置过程中常见问题

    Spark Standalone 全分不模式:既真正的集群模式,master和worker部署在不同的节点之上,一般至少需要3个节点(一个master和两个worker),需要三台主机,slave,s ...

  4. spark standalone集群安装及spark on yarn

    standalone模式 配置spark 安装spark,并不需要安装scala . spark使用的是netty. 6066是restful接口端口:7077是m-w通信端口:8088是webui端 ...

  5. Spark Standalone架构设计要点分析

    全栈工程师开发手册 (作者:栾鹏) 架构系列文章 Apache Spark是一个开源的通用集群计算系统,它提供了High-level编程API,支持Scala.Java和Python三种编程语言.Sp ...

  6. Hive架构及安装部署(远程数据库模式MySQL)

    hive架构 hive部署 #hive安装 https://cwiki.apache.org/confluence/display/Hive/AdminManual+Metastore+Adminis ...

  7. Spark Standalone 伪分布模式安装

    伪分布模式是基于Standalone模式来实现的,所以也叫Standalone伪分布模式.Spark在生产环节中,主要部署在安装linux系统的集群中.在linux系统中安装Spark需要先安装JDK ...

  8. Spark Standalone 全分布模式安装过程中常见问题

    在部署spark分布的时候,中途遇见了很多问题,总结一下 1.启动了spark分布之后没有master,worker进程 2. 启动spark集群的时候提示"main" java. ...

  9. 【原】Spark Standalone模式

    Spark Standalone模式 安装Spark Standalone集群 手动启动集群 集群创建脚本 提交应用到集群 创建Spark应用 资源调度及分配 监控与日志 与Hadoop共存 配置网络 ...

最新文章

  1. BZOJ 4517: [Sdoi2016]排列计数 [容斥原理]
  2. python函数模块讲解_课堂练习讲解_模块化函数封装
  3. Synchronized总结
  4. python argument list too long_间歇“OSError:[Errno 7]参数列表太长”,命令短(~125个字符)...
  5. 如何使用Alert 组件
  6. Kylin开启Kerberos安全认证
  7. oracle 编程必读_现在学习的编程语言,网络监视工具,备份解决方案以及更多必读内容
  8. 乐在其中设计模式(C#) - 命令模式(Command Pattern)
  9. 电脑黑屏的原因有哪些
  10. TensorFlow基础:Graph与Variable
  11. postman工具 如何传递当前时间戳和MD5加密
  12. 提取Python stringlib中的BMHBNFS字符串查找算法
  13. dda c语言计算机图形学,计算机图形学 DDA算法中点画线算法Bresen
  14. 逆向之汇编(堆栈平衡函数)
  15. HDL4SE:软件工程师学习Verilog语言(十三)
  16. PL3369C-ASEMI原边电源IC芯片PL3369C
  17. 给大家推荐几个程序员必备网站
  18. 'font:12px/1.5 Tahoma' 其中12px/1.5表示什么
  19. keras的model保存和载入
  20. 蓝牙技术|AirPods Pro 2 支持蓝牙 LE Audio 技术带来的 5 大好处

热门文章

  1. 转」最佳方案:迭代式开发
  2. 常见相似性度量及各种距离
  3. 机器视觉工业缺陷检测的那些事(一、光源)
  4. Windows编程-GetModuleHandle,GetCurrentProcess,OpenProcess的区别?
  5. PPTV网站强化移动视频高端内容
  6. 使用SDR扫描嗅探GSM网络(劫持手机信号)
  7. 新软件马上就要完成了,先发篇文章YY下
  8. 浏览器因为代理打不开
  9. Github博客备份
  10. 转:小儿咳嗽为何夜晚更厉害