AWS 大数据实战 - 环境准备(一)

网友投稿 316 2022-10-11

AWS 大数据实战 - 环境准备(一)

实验介绍

本次实战内容将教大家如何使用 AWS 的大数据和数据湖的相关服务和组件,顺利完成大数据的收集,存储,处理,分析和可视化的完整的流程,主要会介绍以下几个 AWS 大数据服务:

Lab1:实时流数据处理,基于 Kinesis 产品家族实现 Lab2:批量数据处理,基于 EMR(Spark) 实现 Lab3:数据可视化,基于 Quicksight + Athena 实现 Lab4:数据实时检索,基于 Elasticsearch 实现 Lab5:数据仓库构建和数据可视化展现,基于 Redshift + Quicksight 实现

为了让大家对数据结构有个更清晰的认识,我们把RDS(关系型数据库)里面的数据表结构做了一层抽象,供参考:

实验准备

为了顺利完成全部的动手实验,需要做如下准备工作,所有的资源创建在了 AWS us-east-1 这个区域:

步骤 准备环境 准备内容描述
01 账号配置 熟悉AWS提供的账号和登录方式,并配置对应安全选项
02 部署EC2 部署一个EC2(Linux)用于操作的客户端并学会远程登录
03 配置KDS 配置 Kinesis Data Streams 实时数据流用于产生数据
04 部署RDS 配置数据库(在实验环境中,理解为历史数据或者ODS环境)
05 部署EMR 部署大数据平台 EMR
06 部署ES 部署实时分析平台 Elasticsearch

账号配置

IAM(Identity and Access Management)是AWS和用户,权限以及认证等安全相关的服务,此处我们配置两个角色,一个是 EC2 访问云中一些资源使用的角色(ec2-role),还有一个是 Glue 访问云中资源使用的角色(glue-role)

为 EC2 配置角色权限

通过如下方式打开IAM控制台

在 AWS service 里面选择 EC2

下一步标签页面可以不配置,接着下一步审核页面,确认策略已经正确添加

为 Glue 配置角色权限

在 AWS service 里面选择 Glue

部署EC2

EC2简单理解为AWS云上的虚拟机即可。打开EC2控制台,选择AMI(Amazon Machine Image)类型为“Amazon Linux 2”,并确认架构为64位x86

机型选择t2.large或者t2.xlarge都可以(t3对应系列也可以,基本没什么负载,本着节俭的原则,选个2G以上内存的都可以满足需求)

实例配置这一页,IAM role 给我们刚刚创建的 ec2-role

下一步标签页面,我们添加一个“键”为“Name”(注意大小写),“值”为“LinuxClient”的标签,供参考(标签可以不设置)

下一步配置安全组的时候,直接给一个网络全部放开的安全组,没有的话自己去创建一个

登陆 EC2

创建好之后,我们使用 SSH 客户端登陆到机器,然后查看一下

wangzan:~ $ ssh -i ~/.ssh/bmc-aws.pem ec2-user@44.192.79.152 The authenticity of host '44.192.79.152 (44.192.79.152)' can't be established. ECDSA key fingerprint is SHA256:/BosjrkiuZkSIsuSlUHRt2CPITqx8hh8IMfSv9mJVzo. ECDSA key fingerprint is MD5:88:bc:5c:f0:c8:87:76:da:48:2b:24:06:6b:63:54:92. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '44.192.79.152' (ECDSA) to the list of known hosts. __| __|_ ) _| ( / Amazon Linux 2 AMI ___|\___|___| https://aws.amazon.com/amazon-linux-2/ [ec2-user@ip-172-31-77-126 ~]$ aws sts get-caller-identity { "Account": "921283538843", "UserId": "AROA5NAGHF6NUFMB62LS2:i-03c9b3efdb246a085", "Arn": "arn:aws:sts::921283538843:assumed-role/ec2-role/i-03c9b3efdb246a085" }

配置 KDS

本章节内容主要配置两个 Kinesis Data Streams 数据流(有时简称为 kds,作为 Lab1/4 持续产生数据的来源)。

创建 KDS 流

Kinesis 是 AWS 云上的流计算相关服务,包括流数据接收和承载平台 Kinesis Data Streams(对标 Kafka),流处理管道 Kinesis Data Firehose,流分析平台 Kinesis Data Analytics,流视频处理平台 Kinesis Video Streams。此处我们主要配置 2 个 Kinesis Data Streams,分别用于 Lab1/4 使用。

打开 Kinesis 控制台,选择左侧菜单的“Data streams”,在打开的页面中,选择“Create data stream”

