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

上海普陀网站建设wordpress 美术

上海普陀网站建设,wordpress 美术,深圳住房与建设网站,seo搜索引擎是什么文章目录 一. BlobServer架构1.BlobClient2. BlobServer3. BlobCache4. LibraryCacheManager 二、BLOB的生命周期1. 分阶段清理2. BlobCache的生命周期3. BlobServer 三、文件上下载流程1. BlobCache 下载2. BlobServer 上传3. BlobServer 下载 四. Flink中支持的BLOB文件类型1… 文章目录 一. BlobServer架构1.BlobClient2. BlobServer3. BlobCache4. LibraryCacheManager 二、BLOB的生命周期1. 分阶段清理2. BlobCache的生命周期3. BlobServer 三、文件上下载流程1. BlobCache 下载2. BlobServer 上传3. BlobServer 下载 四. Flink中支持的BLOB文件类型1. BLOB文件类型2. 按存储特性又分为两类 五. Use Cases Details1. Jar 文件2. RPC 消息3. 日志 六、相关参数 一. BlobServer架构 BlobServer是jobmanager的组件 是一个用来管理二进制大文件的服务比如保存用户上传的jar文件该服务会将其写到磁盘上。还有一些相关的类如BlobCache用于TaskManager向JobManager下载用户的jar文件。 如下blob-store-architecture 1.BlobClient 提供上传和下载的接口与BlobServer进行通讯 2. BlobServer 提供了基于jobId和BlobKey进行文件上传和下载的方法本地、HA 分布式文件系统的读写基于path/jobId/BlobKey目录结构进行HA恢复中下载分布式系统中的文件到本地文件系统中负责本地和HA系统的清理工作先存到本地然后如有需要上传到HA可能并行进行确认之前等待两者完成文件下载只能通过本地文件系统中恢复时从HA下载所需文件到本地并负责清理此路径下所有问题。 3. BlobCache 提供BlobServer文件基于jobId和BlobKey的缓存提供基于path/jobId/BlobKey目录结构 本地文件的读写权限HA store的读权限能够从HA store or BlobServer下载文件负责清除本地文件 4. LibraryCacheManager 桥接task的classloader和BlobCache中缓存的库BLOB即 jar 文件其registerJob,registerTask会构建并缓存jobtask运行需要的classloader。 二、BLOB的生命周期 BlobCache 对其所有 BLOB 进行引用计数并在 “blob.retention.interval” 秒后开始删除未被引用的文件。每个子目录与其各自的 BLOB 一起进行引用计数并将以类似的方式进行删除。请注意BlobCache 目前没有关于作业进入最终状态的信息因此只能依靠引用计数来删除作业的 BLOB。 在 TaskManager 关闭时我们可以清理子目录 jobId中的任何剩余文件。 BlobServer 将使用相同的引用计数技术并适当地从本地和 HA 存储中删除文件。此外它将通过了解作业何时进入最终状态来增加安全保障。在这种情况下将删除作业的 BLOB 存储目录本地和 HA即 “/”包括其所有的 BLOB 文件。 1. 分阶段清理 场景描述 直到 Flink 1.3在 LibraryCacheManager 中我们每小时运行一次定期清理任务参见library-cache-manager.cleanup.interval参数删除任何未被引用的 jar 文件。如果作业的任务在清理开始之前失败后续的恢复可能无法再访问缓存的文件。我们希望通过 “分阶段清理” 来改变这一点。 分阶段清理逻辑 在分阶段清理中只有当周期性的清理任务第二次遇到此 BLOB 时才会删除 BLOB 文件例如通过拥有两个清理列表一个用于实际清理即 “立即删除”一个用于分阶段文件即 “下次删除”。每次清理任务运行时将删除实际清理列表和文件并将分阶段列表变为实际列表。这比为每个未被引用的 jar 设置存活时间的花销要小并且对于当前的清理任务来说足够了。因此目前未被引用的 BLOB 将至少保留 “blob.retention.interval” 秒最多两倍于此数量。 2. BlobCache的生命周期 所有的 BLOB 都是引用计数的从第一次检索/传递 BLOB 开始计数。特定于作业的 BLOB子目录也会随着每个与作业相关的文件一起进行引用计数。如果引用计数为 0则该 BLOB 将进入分阶段清理见上文。如果任务成功、失败或被取消其所有 BLOB 的引用计数将适当地递减如果可能。 当 BlobCache 关闭时即 TaskManager 退出时应删除所有的 BLOB。 请注意运行在同一 TaskManager 上的多个任务可能使用同一作业的BLOB 文件 3. BlobServer BlobServer 中存储的所有未使用的 BLOB 文件也应定期清理而不仅仅是在 BlobServer 关闭时自 Flink 1.3 起。 所有的 BLOB 都是引用计数的从初始上传开始计数。特定于作业的 BLOB 子目录 (path/jobId)不进行引用计数。两种类型的 BLOB 生命周期保证HA用于恢复保留和非-HA可重新创建文件不用于恢复。如果作业失败则所有非-HA 文件的引用计数将重置为 0所有 HA 文件的引用计数保持不变并且在恢复时不会再次增加。如果作业进入最终状态即完成或取消作业特定的 BLOB 子目录 (path/jobId) 及其所有的 BLOB 将立即被删除并从引用计数中移除尽管实际的引用计数可能不为 0。如果引用计数为 0则该 BLOB 将进入分阶段清理见上文。当BlobServer 退出时应删除所有的 BLOB。 注意与特定于作业的 BLOB 目录一起jar 文件通常会被删除而短期存在的BLOB如 RPC 消息或日志主要基于引用计数进行删除。作业目录删除充当了它们的安全保障以防引用计数出错。 三、文件上下载流程 1. BlobCache 下载 BlobCache的下载流程 当请求特定于作业 ID 和 BlobKey 的文件时 BlobCache 首先会尝试从其本地存储中提供该文件在成功的校验和验证后。如果在本地存储中找不到文件或者校验和不匹配文件将从 HA 存储复制到本地存储如果可用。如果这种方法不起作用或者不可用将使用通过 BlobClient 建立和管理的连接从 BlobServer 直接下载到本地存储中。 在传输过程中这些文件将被放入临时目录并且只有在完全传输和校验和验证后才会提交到特定于作业的路径。 HOW这可能会为同一文件触发多个并发下载但确保在提供 BLOB 时不会使用不完整的文件。我们可以通过 BlobCache 阻止这样的多次下载作为优化。 2. BlobServer 上传 注意 在上传用户 jar 文件时相应的作业尚未提交因此我们无法将 jar 文件绑定到不存在的作业生命周期。   这里可以提供思路为什么flink本地临时jar不会被删除。 确保在上传和作业提交之间的客户端中止/崩溃期间的正确清理。 我们不能一次性上传每个文件并使用引用计数器为 0因为在启动作业时某些文件可能已经被删除。相反我们将一起上传所有 jar 文件并仅在收到最后一个文件后将它们全部放入分阶段清理的分阶段列表中。然后作业需要在 “blob.retention.interval” 秒内提交否则我们无法保证 jar 文件仍然存在。 3. BlobServer 下载 与 BlobCache 类似我们首先尝试从本地存储中提供文件经过校验和验证如果文件不存在则从 HA 存储中创建本地副本如果可用 。 四. Flink中支持的BLOB文件类型 1. BLOB文件类型 jar包 被user classloader使用的jar包高负荷RPC消息 RPC消息长度超出了akka.framesize的大小在HA摸式中利用底层分布式文件系统分发单个高负荷RPC消息比如:TaskDeploymentDescriptor。失败导致重新部署过程中复用RPC消息 TaskManager的日志文件 为了在web ui上展示taskmanager的日志 2. 按存储特性又分为两类 PERMANENT_BLOB 生命周期和job的生命周期一致并且是可恢复的。会上传到BlobStore分布式文件系统中。TRANSIENT_BLOB生命周期由用户自行管理并且是不可恢复的。不会上传到BlobStore分布式文件系统中。 五. Use Cases Details 1. Jar 文件 在作业提交客户端提交作业之前用户代码的 jar 文件会被上传。成功上传所有 jar 文件后作业将被提交JobManager/Dispatcher 将 BlobServer 上的引用计数增加 1。当作业进入最终状态时引用计数将减少此时将删除 目录。BlobCache 只需要在其本地存储中引用计数 jar 文件不需要进一步交互。 2. RPC 消息 ing 3. 日志 目前日志文件仅由 Web 用户界面Web-UI用于显示 TaskManager 日志。它们在请求后下载并提供服务。每次下载应该将先前日志的引用计数减少 1并将新日志的引用计数增加 1。日志具有非 HA 生命周期保证甚至可以立即删除而不是将它们放入分阶段清理中。 作为优化我们可以支持将日志文件分区即字节 xxxx-yyyy作为 BLOB 上传并在 WebUI 中使用它们而不是一遍又一遍地传输相同的日志部分。然而这与 BLOB 存储无关并且受到上述体系结构的支持。 六、相关参数 参数默认值描述high-availability.storageDir无HA BlobStore根目录blob.storage.directoryjava.io.tmpdirBlobServer 本地文件根目录blob.fetch.num-concurrent50BlobServer fetch文件的最大并行度blob.fetch.backlog1000允许最大的排队等待链接数blob.service.cleanup.interval3600BlobServer cleanup 线程运行的间隔blob.fetch.retries5从BlobServer下载文件错误重试次数blob.server.port0BlobServer端口范围blob.offload.minsize1024 * 1024运行通过BlobServer传递的最小消息大小classloader.resolve-orderchild-firstclassloader类加载顺序 参考 https://cwiki.apache.org/confluence/display/FLINK/FLIP-19:ImprovedBLOBstoragearchitecture
http://www.zqtcl.cn/news/938687/

