IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 2021SC@SDUSC hadoop源码分析(九) -> 正文阅读

[大数据]2021SC@SDUSC hadoop源码分析(九)

2021SC@SDUSC

本篇我将对hadoop-tools中的Resource Estimator Service进行分析

Resource Estimator Service

概念:

原因:

对企业集群来说,估算工作资源需求仍然是一个重要且具有挑战性的问题。不断增加的工作负载复杂性放大了这一点,即从传统的批处理作业到交互式查询,再到流式传输和最近的机器学习作业。这导致作业依赖于多个计算框架,如Tez、MapReduce、Spark等。,集群的共享特性进一步加剧了这个问题。当前最先进的解决方案依赖于用户专业知识来估计作业的资源需求(例如:减压器数量或容器内存大小等)。),既繁琐又低效。

集群工作负载中,很大一部分是重复作业,所以该方法就是提出的一个框架不可知的黑盒解决方案,自动对重复作业进行资源需求估计。

目的:

  • 对于定期作业,分析其历史日志并预测其新运行的资源需求。
  • 支持各种类型的作业日志。
  • 扩展到万亿字节的作业日志。

体系架构:

?

Hadoop-resourceestimator主要由三个模块组成:Translator, SkylineStore and Estimator.

1.ResourceSkyline用于描述作业在其生命周期内的资源利用率。更具体地说,它使用RLESparseResourceAllocation来记录容器分配信息。RecurrenceId用于标识循环管道的特定运行。管道可以由多个作业组成,每个作业都有一个资源麒麟以表征其资源利用。

2.Translator 分析作业日志,提取他们的?ResourceSkylines 并且存储到SkylineStore.SingleLineParser解析日志流中的一行,并提取?ResourceSkyline.由于作业日志可能有各种格式,因此需要不同的单线分析器实现方式,日志分析器启动单线分析器基于用户配置。目前Hadoop-resourceestimator提供了两种实现单线分析器:NativeSingleLineParser支持优化的本机格式,并且RMSingleLineParser解析Hadoop系统中生成的YARN ResourceManager logs。

3.SkylineStore作为Hadoop-resourceestimator的存储层,由两部分组成。HistorySkylineStore由提取翻译者存储ResourceSkylines。它支持四个操作:添加历史、删除历史、更新历史和获取历史。添加历史记录追加?new?ResourceSkylines ,而更新历史记录会删除所有?ResourceSkylines,并重新插入新的?ResourceSkylinesPredictionSkylineStore存储预测的RLESparseResourceAllocation由估计器生成。它支持两个操作:添加估计和获取估计。

4.Estimator根据循环管道的历史运行预测其资源需求,将预测存储到the?SkylineStore 并对YARN (YARN-5326)进行循环资源预留。Solver阅读所有历史ResourceSkylines并预测其新的资源需求RLESparseResourceAllocation。目前Hadoop-resourceestimator提供了LPSOLVER进行预测(线性规划模型的细节可以在论文中找到)。还有一个基本解算器将预测的资源需求转化为ReservationSubmissionRequest它被不同的求解器实现用来在纱上进行循环资源预留。

5.ResourceEstimationServiceHadoop-resourceestimator包装成一个微服务,可以很容易地部署在集群中。它提供了一组REST APIs,允许用户解析指定的作业日志,查询pipeline的历史ResourceSkylines,查询管道的预测资源需求,并运行?SOLVER如果预测不存在,删除ResourceSkylines?in the?SkylineStore.

userge

这里让$HADOOP_ROOT表示Hadoop安装目录。如果你自己构建Hadoop,$HADOOP_ROOT存在Hadoop-dist/target/Hadoop-$ VERSION。资源估计器服务的位置,$ ResourceEstimatorServiceHome,是$ HADOOP _ ROOT/share/HADOOP/tools/resource estimator。它包含3个文件夹:容器,主配置文件和数据。请注意,用户可以使用默认配置的资源估算器服务。

  • 容器包含资源估算器服务的运行脚本。

  • 主配置文件:包含资源估算器服务的配置文件。

  • 数据包含用于运行资源估算器服务示例的示例日志。

启动估算器

首先,复制配置文件(位于$ resourcestimatservicehome/conf/)到$HADOOP_ROOT/etc/hadoop。

启动估算器的脚本是起始估计量。

$ CD $ resourcestimatservicehome $ bin/start-estimator . sh

启动web服务器,用户可以通过REST APIs使用资源估算服务。

运行估算器

资源估计器服务的URI是http://0.0.0.0,默认服务端口为9998(在中配置$ resourcestimaltervicehome/conf/resource estimator-config . XML).在…里$ resourcestimatservicehome/data,有一个示例日志文件resourceEstimatorService.txt其中包含两次运行的tpch_q12查询作业的日志。

  • 解析作业日志:POST http://URI:port/resource estimator/translator/LOG _ FILE _ DIRECTORY

发送POST http://0 . 0 . 0 . 0:9998/resource estimator/translator/data/resource estimator service . txt。底层估计器将从日志文件中提取资源线,并将它们存储在作业历史数据库中。

  • 查询作业的历史history ResourceSkylines:GET http://URI:port/resource estimator/skylinestore/history/{ pipeline id }/{ runId }

发送GET http://0 . 0 . 0 . 0:9998/resource estimator/sky linestore/history/*/*,底层估计器将返回历史上所有的记录。您应该能够看到两次运行tpch_q12的history ResourceSkylines:tpch_q12_0和tpch_q12_1。请注意,两者都有pipelineId和runId字段支持通配符操作。

  • 预测作业的资源天际线需求:GET http://URI:port/resource estimator/estimator/{ pipeline id }

发送http://0 . 0 . 0 . 0:9998/resource estimator/estimator/tpch _ q12,底层估算器将根据作业的历史资源线预测新运行的作业资源需求,并将预测的资源需求存储到作业估算天际线存储。

  • 查询作业的估计资源天际线:GET http://URI:port/resource estimator/skylinestore/estimation/{ pipeline id }

发送http://0 . 0 . 0 . 0:9998/resource estimator/sky linestore/estimation/tpch _ q12,底层估计器将返回tpch_q12作业的历史资源需求估计。请注意,对于jobEstimation SkylineStore,它不支持通配符操作。

  • 删除作业的历史资源skyline:DELETE http://URI:port/resource estimator/skylinestore/history/{ pipelineId }/{ runId }

发送http://0 . 0 . 0 . 0:9998/resource estimator/sky linestore/history/tpch _ q12/tpch _ q12 _ 0,底层估计器将删除tpch_q12_0的ResourceSkyline记录。重新发送GET http://0 . 0 . 0 . 0:9998/resource estimator/sky linestore/history/*/*,基础估计器将只返回tpch_q12_1的ResourceSkyline。

运行估算器:

停止估算器的脚本是停止估计量。

$ CD $ resourcestimatorservicehome $ bin/stop-estimator . sh

?

?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-11-26 08:55:06  更:2021-11-26 08:56:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 7:26:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码