当前位置: 首页 > article >正文

spark学习笔记

1.Spark安装

1.1 环境

  • JDK1.8以上
    # 软连接(解耦合)
    rm -rf /usr/latest #删除软链接(最后的反斜杠不能删掉)
    ln -s /usr/java/jdk1.8.0  /usr/java/latest#创建新的软连接
    # 环境变量
    1. ~/bash_profile
    	每个用户自己专属的shell环境,只在用户登录的时候,执行一次,修改后source或重启后生效
    2. ~/bashshrc
    	每个用户自己专属的shell环境,在用户登录的时候或者执行shell脚本的时候,执行一次
    3. /etc/profile
    	所有用户共用的系统变量,修改以后 source或者重启后生效,当用户登录的时候,执行一次
    
  • Scala环境
    • 安装scala

1.2 Spark安装

- 解压
- 配置环境变量
```
1.JAVA_HOME
2.CLASSPATH # java编译文件class的目录
3.HADOOP_HOME
4.HADOOP_CLASSPATH# hadoop依赖包的路径,hadoop安装目录下的lib
5.SPARK_HOME
6.PATH #所有命令配置到系统变量
PATH=$PATH # 在保留原来的一些配置基础上增加配置;“:”是分隔符
```
- 修改spark配置文件
```
# 1.spark-env.sh
	SPARK_MASTER_HOST:主节点ip
	SPARK_MASTER_PORT:主节点端口号
	SPARK_WORKER_CORES:从节点核数
	SPARK_WORKER_MEMORY:cpu分配多少内存,从节点计算所用内存大小
	SPARK_DIST_CLASSPATH:配置hadoop的依赖包
# 2.slaves
  从节点的ip地址
# 3.上传spark日志需要的jar包,3个
# 启动
  sbin /start-all.sh
```

2.Spark Standalone架构

2.1 架构组成

1.Driver:运行spark应用程序的驱动,调用main()函数,创建一个SparkContext对象
2.SaprkContext:SparkContext用来可spark集群进行交互
3.Executor:执行器,在worker上运行的程序,负责计算
4.Task:任务
5.DAG Scheduler:有向无环图,一个DAG中可以分解出多个任务
6.Task Scheduler:任务调度器

2.2运行流程

1.启动Spark集群,worker节点用心跳机制和master进行通信
2.启动Driver,调用main函数,并创建SparkContext对象
3.SparkContext向master申请计算资源,makster会根据worker的心跳来分配worker的资源,并启动worker的Executor进程
4.SparkContext将代码程序解析成DAG结构,并交给DAGScheduler进行角度
5.DAG会在DAG Scheduler中分解为很多的stage(阶段),每个阶段包含多个task
6.stage(多个task组成的组合)会被调度到TaskSheduler中,TaskSchedule将任务分配到worker中,并交给Executor进程进行计算
7.executor会创建一个线程池去执行Task,并将执行结果反馈都SparkContext中,直到所有的task执行完毕
8.SparkContext向mskter注销释放资源

3.Spark on yarn

3.1

3.2

3.3

4.

5.

6.

7.

8.


http://www.kler.cn/news/310342.html

相关文章:

  • 基于JAVA的居家办公OA系统
  • Java中的数据脱敏与隐私保护:实现GDPR与隐私安全的最佳实践
  • c#的委托、事件
  • Red Hat 和 Debian Linux 对比
  • 异常(Exception)
  • 24年蓝桥杯及攻防世界赛题-MISC-2
  • LeetCode41. 缺失的第一个正数(2024秋季每日一题 20)
  • OpenHarmony(鸿蒙南向开发)——标准系统方案之扬帆移植案例
  • Qt安卓开发连接手机调试(红米K60为例)
  • 宠物定位技术升级,蓝牙定位让爱宠随时在线
  • 《机器学习by周志华》学习笔记-神经网络-02感知机与多层网络
  • SQL 多表联查
  • DAY60Bellman_ford 算法
  • MatchRFG:引领MemeCoin潮流,探索无限增长潜力
  • 养殖场中的分布式光伏发电
  • python画图|在3D图上画2D直方图(作图平面移动)
  • 828华为云征文|华为Flexus云服务器打造《我的世界》游戏服务器
  • maven pom文件中的变量定义
  • MacOS Safari浏览器按ESC就退出全屏模式的去除办法
  • 机器狗与无人机空地协调技术分析
  • 如何快速解决程序中的BUG
  • LeetCode 每日一题 求出最多标记下标
  • Kubernetes从零到精通(12-Ingress、Gateway API)
  • camtasia2024绿色免费安装包win+mac下载含2024最新激活密钥
  • 662. 二叉树最大宽度 BFS 力扣
  • 层次聚类(Hierarchical Cluster)—无监督学习方法、非概率模型、判别模型、线性模型、非参数化模型、批量学习
  • 【原创 架构设计】多级缓存的应用、常见问题与解决方式
  • 【MATLAB源码-第170期】基于matlab的BP神经网络股票价格预测GUI界面附带详细文档说明。
  • svg与css关联
  • Spring Boot-Bean注入问题