背景
这里用的是spark3.2.1,他是基于内存计算的。
Spark Standalone:
依赖java ,Spark Standalone 是 Spark 原生集群模式,无需依赖第三方资源管理器,包含 Master 节点管理集群资源、Worker 节点执行任务,部署简单,适合中小规模数据处理场景。
java,etc/prfoile的配置
export JAVA_HOME=/usr/local/java/jdk8.0.19/TencentKona-8.0.19-422
export PATH=PATH:{JAVA_HOME}/bin
架构
通常测试1个master,n个worker,1个historyserver
Master
Spark Standalone 的主控节点,负责管理集群 Worker 节点、接收应用提交、分配资源和调度任务,保障集群资源的统一管控与任务分发。spark-ui端口是8080
Worker
Spark Standalone 的工作节点,接收 Master 分配的资源调度,启动 Executor 执行 Task,汇报节点资源使用状态,是实际承载数据计算的核心节点
work的目录在spark/work/里面有,driver和work,driver是随机分配的收集节点。
收集其他executer的执行信息
History Server
Spark 历史服务,读取spark.eventLog.dir存储的事件日志,提供已结束应用的 UI 访问,可查看历史 Job/Stage/Task 详情,定位运行问题。
/tmp/spark-event是他的日志存储,需要hdfs才能凑齐其他数据的,本地磁盘的话,得scp到对应的那台节点
executor是最小执行单元,能够执行任务,一个sparksql对应一个job,job会把他的任务分成多个executor去执行。
job也可以并发多个,一般建议5~10
如何查看日志,进入spark,点击driver,然后就能看到是哪台节点,就可以去看日志了。
如果是启动问题那就看,logs,具体的任务要看work。
cat xx |grep -C 5 "搜索内容"
这种可以看搜索内容的上下5行
ll -t ,按修改时间从新到旧排序(降序)
ll -l -t ,长格式展示