创建 lab1 需要用到的数据流(设置流名称和分片数量,此处设置为 1 即可)

用同样的方式创建 lab2(在我们实验的过程中暂时用不到,此处仅供演示)和 lab4 需要用到的数据流,创建完毕后如下

现在我们创建好了 kds,目前可以进行 lab1-流数据处理的实验了。

部署RDS

本章节内容主要是部署一个关系型数据库(RDS,MySQL 5.7),并导入对应数据。

登录RDS控制台

RDS 是 AWS 云上的数据库平台服务,包括自主研发的 Aurora,也包括基于 MySQL/MariaDB/Oracle/SQL Server/PostgreSQL 等不同引擎的关系型数据库,此处我们部署的 RDS(MySQL 5.7)主要用于 Lab2 使用。

配置参数组和选项组

部署RDS数据库

接下来设置数据库实例名称,管理员名称和密码(此处为:wzlinux2021,可自定义,主要是自己要记住别忘记)以及选择数据库类型

bdd.ccganutjnmfy.us-east-1.rds.amazonaws.com

导入数据

大家把如下 sql 下载到部署好的 EC2 客户端里面

然后登陆 EC2 客户端,安装 mysql 客户端

sudo yum install mysql -y

然后使用 mysql 客户端用如下命令登录数据库(紧接着需要输入密码)

mysql -h bdd.ccganutjnmfy.us-east-1.rds.amazonaws.com -u admin -p bdd

然后检查数据库内容是否和截图匹配

MySQL [bdd]> show tables; +-----------------+ | Tables_in_bdd | +-----------------+ | tbl_address | | tbl_customer | | tbl_product | | tbl_transaction | +-----------------+ 4 rows in set (0.00 sec) MySQL [bdd]>

此处我们有4个表,内容分别如下

表名 内容 行数
tbl_address 客户地址信息表 1084
tbl_customer 客户表 1084
tbl_product 产品信息表 100
tbl_transaction 历史交易记录表 49874

现在我们已经部署好了 RDS,接下来部署 EMR。

部署 EMR

EMR(Elastic MapReduce)是 AWS 上的一个托管集群平台,可简化在 AWS 上运行大数据框架(如 Apache Hadoop 和 Apache Spark 等)以处理和分析海量数据的操作。

打开 EMR 控制台,直接选择“创建集群”,出现创建页面的时候,选择“转到高级选项”,选择对应的版本(默认最新版),选择Spark(Lab2需要用到),勾选使用Glue做Catalog,然后进入下一步

第二步的硬件配置页面,全部选默认即可,第三步的配置集群信息,参考如下截图

集群全部部署完毕需要5分钟左右,创建完成之后,我们就可以进行 Lab2-批量数据处理的操作了。

部署 Elasticsearch

本章节内容只需要部署一个 Elasticsearch 集群,暂时不做其他配置。

Elasticsearch Service (Amazon ES) 是一种托管服务,可以让您轻松在 AWS 云中部署、操作和扩展 Elasticsearch 集群。

通过如下方式打开ES控制台

如果是第一次使用,会出现如下页面,选择“创建新域”即可

我们选择开发测试和最新版

在配置页面我们设置集群名字(此处为lab-es),并设置数据节点的 EBS 磁盘大小为 100G

在安全配置页面,我们选择部署 Public access,这样方便我们访问,精细访问里面选择 Create master user,这里创建的用户具有 ES 的最高权限,并且选择开放的资源访问策略,如下图所示:

其他设置默认,审核请确认后创建集群。集群 Domain 全部部署完毕需要 10 分钟左右,等创建完成之后,我们就可以开始 Lab4-数据实时检索的实验了。

环境清理

主要需要清除的内容如下1.删除掉部署的 EC2(这是数据的源头),先清除 EC2 能避免后续的数据产生;2.删除 Kinesis 的各个流,管道和分析;3.删除 RDS 数据库;4.删除 EMR 集群;5.删除 Elasticsearch 集群;6.删除 Redshift 集群;7.删除Glue的相关配置爬虫和任务等;8.删除实验过程中创建的 S3 存储桶;

【注意】如果没有其他任何地方使用到了 Quicksight 服务,也建议把此服务注销,请参考官方文档

https://docs.aws.amazon.com/zh_cn/quicksight/latest/user/closing-account.html

欢迎大家扫码关注,获取更多信息

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:elasticsearch源码分析index action实现方式
下一篇:使用106短信群发有那些优势?
相关文章

 发表评论

暂时没有评论,来抢沙发吧~