Amazon Kinesis
概念
- 处理AWS上大量流数据的数据平台
- Kinesis Streams 用于搜集数据,Client Library 用于分析后的展示
- 构建用于处理或分析流数据的自定义应用程序
- 可以支持从数十万中来源捕获和存储TB级的数据,如网站点击流、财务交易、媒体馈送、IT日志等
- 使用IAM限制用户和角色对Kinesis的访问,使用角色的临时安全凭证可以提高安全性
- Kiesis只能使用SSL加密进行访问
Kinesis组件
Kinesis Data Firehose
- 加载大量流数据到AWS服务中
- 数据默认被存储在S3中,从S3还可以再被进一步转存到Redshift
- 数据也可以被写入到ElaticSearch中,并且同时备份到S3
Kinesis Data Streams:
- 自定义构建应用程序,实时分析流数据
- 利用AWS开发工具包,可以实现数据在流中移动时仍然能被处理,从而接近实时
- 为了接近实时,处理的复杂度通常较轻
- 创建者 Producer 持续将数据推送进Data Streams
- 数据在DataStream 由一组组分片(Shards)组成,每个分片就是一条记录,通过不断分片实现几乎无限的扩展能力
- 使用者 Comsumer 会实时对Data Steams的内容进行处理,并且将结果推送到不同的AWS服务
- 数据在Stream中是临时的,默认存储24小时,最大可以设置为7天
Kinesis Data Analytics
Kinesis Video Streams
适用场景
Elastic MapReduce ( EMR)
概念
- 提供完全托管的按需 Hadoop 框架
- 启动EMR集群的必选项
- 集群节点的实例类型
- 集群中的节点数量
- 希望运行的Hadoop版本
- Hadoop集群选择存储类型至关重要,主要因素是集群是持久的还是瞬态的
- 需要持续运行并分析数据的集群是持久集群
- 按需启动并在完成后立即停止的集群为瞬时集群
- 默认不限制EMR集群数量,但限制用于EMR节点总数为20个,可申请扩展
- 可以从S3以及其他任何位置摄取数据
- Hadoop 日志文件默认存储在S3中,且不支持压缩
- EMR支持竞价实例
- EMR需要在一个可用区部署,不支持跨可用区部署,通常建议选择数据所在的区域
- 集群启动通常在15分钟内可以开始进行数据处理
- EMR允许使用磁性、SSD和 PIOPS SSD三种EBS卷。
- 适用场景
文件系统
HDFS
- Hadoop标准文件系统
- 所有数据都在多个实例中被复制保证持久性
- HDFS可以利用EBS存储确保在关闭集群时不丢失数据
- 非常适合于持久的集群
EMRFS
- HDFS在AWS S3上的实现,将数据保存在S3中
- 可以使用所有Hadoop生态的工具系统
- 非常适合于瞬时集群
EMR NoteBooks
- EMR Notebooks 提供基于 Jupyter Notebook 的托管环境,可供数据科学家、分析员和开发人员准备数据并使其可视化、与同伴协作、构建应用程序,并使用 EMR 群集执行交互分析。
- 您可以使用 EMR Notebooks 构建 Apache Spark 应用程序,并且轻而易举地在 EMR 群集上运行交互查询。多个用户可以直接从控制台创建无服务器笔记本、将其挂载到现有的共享 EMR 群集,或直接从控制台提供至少 1 个节点的并立即开始使用 Spark 进行实验。
安全设置
- EMR默认将设置两个EC2安全组: 主节点和从属节点
- 主安全组
- 定义一个端口用于与服务的通信
- 打开的SSH端口,允许启动时指定的SSH密钥进入实例
- 默认不允许被外部实例访问,但可设置
- 从属安全组
- 默认使用SSL向S3传送数据
- 可以支持对集群进行标记,最多10个标记,但不支持基于标记的IAM许可。
- 使用IAM权限和角色控制对EMR的访问和控制
- 可以设置允许非Hadoop用户将作业提交至集群的权限
- 可以将EMR放入到私有VPC中实现额外的保护
AWS Data Pipeline
概念
- 实现在指定时间间隔,在AWS资源和本地数据之间可靠地处理和移动数据
- 您可以快速轻松地部署管道,无需分心管理日常数据操作,从而让您能够集中精力从该数据获取所需的信息。您只需为您的数据管道指定所需数据源、时间表和处理活动即可。
- 与SWF相比,Data Pipeline 专门设计用于简化大多数数据驱动工作流程中常见的特定步骤。例如:在输入数据符合特定准备就绪标准后执行活动,轻松在不同数据存储之间复制数据,以及调度链接的转换。这种高度具体的侧重点意味着 Data Pipeline 工作流定义可以快速创建,并且无需代码或编程知识。
- 定期访问存储数据,并对数据进行大规模处理,并且将结果转换为AWS服务
- 利用Pipeline的定义安排和运行任务,可以每15分钟,每天,每周运行等
- 数据节点是pipeline流水线读取和写入数据的位置,可以是S3,MySQL,Redshift等AWS或本地存储
- Pipeline通常需要配合其他服务执行预定义的任务,如EMR,EC2等,并在执行完成后自动关闭该服务
- Pipeline在编排的过程支持条件语句
- 若某项活动失败,默认会不断重试,所以需要配置限制重试次数或未成功时采取的行动
- 每个账户默认支持100个管道,单一管道中可以拥有100个对象,可以申请扩展
属性
- 管道
- 即 AWS Data Pipeline 资源,其中包含由执行业务逻辑所需的数据源、目的地和预定义或自定义数据处理活动所组成的关联数据链的定义。
- 数据节点
- 数据节点代表您的业务数据。例如,数据节点可以表示特定的 Amazon S3 路径。AWS Data Pipeline 支持表达式语言,使其更容易引用常态生成的数据。
- 活动
- 是 AWS Data Pipeline 代表您启动的操作,它是管道的一部分。示例活动包括 EMR 或 Hive 作业、复制、SQL 查询或命令行脚本。
- 前提条件
- 前提条件是指成熟度检查,可选择性地将其关联到数据源或活动。如果数据源具有前提条件检查,那么必须先成功完成检查,然后才能启动任何需要用到该数据源的活动。如果活动具有前提条件,那么必须先成功完成检查,然后才能运行活动。
- 时间表
- 定义管道活动运行的时间和服务预计的可使用数据的频率。可以选择时间表结束日期,在此时间后,AWS Data Pipeline 服务不执行任何活动。
- 当您将时间表与活动关联起来后,活动就会按时间表运行。当您将时间表与数据源关联起来,就表示您告诉 AWS Data Pipeline 服务,您期望数据会按照该时间表更新。
适用场景
- 非常适用于常规批处理的ETL流程,而不是连续数据流
Amazon Elastic Transcoder
- 一种在线媒体转码的工具
- 将视频从源格式转换到其他的格式和分辨率,以便在手机、平板、PC等设备上播放
- 一般来说,将需要转码的媒体文件放在AWS S3的存储桶上,创建相应的管道和任务将文件转码为特定的格式,最后将文件输出到另一个S3的存储桶上面去。
- 也可以使用一些预设的模板来转换媒体格式。
- 可以配合Lambda函数,在有新的文件上传到S3后触发函数代码,执行Elastic Transcoder并自动进行媒体文件的转码。
Amazon Athena
- Amazon Athena 是一种交互式查询服务,让您能够轻松使用标准 SQL 分析 Amazon S3 中的数据。Athena 没有服务器,因此您无需管理任何基础设施,且只需为您运行的查询付费。
- Athena 简单易用。只需指向您存储在 Amazon S3 中的数据,定义架构并使用标准 SQL 开始查询就可在数秒内获取最多的结果。
- 使用 Athena,无需执行复杂的 ETL 作业来为数据分析做准备。这样一来,具备 SQL 技能的任何人都可以轻松快速地分析大规模数据集。
- 支持的数据格式包括 JSON,Apache Parquet, Apache ORC
Amazon Elasticsearch Service
- Amazon Elasticsearch Service 是一项完全托管的服务,方便您部署、保护和运行大量 Elasticsearch 操作,且不用停机。
- 该服务提供开源 Elasticsearch API、受托管的 Kibana 以及与 Logstash 和其他 AWS 服务的集成,支持您安全获取任何来源的数据,并开展实时搜索、分析和可视化。
- 使用 Amazon Elasticsearch Service 时,您只需按实际用量付费,没有预付成本或使用要求。有了 Amazon Elasticsearch Service,您无需承担运营开销,便可获得所需的 ELK 堆栈。
AWS X-Ray
- AWS X-Ray 可以帮助开发人员分析与调试分布式生产应用程序,例如使用微服务架构构建的应用程序。
- 借助 X-Ray,您可以了解应用程序及其底层服务的执行方式,从而识别和排查导致性能问题和错误的根本原因。
- X-Ray 可在请求通过应用程序时提供请求的端到端视图,并展示应用程序底层组件的映射。
- 您可以使用 X-Ray 分析开发和生产中的应用程序,从简单的三层应用程序到包含上千种服务的复杂微服务应用程序。
posted @
2019-08-21 09:16
小水滴18
阅读(
996)
评论()
编辑
收藏
举报