Flink BLOB架构
Posted andyhe
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flink BLOB架构相关的知识,希望对你有一定的参考价值。
Flink中支持的BLOB文件类型
jar包
被user classloader使用的jar包
高负荷RPC消息
1. RPC消息长度超出了akka.framesize的大小 2. 在HA摸式中,利用底层分布式文件系统分发单个高负荷RPC消息,比如: TaskDeploymentDescriptor,给多个接受对象。 3. 失败导致重新部署过程中复用RPC消息
TaskManager的日志文件
为了在web ui上展示taskmanager的日志
按存储特性又分为两类
PERMANENT_BLOB
生命周期和job的生命周期一致,并且是可恢复的。会上传到BlobStore分布式文件系统中。
TRANSIENT_BLOB
生命周期由用户自行管理,并且是不可恢复的。不会上传到BlobStore分布式文件系统中。
架构图
BlobStore
BLOB底层存储,支持多种实现`HDFS`,`S3`,`FTP`等,HA中使用BlobStore进行文件的恢复。
BlobServer
* 提供了基于jobId和BlobKey进行文件上传和下载的方法?
* 本地文件系统的读写,基于`<path>/<jobId>/<BlobKey>`目录结构
* HA 分布式文件系统的读写,基于`<path>/<jobId>/<BlobKey>`目录结构
* 负责本地文件系统和分布式文件系统的清理工作
* 先存储到本地文件系统中,然后如果需要的话再存储到分布式文件系统中
* 下载请求优先使用本地文件系统中的文件
* 进行HA恢复中,下载分布式系统中的文件到本地文件系统中
BlobClient
* 基于jobId和BlobKey对BlobServer中的文件进行本地文件缓存
* 本地文件的读写,基于`<path>/<jobId>/<BlobKey>`目录结构
* 优先使用本地文件系统中的文件,然后尝试从HA分布式文件中获取,最后才尝试从BlobServer中下载
* 负责本地文件系统的清理工作
LibraryCacheManager
桥接task的classloader和缓存的库文件,其`registerJob`,`registerTask`会构建并缓存job,task运行需要的classloader
示例解析:standalone模式中的jar包管理
以上是关于Flink BLOB架构的主要内容,如果未能解决你的问题,请参考以下文章
sql 这些代码片段将演示如何逐步使用PolyBase。你应该有一个blob存储和存储秘密方便
已解决在react+ts中 atnd 用 upload 组件报错Failed to execute ‘readAsArrayBuffer,param 1 is notof type Blob(代码片段
已解决在react+ts中 atnd 用 upload 组件报错Failed to execute ‘readAsArrayBuffer,param 1 is notof type Blob(代码片段