亚马逊电子病历 是 AWS 提供的一项大数据服务,用于在 AWS 上运行 Apache Spark 和其他开源应用程序,以经济高效的方式构建可扩展的数据管道。 监控部署在 EMR 集群上的作业生成的日志对于帮助实时检测关键问题和快速识别根本原因至关重要。
将这些日志推送到 亚马逊CloudWatch 使您能够集中和驱动来自日志的可操作情报,以解决运营问题,而无需配置服务器或管理软件。 您可以立即开始使用聚合、过滤器和正则表达式编写查询。 此外,您可以可视化时间序列数据,深入了解各个日志事件,并将查询结果导出到 CloudWatch 仪表板。
提取持久保存在 亚马逊弹性计算云 (Amazon EC2) 实例的 EMR 集群到 CloudWatch,你可以使用 CloudWatch 代理. 这提供了一种将日志从 EC2 实例推送到 CloudWatch 的简单方法。
CloudWatch 代理是一个在您的服务器上自主且持续运行的软件包。 您可以安装和配置 CloudWatch 代理以从 EC2 实例、本地主机和容器化应用程序收集系统和应用程序日志。 CloudWatch 处理并存储 CloudWatch 代理收集的日志,这进一步有助于监控您的基础设施和应用程序的性能和健康状况。
在本文中,我们创建了一个 EMR 集群,并将作业的 EMR 步骤日志集中在 CloudWatch 中。 这将使您更轻松地管理 EMR 集群、解决问题和监控性能。 如果您想使用 CloudWatch 收集和可视化实时日志、指标和事件数据,从而简化您的基础设施和应用程序维护,此解决方案特别有用。
解决方案概述
这篇文章中介绍的解决方案基于特定配置,其中 EMR 步骤并发级别设置为 1。这意味着集群上一次只运行一个步骤。 需要注意的是,如果将 EMR 步骤并发级别设置为大于 1 的值,则该解决方案可能无法按预期工作。 我们强烈建议验证您的 EMR步骤并发 在实施本文中介绍的解决方案之前进行配置。
下图说明了解决方案体系结构。
工作流程包括以下步骤:
- 用户启动 Apache Spark EMR 作业,在 EMR 集群上创建一个步骤。 使用 Apache Spark,工作负载分布在 EMR 集群的不同节点上。
- 在集群的每个节点(EC2 实例)中,CloudWatch 代理监视不同的日志目录,捕获日志文件中的新条目并将它们推送到 CloudWatch。
- 用户可以从 CloudWatch 控制台查看访问不同日志组的步骤日志。 Amazon EMR写的步骤日志如下:
- 调节器 — 有关步骤处理的信息。 如果您的步骤在加载时失败,您可以在此日志中找到堆栈跟踪。
- 斯特德 — Spark 处理步骤时的标准错误通道。
- 标准输出 — Spark 处理步骤时的标准输出通道。
我们提供 AWS CloudFormation 这篇文章中的模板作为一般指南。 该模板演示了如何在 Amazon EMR 上配置 CloudWatch 代理以将 Spark 日志推送到 CloudWatch。 您可以根据需要查看和自定义它以包括您的 Amazon EMR 安全配置。 作为最佳实践,我们建议在模板中包含您的 Amazon EMR 安全配置以 加密传输中的数据.
您还应该知道,此堆栈部署的某些资源在使用时会产生成本。
在接下来的部分中,我们将完成以下步骤:
- 创建引导脚本并将其上传到 亚马逊简单存储服务 (Amazon S3)存储桶。
- 使用 CloudFormation 模板创建以下资源:
- 在 CloudWatch 控制台上监控 Spark 日志。
先决条件
这篇文章假设你有以下几点:
创建引导脚本并将其上传到 S3 存储桶
欲了解更多信息,请参阅 上传对象 和 在您的服务器上安装和运行 CloudWatch 代理.
要创建和上传引导脚本,请完成以下步骤:
- 创建一个名为的本地文件
bootstrap_cloudwatch_agent.sh
具有以下内容: - 在 Amazon S3 控制台上,选择您的 S3 存储桶。
- 点击 对象 标签,选择 上传.
- 添加文件,然后选择引导脚本。
- 上传,然后选择文件名:
bootstrap_cloudwatch_agent.sh
. - 复制 S3 URI. 我们在后面的步骤中使用这个值。
使用 CloudFormation 模板配置资源
启动堆栈 在您的账户中启动 CloudFormation 堆栈并部署模板:
此模板创建 IAM 角色、IAM 实例配置文件、Systems Manager 参数和 EMR 集群。 集群启动 Spark PI 估计示例应用程序. 如果您从此模板创建堆栈,您将需要为使用的 AWS 资源付费。
CloudFormation 向导将要求您修改或提供以下参数:
- 实例类型 ——由数百家创建、维护和提供物联网(IoT)全球开放标准的公司所组成的 实例类型 对于所有实例组。 默认值为 m4.xlarge。
- 实例计数核心 – 核心实例组中的实例数。 默认值为 2。
- EMRR发布标签 ——由数百家创建、维护和提供物联网(IoT)全球开放标准的公司所组成的 Amazon EMR 发布标签 你想用。 默认为 emr-6.9.0。
- BootstrapScript路径 – 您之前复制的 CloudWatch 代理安装引导脚本的 S3 路径。
- 子网路 – 集群启动的 EC2 子网。 您必须提供此参数。
- EC2密钥对名称 – 一个可选的 EC2 密钥对,用于连接到集群节点,作为会话管理器的替代方案。
监控日志流
CloudFormation 堆栈部署成功后,在 CloudWatch 控制台上,选择 日志组 在导航窗格中。 然后通过前缀过滤日志组 /aws/emr/master
.
日志组中的ID对应EMR主节点的EC2实例ID。 如果您有多个 EMR 集群,您可以使用此 ID 根据主节点 ID 来识别特定的 EMR 集群。
在日志组中,您会发现三种不同的日志流。
日志流包含以下信息:
- 步骤标准输出 – Spark 处理步骤时的标准输出通道。
- 阶梯错误 – Spark 处理步骤时的标准错误通道。
- 步进控制器 – 有关步骤处理的信息。 如果您的步骤在加载时失败,您可以在此日志中找到堆栈跟踪。
清理
为避免您的帐户将来产生费用,请删除您在本演练中创建的资源。 只要集群处于活动状态,EMR 集群就会产生费用,因此请在完成后将其停止。
- 在 CloudFormation 控制台的导航窗格中,选择 堆栈.
- 选择您启动的堆栈 (
EMR-CloudWatch-Demo
),然后选择 删除. - 清空 S3 存储桶 你创造了。
- 删除 S3 存储桶 你创造了。
结论
现在您已完成本演练中的步骤,您已在集群主机上运行 CloudWatch 代理并配置为将 EMR 步骤日志推送到 CloudWatch。 借助此功能,您可以有效监控在 Amazon EMR 上运行的 Spark 作业的运行状况和性能,实时检测关键问题并快速确定根本原因。
您可以通过类似于此示例模板的 CloudFormation 模板打包和部署此解决方案,该模板创建 IAM 实例配置文件角色、Systems Manager 参数和 EMR 集群。
为了更进一步,考虑在 CloudWatch 警报中使用这些日志来发出警报 日志组度量过滤器. 您可以将它们与其他警报一起收集到 复合报警 或配置报警动作,如发送 亚马逊简单通知服务 (Amazon SNS) 触发事件驱动流程的通知,例如 AWS Lambda 功能。
关于作者
恩尼奥·帕斯托雷 是 AWS 数据实验室团队的高级数据架构师。 他热衷于与新技术相关的一切事物,这些新技术对企业和一般民生产生积极影响。 Ennio 在数据分析方面拥有超过 10 年的经验。 他帮助公司定义和实施跨行业的数据平台,例如电信、银行、游戏、零售和保险。
- SEO 支持的内容和 PR 分发。 今天得到放大。
- 柏拉图区块链。 Web3 元宇宙智能。 知识放大。 访问这里。
- Sumber: https://aws.amazon.com/blogs/big-data/push-amazon-emr-step-logs-from-amazon-ec2-instances-to-amazon-cloudwatch-logs/
- :是
- 1
- 10
- 100
- 9
- a
- 关于
- 访问
- 账号管理
- 横过
- 行动
- 要积极。
- 增加
- 地址
- 经纪人
- 报警
- 警报
- 所有类型
- 替代
- Amazon
- Amazon EC2
- 亚马逊电子病历
- 分析
- 和
- 阿帕奇
- Apache Spark
- 应用领域
- 应用领域
- 架构
- 保健
- AS
- At
- 自主
- AWS
- 银行业
- 基于
- BE
- before
- 开始
- 最佳
- 大
- 大数据运用
- 引导
- 建立
- 企业
- by
- CAN
- 捕获
- 原因
- 渠道
- 收费
- 簇
- 收集
- 公司
- 完成
- 完成
- 计算
- 配置
- 连接
- 考虑
- 安慰
- 内容
- 一直
- 核心
- 对应
- 经济有效
- 成本
- 可以
- 创建信息图
- 创建
- 创建
- 创造
- 危急
- 定制
- data
- 数据分析
- 默认
- 演示
- 部署
- 部署
- 部署
- 不同
- 目录
- 分布
- 向下
- 驾驶
- 每
- 此前
- 更容易
- 回音
- 只
- 使
- 爱好者
- 错误
- 必要
- 醚(ETH)
- 活动
- 事件
- 一切
- 例子
- 预期
- 体验
- 出口
- 表达式
- 失败
- 专栏
- 文件
- 档
- 过滤
- 过滤器
- 找到最适合您的地方
- 以下
- 如下
- 针对
- 止
- 功能
- 进一步
- 未来
- 赌博
- 其他咨询
- 产生
- Go
- 更大的
- 团队
- 组的
- 指南
- 有
- 健康管理
- 帮助
- 有帮助
- 帮助
- 高度
- 为了
- 创新中心
- How To
- HTML
- HTTP
- HTTPS
- IAM
- ID
- 鉴定
- 确定
- 影响力故事
- 实施
- 实施
- 重要
- in
- 包括
- 包括
- 包含
- 个人
- 行业
- 信息
- 基础设施
- 安装
- 安装
- 例
- 保险
- 房源搜索
- 问题
- IT
- 工作
- 工作机会
- JPG
- JSON
- 实验室
- 发射
- 推出
- 启动
- Level
- 喜欢
- 装载
- 本地
- 长
- 保养
- 使
- 管理
- 经理
- 方式
- 手段
- 指标
- 修改
- 显示器
- 监控
- 更多
- 多
- 姓名
- 命名
- 旅游导航
- 打印车票
- 需要
- 全新
- 新技术
- 下页
- 节点
- 节点
- 通知
- 通知
- 数
- of
- 最多线路
- on
- 一
- 开放源码
- 操作
- 其他名称
- 产量
- 包
- 面包
- 参数
- 参数
- 特别
- 尤其
- 径
- 性能
- 平台
- 柏拉图
- 柏拉图数据智能
- 柏拉图数据
- 积极
- 帖子
- 在练习上
- 呈现
- 小学
- 过程
- 处理
- 本人简介
- 提供
- 提供
- 规定
- 推
- 推动
- 很快
- 真实
- 实时的
- 建议
- 定期
- 有关
- 释放
- 留
- 资源
- 成果
- 零售
- 检讨
- 角色
- 根
- 运行
- 运行
- 可扩展性
- 部分
- 保安
- 发送
- 前辈
- 系列
- 服务
- 会议
- 集
- 应该
- 简易
- So
- 软件
- 方案,
- 一些
- 火花
- 具体的
- 堆
- 标准
- 开始
- 开始
- 启动
- 步
- 步骤
- Stop 停止
- 存储
- 商店
- 精简
- 流
- 子网
- 顺利
- 这样
- 须藤
- 系统
- 产品
- 采取
- 团队
- 技术
- 电信
- 模板
- 这
- 他们
- 博曼
- 三
- 通过
- 次
- 时间序列
- 至
- 追踪
- 触发
- 使用
- 折扣值
- 验证
- 查看
- 演练
- 手表
- 方法..
- 这
- 而
- 将
- 也完全不需要
- 工作
- 工作流程
- 写作
- 书面
- 雅姆
- 年
- 您一站式解决方案
- 和风网