相关文章:

  • 唐山企业网站模板建站动物自己做的网站
  • 旅游攻略网站开发外包网站开发公司
  • 免得做网站wordpress国内主机
  • 绍兴网站建设方案报价朗格手表网站
  • 建立自己公司网站的方法南京网站制作多少钱
  • 字形分析网站做自媒体查找素材的网站
  • 做网站建设的上市公司有哪些网站源码怎么预览
  • 怎么学做电子商务网站知果果网站谁做的
  • 网站软文推广网站wordpress建站教程第六节
  • 公司制作网站多少钱移动端网站建设的请示
  • 做网站 对方传销廊坊网站备案
  • 1688网站链接图片怎么做wordpress 饭店主题
  • 人事怎么做招聘网站比对分析教育机构网站开发
  • 抚顺市+网站建设做网站用apache还是nginx
  • 群晖ds216j能否做网站百度收录官网
  • 白银市建设局网站网站设计规划的一般流程
  • 佛山网站建设企划动力新兴县城乡建设局网站
  • 软件开发 网页设计网站网页游戏链接大全
  • 网站建设犭金手指a15做校园网站 怎么备案
  • 淘客网站怎么做排名百度指数里的资讯指数是什么
  • 泰州网站开发网站建设个可行性研究
  • 网站ipv6改造怎么做 网页代码网页游戏在线玩链接
  • 做网站和优化学校asp网站
  • 佛山正规网站建设哪家好合肥专业网站优化价格
  • 华容网站免费ppt模板下载医学类
  • 网站注册申请艺术风格网站
  • 怎么上国外购物网站网站毕业作品代做
  • wordpress 描述字段seo排名技术教程
  • 重庆seo网站建设wordpress评论邮件插件
  • 企业网站模板下载网站模板下载做一个购物商城网站多少钱