# 前言一般来说有两种策略用来在并发线程中进行通信:**共享数据和消息传递** 。**共享数据** :通过改变共享存储器地址内的数据,让不同的并发线程进行通信。使用这种通信类型的并发程序,通常需要应用某种锁定的... 中的一个组件,都是基本的计算单元。Actor 模式采用了异步模式,并且每个 Actor 封装了自己的数据、方法等,一个Actor在同一时间处理最多一个消息,可以发送消息给其他Actor,保证了单独写原则,从而巧妙避免了多线程写...
被注册在`ListenerBus`中的所有 listener 监听。其中`EventLoggingListener`是专门用于生成 event log 的监听器。它会将 event 序列化为 Json 格式的 event log 文件,写到文件系统中(如 HDFS)。通常一个机房的任务的文件都存储在一个路径下。在 History Server 侧,核心逻辑在 `FsHistoryProvider`中。`FsHistoryProvider` 会维持一个线程间歇扫描配置好的 event log 存储路径,遍历其中的 event log 文件,提取其中概要信息(主要是...
被注册在ListenerBus中的所有listener监听。其中EventLoggingListener是专门用于生成 event log 的监听器。它会将 event 序列化为 Json 格式的 event log 文件,写到文件系统中(如 HDFS)。通常一个机房的任务的文件都存储在一个路径下。在 History Server 侧,核心逻辑在 FsHistoryProvider中。FsHistoryProvider 会维持一个线程间歇扫描配置好的 event log 存储路径,遍历其中的 event log 文件,提取其中概要信息(主要是 applia...
被注册在`ListenerBus`中的所有listener监听。其中`EventLoggingListener`是专门用于生成 event log 的监听器。它会将 event 序列化为 Json 格式的 event log 文件,写到文件系统中(如 HDFS)。通常一个机房的任务的文件都存储在一个路径下。在 History Server 侧,核心逻辑在 `FsHistoryProvider`中。`FsHistoryProvider` 会维持一个线程间歇扫描配置好的 event log 存储路径,遍历其中的 event log 文件,提取其中概要信息(主要是...
被注册在`ListenerBus`中的所有listener监听。其中`EventLoggingListener`是专门用于生成 event log 的监听器。它会将 event 序列化为 Json 格式的 event log 文件,写到文件系统中(如 HDFS)。通常一个机房的任务的文件都存储在一个路径下。在 History Server 侧,核心逻辑在 `FsHistoryProvider`中。`FsHistoryProvider` 会维持一个线程间歇扫描配置好的 event log 存储路径,遍历其中的 event log 文件,提取其中概要信息(主要是...
延迟均降低 90% 以上,目前 UIService 服务已经在字节跳动内部广泛使用,并且作为火山引擎湖仓一体分析服务 LAS(LakeHouse Analytics Service)的默认服务。# 业务背景## 开源 Spark History Server 架构为了能... 核心逻辑在 FsHistoryProvider 中。FsHistoryProvider 会维持一个线程间歇扫描配置好的 event log 存储路径,遍历其中的 event log 文件,提取其中概要信息(主要是 appliaction_id, user, status, start_time, end_t...
执行线程数等)1. APP1→ APP2:上传任务数据1. 任务进入 APP2 内部队列:优先对进入的任务进行数据分片处理1. APP2→ APP3:APP2 分片处理完成之后,按照可配置请求线程数 T,进行按每批次 T 个请求,将分片内容传... 说明客户端进程卡住了。##### 服务端服务端 APP3 的任务进程:没有执行中的任务进程了。#### 3.2.2 分析定位是客户端 APP2 的进程卡死,而服务端 APP3 的进程正常结束了。### 3.3 进程卡死原因定位分析进...
Server 负责 Query Plan 的执行。Krypton 的 Query Processor 采用了 MPP 的执行模式。3. 为了提供更好的数据可见性,我们支持了 Dirty Read 的功能,也就是 Data Server 可以直接访问 Ingestion Server 内存中的数... 并且后台有个线程定期的与 Meta Server 中的数据版本进行对比,并移除掉过期的 Cache Entry。2. **Plan/Stats/Result Cache:** Coordinator中会把Query plan cache住,对于一些Query Fragment的selectivity估算信息...
UIService:云原生 Spark History Server- Falcon:Remote Shuffle Service- 总结1. # Spark on K8S作为当今云原生基础设施的事实标准,Kubernetes 在 LAS Spark 中扮演着重要的角色。我们首先分享下 ... 其中的详细内容将在其他专题分享文章中展开介绍。而在本文中,我们将重点分享 LAS 自主研发的全新云原生 Spark 历史服务—— UIService。相比开源的 SHS(Spark History Server),UIService 存储占用和访问延迟均降低...
延迟均降低 90% 以上,目前 UIService 服务已经在字节跳动内部广泛使用,并且作为火山引擎湖仓一体分析服务 LAS(LakeHouse Analytics Service)的默认服务。# 1. 业务背景## 1.1 **开源 Spark History Server 架... 核心逻辑在 `FsHistoryProvider`中。`FsHistoryProvider` 会维持一个线程间歇扫描配置好的 event log 存储路径,遍历其中的 event log 文件,提取其中概要信息(主要是 appliaction_id, user, status, start_time, en...
可以看到在 WordCount 作业中 Client 并发度从 16 提升到 32 后 Latency 上升明显,Join 作业更是在 4 并发到 16 并发时 Latency 明显上涨。通过上面的 Benchmark 和 Flink 部署的全流程分析可以发现主要有两个问题,一块是作业在资源管理和部署上的瓶颈,一块是任务在运行时延迟瓶颈。针对OLAP场景,在作业资源管理和部署方面,目前 Flink 资源管理流程和部署交互流程过于复杂。在运行方面,Flink 的作业拉取结果流程存在较多限...
我们实现了一套全新的云原生 Spark History 服务—— UIService,相比开源的 SHS,UIService 存储占用和访问延迟均降低 90% 以上,目前 UIService 服务已经在字节跳动内部广泛使用,并且作为火山引擎湖仓一体分析服务... 写到文件系统中(如 HDFS)。通常一个机房的任务的文件都存储在一个路径下。在 History Server 侧,核心逻辑在 `FsHistoryProvider`中。`FsHistoryProvider` 会维持一个线程间歇扫描配置好的 event log 存储...
Server 内存中的数据,提供毫秒级别的数据可见性。1. **Cache** - 为了支持在线 Serving 低时延的需求,我们在 Cooridinator 支持了Metadata Cache, Plan Cache 和 Result Cache。在 Data Server 内部支持了... 并且后台有个线程定期的与 Meta Server 中的数据版本进行对比,并移除掉过期的 Cache Entry。 - **Plan/Stats/** **Result** **Cache** **:** Coordinator中会把Query plan cache住,对于一些Query Fragment的...