在文中 AWS ProServe Hadoop 迁移交付套件 TCO 工具简介,我们介绍了 AWS ProServe Hadoop 迁移交付工具包 (HMDK) TCO 工具以及将本地 Hadoop 工作负载迁移到 亚马逊电子病历. 在这篇文章中,我们将深入研究该工具,了解从日志摄取、转换、可视化和架构设计到计算 TCO 的所有步骤。
解决方案概述
让我们简要了解一下 HMDK TCO 工具的主要功能。 该工具提供了一个 YARN 日志收集器来连接 Hadoop Resource Manager 来收集 YARN 日志。 基于 Python 的 Hadoop 工作负载分析器(称为 YARN 日志分析器)会仔细检查 Hadoop 应用程序。 亚马逊QuickSight 仪表板显示分析器的结果。 同样的结果也加速了未来 EMR 实例的设计。 此外,TCO 计算器生成优化的 EMR 集群的 TCO 估计,以促进迁移。
现在让我们看看这个工具是如何工作的。 下图说明了端到端的工作流程。
在接下来的部分中,我们将介绍该工具的五个主要步骤:
- 收集 YARN 作业历史日志。
- 将作业历史记录日志从 JSON 转换为 CSV。
- 分析作业历史日志。
- 设计用于迁移的 EMR 集群。
- 计算总拥有成本。
先决条件
在开始之前,请确保完成以下先决条件:
- 克隆 hadoop-迁移-评估-tco 存储库.
- 在本地计算机上安装 Python 3。
- 拥有一个有权访问的 AWS 账户 AWS Lambda、QuickSight(企业版)和 AWS CloudFormation.
收集 YARN 作业历史日志
首先,你运行一个 YARN 日志收集器, start-collector.sh,在你的本地机器上。 此步骤收集 Hadoop YARN 日志并将日志放在本地计算机上。 该脚本将您的本地计算机与 Hadoop 主节点连接起来,并与资源管理器通信。 然后它通过调用 YARN ResourceManager 应用程序 API 检索作业历史信息(来自应用程序管理器的 YARN 日志)。
在运行 YARN 日志收集器之前,您需要配置并建立连接(HTTP:8088 或 HTTPS:8090;推荐后者)以验证 YARN ResourceManager 和启用的 YARN Timeline Server 的可访问性(支持 Timeline Server v1 或更高版本) ). 您可能需要定义 YARN 日志的收集间隔和保留策略。 为确保收集连续的 YARN 日志,您可以使用 cron 作业以适当的时间间隔安排日志收集器。 例如,对于每天有 2,000 个应用程序且设置 yarn.resourcemanager.max-completed-applications 设置为 1,000 的 Hadoop 集群,理论上,您必须至少运行日志收集器两次才能获取所有 YARN 日志。 此外,我们建议收集至少 7 天的 YARN 日志以分析整体工作负载。
有关如何配置和调度日志收集器的更多详细信息,请参阅 纱线日志收集器 GitHub 回购.
将 YARN 作业历史记录日志从 JSON 转换为 CSV
获取 YARN 日志后,运行 YARN 日志组织器 yarn-log-organizer.py,这是一个将基于 JSON 的日志转换为 CSV 文件的解析器。 这些输出 CSV 文件是 YARN 日志分析器的输入。 解析器还有其他功能,包括按时间对事件排序、删除专用项以及合并多个日志。
有关如何使用 YARN 日志组织器的更多信息,请参阅 纱线日志组织者 GitHub 回购.
分析 YARN 作业历史日志
接下来,启动 YARN 日志分析器以分析 CSV 格式的 YARN 日志。
借助 QuickSight,您可以可视化 YARN 日志数据并对预建仪表板模板和小部件生成的数据集进行分析。 该小部件会自动在目标 AWS 账户中创建 QuickSight 控制面板,该控制面板在 CloudFormation 模板中进行配置。
下图说明了 HMDK TCO 架构。
YARN 日志分析器提供四个关键功能:
- 以 CSV 格式上传转换后的 YARN 作业历史记录(例如,
cluster_yarn_logs_*.csv
),以 亚马逊简单存储服务 (亚马逊 S3)桶。 这些 CSV 文件是 YARN 日志组织器的输出。 - 创建清单 JSON 文件(例如,
yarn-log-manifest.json
) 用于 QuickSight 并将其上传到 S3 存储桶: - 使用 YAML 格式的 CloudFormation 模板部署 QuickSight 仪表板。 部署后,选择刷新图标,直到您看到堆栈的状态为
CREATE_COMPLETE
. 此步骤在您的 AWS 目标账户中的 QuickSight 控制面板上创建数据集。 - 在 QuickSight 仪表板上,您可以从各种图表中找到所分析的 Hadoop 工作负载的见解。 这些见解可帮助您设计未来的 EMR 实例以加速迁移,如下一步所示。
设计用于迁移的 EMR 集群
YARN 日志分析器的结果可帮助您了解现有系统上的实际 Hadoop 工作负载。 此步骤通过使用 Excel模板. 该模板包含用于进行工作负载分析和容量规划的清单:
- 集群上运行的应用程序是否以其当前容量得到适当使用?
- 集群在某个时间是否处于负载状态? 如果是这样,时间是什么时候?
- 集群上运行着哪些类型的应用程序和引擎(例如MR、TEZ或Spark),每种类型的资源使用情况如何?
- 不同作业的运行周期(实时、批处理、临时)是否在一个集群中运行?
- 是否有定期分批运行的作业,如果是,这些调度间隔是多少? (例如,每 10 分钟、1 小时、1 天。)您是否有在很长一段时间内使用大量资源的工作?
- 是否有任何工作需要提高绩效?
- 是否有特定组织或个人垄断集群?
- 是否有任何混合开发和运营工作在一个集群中运行?
完成清单后,您将更好地了解如何设计未来的架构。 为了优化 EMR 集群的成本效益,下表提供了选择合适的 EMR 集群类型的一般指南,以及 亚马逊弹性计算云 (亚马逊 EC2)系列。
要选择合适的集群类型和实例系列,您需要根据各种标准对 YARN 日志执行多轮分析。 让我们来看看一些关键指标。
时间线
您可以根据在一个时间窗口内运行的 Hadoop 应用程序的数量找到工作负载模式。 例如,每日或每小时图表“按开始时间计算的记录计数”提供以下见解:
- 在每日时间序列图表中,您可以比较工作日和假期之间以及日历日之间的应用程序运行数量。 如果数字相似,则意味着集群的每日利用率具有可比性。 另一方面,如果偏差很大,则临时工作的比例很大。 您还可以计算出特定日期可能的每周或每月工作。 在这种情况下,您可以很容易地看到一周或一个月中工作量集中的特定日子。
- 在每小时时间序列图表中,您进一步了解应用程序如何在每小时窗口中运行。 您可以找到一天中的高峰时段和非高峰时段。
用户
YARN 日志包含每个应用程序的用户 ID。 此信息可帮助您了解谁将申请提交到队列。 根据每个队列和每个用户的单个和聚合应用程序运行的统计数据,您可以确定用户的现有工作负载分布。 通常,同一团队的用户共享队列。 有时,多个团队共享队列。 在为用户设计队列时,您现在有了洞察力,可以帮助您设计和分配比以前更平衡的队列间应用程序工作负载。
应用类型
您可以根据各种应用程序类型(例如 Hive、Spark、Presto 或 HBase)来划分工作负载并运行引擎(例如 MR、Spark 或 Tez)。 对于 MapReduce 或 Hive-on-MR 作业等计算密集型工作负载,请使用 CPU 优化实例。 对于 Hive-on-TEZ、Presto 和 Spark 作业等内存密集型工作负载,请使用内存优化实例。
经过时间
您可以按运行时对应用程序进行分类。 嵌入式 CloudFormation 模板会自动在 QuickSight 仪表板中创建一个 elapsedGroup 字段。 这启用了一项关键功能,使您可以在 QuickSight 仪表板上的四个图表之一中观察长时间运行的作业。 因此,您可以为这些大型作业设计量身定制的未来架构。
相应的 QuickSight 仪表板包括四个图表。 您可以向下钻取与一个组关联的每个图表。
团队 联系电话 |
作业的运行时间/运行时间 |
1 | 小于10分钟 |
2 | 10 分钟到 30 分钟之间 |
3 | 30分钟到1小时之间 |
4 | 大于1小时 |
在第 4 组的图表中,您可以根据各种指标(包括用户、队列、应用程序类型、时间线、资源使用情况等)集中审查大型作业。 基于这种考虑,您可能在集群或专用 EMR 集群上有专门的队列来处理大型作业。 同时,您可以将小型作业提交到共享队列。
资源
根据资源(CPU、内存)消耗模式,您可以选择合适的 EC2 实例大小和系列以提高性能和成本效益。 对于计算密集型应用程序,我们建议使用 CPU 优化系列实例。 对于内存密集型应用,推荐使用内存优化实例系列。
此外,根据一段时间内应用程序工作负载的性质和资源利用率,您可以选择持久性或瞬态 EMR 集群, EKS 上的 Amazon EMR或 Amazon EMR 无服务器.
通过各种指标分析 YARN 日志后,您就可以设计未来的 EMR 架构了。 下表列出了建议的 EMR 集群的示例。 您可以在 优化的 tco 计算器 GitHub 回购.
计算总拥有成本
最后,在您的本地机器上,在使用 Excel 模板计算优化的 TCO 之前,运行 tco-input-generator.py 以每小时汇总 YARN 作业历史记录。 此步骤至关重要,因为结果模拟了未来 EMR 实例中的 Hadoop 工作负载。
TCO模拟的前提是运行 tco-input-generator.py
,它会生成每小时汇总的日志。 接下来,您打开一个 Excel 模板文件以启用宏并在绿色单元格中提供您的输入以计算 TCO。 关于输入数据,您输入没有复制的实际数据大小,以及 Hadoop 主节点和数据节点的硬件规格(vCore、mem)。 您还需要选择并上传之前生成的每小时聚合日志。 设置 TCO 模拟变量后,例如区域、EC2 类型、Amazon EMR 高可用性、引擎效果、Amazon EC2 和 Amazon EBS 折扣 (EDP)、Amazon S3 批量折扣、本地货币汇率和 EMR EC2 任务/核心定价比率和价格/小时,TCO 模拟器自动计算 Amazon EC2 上未来 EMR 实例的最佳成本。 以下屏幕截图显示了 HMDK TCO 结果的示例。
有关 HMDK TCO 计算的其他信息和说明,请参阅 优化的 tco 计算器 GitHub 回购.
清理
完成所有步骤并完成测试后,请完成以下步骤以删除资源以避免产生费用:
- 在 AWS CloudFormation 控制台上,选择您创建的堆栈。
- 删除.
- 删除堆栈.
- 刷新页面,直到看到状态
DELETE_COMPLETE
. - 在 Amazon S3 控制台上,删除您创建的 S3 存储桶。
结论
AWS ProServe HMDK TCO 工具显着减少了迁移规划工作,这些工作是评估 Hadoop 工作负载的耗时且具有挑战性的任务。 使用 HMDK TCO 工具,评估通常需要 2-3 周的时间。 您还可以确定未来 EMR 架构的计算 TCO。 借助 HMDK TCO 工具,您可以快速了解您的工作负载和资源使用模式。 借助该工具生成的洞察力,您可以设计最佳的未来 EMR 架构。 在许多用例中,与直接迁移 Hadoop 迁移相比,经过优化的重构架构的 1 年 TCO 可显着节省计算和存储成本(减少 64-80%)。
要了解有关加速将 Hadoop 迁移到 Amazon EMR 和 HMDK CTO 工具的更多信息,请参阅 Hadoop 迁移交付套件 TCO GitHub 存储库,或联系 AWS-HMDK@amazon.com.
关于作者
朴成律 是 AWS ProServe 的高级实践经理。 他通过 AWS 分析、物联网和人工智能/机器学习服务帮助客户创新业务。 他的专长是大数据服务和技术,并且有兴趣共同打造客户业务成果。
金智晟 是 AWS ProServe 的高级数据架构师。 主要与企业客户合作,帮助数据湖迁移和现代化,对Hadoop、Spark、数据仓库、实时数据处理、大规模机器学习等大数据项目提供指导和技术支持。 他还了解如何应用技术解决大数据问题并构建设计良好的数据架构。
乔治赵 是 AWS ProServe 的高级数据架构师。 他是一位经验丰富的分析领导者,与 AWS 客户合作提供现代数据解决方案。 他还是 ProServe Amazon EMR 领域专家,使 ProServe 顾问能够了解 Hadoop 到 Amazon EMR 迁移的最佳实践和交付工具包。 他感兴趣的领域是数据湖和云现代数据架构交付。
张凯伦 是 AWS 合作伙伴数据和分析的全球部门技术主管。 作为值得信赖的数据和分析顾问,她策划了数据转换战略计划,领导了数据和分析工作负载迁移和现代化计划,并与合作伙伴一起加速了客户迁移之旅。 她擅长分布式系统、企业数据管理、高级分析和大规模战略计划。
- SEO 支持的内容和 PR 分发。 今天得到放大。
- 柏拉图区块链。 Web3 元宇宙智能。 知识放大。 访问这里。
- Sumber: https://aws.amazon.com/blogs/big-data/deep-dive-into-the-aws-proserve-hadoop-migration-delivery-kit-tco-tool/
- 000
- 1
- 10
- 100
- 7
- a
- Able
- 关于
- 加快
- 加速
- 加速
- 加速
- 促进
- 访问
- 账号管理
- 横过
- Ad
- 增加
- 额外
- 附加信息
- 另外
- 高级
- 顾问
- 后
- 驳
- AI / ML
- 所有类型
- Amazon
- Amazon EC2
- 亚马逊电子病历
- 其中
- 分析
- 分析
- 分析
- 分析
- 和
- API
- 应用领域
- 应用领域
- 使用
- 适当
- 架构
- 国家 / 地区
- 评定
- 帮助
- 相关
- 自动
- 可用性
- AWS
- AWS CloudFormation
- 基于
- 基础
- 因为
- 作为
- 好处
- 最佳
- 最佳实践
- 更好
- 之间
- 大
- 大数据运用
- 简要地
- 建立
- 建筑物
- 商业
- 计算
- 计算
- 计算
- 计算
- 日历
- 被称为
- 调用
- 能力
- 容量
- 例
- 细胞
- 一定
- 挑战
- 图表
- 图表
- 选择
- 云端技术
- 簇
- 收集
- 收藏
- 采集
- 集电极
- 收集
- COM的
- 可比
- 比较
- 相比
- 完成
- 计算
- 集中
- 浓度
- 进行
- 开展
- 分享链接
- 地都
- 所连接
- 连续
- 考虑
- 安慰
- 顾问
- 消费
- 包含
- 相应
- 价格
- 节约成本
- 成本
- 中央处理器
- 创建
- 创建
- 标准
- 关键
- 首席技术官
- 策划
- 货币
- 电流
- 顾客
- 合作伙伴
- 周期
- 每天
- XNUMX月XNUMX日
- data
- 数据湖
- 数据管理
- 数据处理
- 数据集
- 天
- 一年中的
- 专用
- 深
- 深潜
- 交付
- 交货
- 证明
- 部署
- 设计
- 设计
- 详情
- 确定
- 研发支持
- 偏差
- 不同
- 已优惠
- 分发
- 分布
- 分布式系统
- 分配
- 域
- 向下
- ,我们将参加
- 每
- 容易
- EBS
- 版
- 效果
- 效用
- 工作的影响。
- 嵌入式
- enable
- 启用
- 使
- 端至端
- 发动机
- 引擎
- 确保
- 输入
- 企业
- 企业客户
- 配备
- 建立
- 醚(ETH)
- 事件
- 所有的
- 例子
- 例子
- Excel
- 现有
- 有经验
- 促进
- 家庭
- 家庭
- 专栏
- 特征
- 部分
- 数字
- 文件
- 档
- 找到最适合您的地方
- 完
- 以下
- 格式
- 止
- 功能
- 进一步
- 未来
- 其他咨询
- 产生
- 产生
- 得到
- 越来越
- GitHub上
- 全球
- 绿色
- 团队
- 方针
- Hadoop的
- 硬件
- 帮助
- 帮助
- 高
- 历史
- 蜂房
- 假期
- 整体
- HOURS
- 创新中心
- How To
- HTML
- HTTPS
- ICON
- 改进
- in
- 包括
- 包含
- 个人
- 个人
- 信息
- 项目
- 创新
- 输入
- 可行的洞见
- 例
- 说明
- 兴趣
- 利益
- 介绍
- 物联网
- IT
- 工作
- 工作机会
- 旅程
- JSON
- 键
- 试剂盒
- 湖泊
- 大
- 大规模
- 发射
- 铅
- 领导者
- 学习用品
- 学习
- 导致
- 数据
- 书单
- 加载
- 本地
- 长
- 长时间
- 看
- 占地
- 机
- 机器学习
- 宏
- 主要
- 使
- 颠覆性技术
- 经理
- 经理
- 许多
- 手段
- 与此同时
- 内存
- 合并
- 指标
- 移民
- 分钟
- 杂
- 现代
- 现代化
- 月
- 每月一次
- 更多
- 多
- 自然
- 需求
- 下页
- 节点
- 节点
- 数
- 数字
- 观察
- 获得
- 一
- 打开
- 操作
- 操作
- 最佳
- 优化
- 追求项目的积极优化
- 最佳
- 组织
- 其他名称
- 特别
- 合伙人
- 伙伴
- 模式
- 高峰
- 演出
- 性能
- 期间
- 允许
- 地方
- 规划行程
- 柏拉图
- 柏拉图数据智能
- 柏拉图数据
- 政策
- 可能
- 帖子
- 在练习上
- 做法
- 先决条件
- 先前
- 价格
- 小学
- 先
- 问题
- 处理
- 训练课程
- 项目
- 正确
- 建议
- 提供
- 提供
- 蟒蛇
- 很快
- 率
- 比
- 达到
- 准备
- 实时的
- 实时数据
- 建议
- 建议
- 记录
- 减少
- 关于
- 地区
- 定期
- 删除
- 复制
- 资源
- 资源
- 成果
- 保留
- 轮
- 运行
- 运行
- 同
- 储
- 鳞片
- 始你
- 截图
- 部分
- 段
- 前辈
- 系列
- 特色服务
- 集
- 设置
- 几个
- 共用的,
- 显示
- 展示
- 显著
- 显著
- 类似
- 简易
- 模拟
- 模拟器
- 情况
- 尺寸
- 小
- So
- 解决方案
- 解决
- 一些
- 火花
- 专家
- 专业
- 其他
- 具体的
- 规格
- 堆
- 开始
- 统计
- Status
- 步
- 步骤
- 存储
- 善用
- 提交
- 这样
- 支持
- 系统
- 产品
- 表
- 量身定制
- 需要
- 目标
- 任务
- 团队
- 队
- 科技
- 文案
- 技术
- 模板
- 模板
- 测试
- 未来
- 其
- 因此
- 通过
- 次
- 时间序列
- 耗时的
- 时间表
- 至
- 一起
- 工具
- 改造
- 转型
- 转化
- true
- 信任
- 类型
- 下
- 理解
- 理解
- 理解
- 用法
- 使用
- 用户
- 用户
- 平时
- 各个
- 确认
- 可视化
- 体积
- 步行
- 仓储服务
- 周
- 每周
- 周
- 什么是
- 什么是
- 这
- WHO
- 窗户
- 也完全不需要
- 工作流程
- 加工
- 合作
- 雅姆
- 您一站式解决方案
- 和风网