实验介绍
本次实战内容将教大家如何使用AWS的大数据和数据湖的相关服务和组件,顺利完成大数据的收集,存储,处理,分析和可视化的完整的流程,主要会介绍以下几个AWS大数据服务:
Lab1:实时流数据处理,基于Kinesis产品家族实现Lab2:批量数据处理,基于EMR(Spark)实现Lab3:数据可视化,基于Quicksight+Athena实现Lab4:数据实时检索,基于Elasticsearch实现Lab5:数据仓库构建和数据可视化展现,基于Redshift+Quicksight实现为了更好的模拟实际的业务需求,我们构建了一个数据库(模拟历史数据,或者部分客户已经存在的ODS库),我们构建了实时数据流(模拟例如电商,web等的点击流),我们构建了流式实时分析和批量分析的平台以及对应的可视化展现和数据实时检索的平台。如下是此次实验的整体的架构图:
为了让大家对数据结构有个更清晰的认识,我们把RDS(关系型数据库)里面的数据表结构做了一层抽象,供参考:
实验准备
为了顺利完成全部的动手实验,需要做如下准备工作,所有的资源创建在了AWSus-east-1这个区域:
账号配置
IAM(IdentityandAccessManagement)是AWS和用户,权限以及认证等安全相关的服务,此处我们配置两个角色,一个是EC2访问云中一些资源使用的角色(ec2-role),还有一个是Glue访问云中资源使用的角色(glue-role)
为EC2配置角色权限
通过如下方式打开IAM控制台
点击左边的“Role”菜单,然后选择“Createrole”
在AWSservice里面选择EC2
在设置权限的页面,点击“直接附加现有策略”,添加AdministratorAccess和
IAMFullAccess两个权限
下一步标签页面可以不配置,接着下一步审核页面,确认策略已经正确添加
为Glue配置角色权限
在AWSservice里面选择Glue
在筛选策略的页面,选中AdministratorAccess和IAMFullAccess,然后点击下一步,不配置标签,直接审核角色配置,设置名字(此处为glue-role),确认策略,然后确认即可
部署EC2
EC2简单理解为AWS云上的虚拟机即可。打开EC2控制台,选择AMI(AmazonMachineImage)类型为“AmazonLinux2”,并确认架构为64位x86
机型选择t2.large或者t2.xlarge都可以(t3对应系列也可以,基本没什么负载,本着节俭的原则,选个2G以上内存的都可以满足需求)
实例配置这一页,IAMrole给我们刚刚创建的ec2-role
下一步标签页面,我们添加一个“键”为“Name”(注意大小写),“值”为“LinuxClient”的标签,供参考(标签可以不设置)
下一步配置安全组的时候,直接给一个网络全部放开的安全组,没有的话自己去创建一个
下一步审核页面可以确认下配置,然后直接点击“启动”,接下来会提示使用哪个密钥对(keypair)部署这个EC2,此处我们选择新建一个,并保存到本地(注意:也只有这一次可以保存,后续不能再下载了,如果要更换密钥很麻烦)
登陆EC2
创建好之后,我们使用SSH客户端登陆到机器,然后查看一下
wangzan:~$ssh-i~/.ssh/bmc-aws.pemec2-user
44..79.Theauthenticityofhost44..79.(44..79.)cantbeestablished.ECDSAkeyfingerprintisSHA:/BosjrkiuZkSIsuSlUHRt2CPITqx8hh8IMfSv9mJVzo.ECDSAkeyfingerprintisMD5:88:bc:5c:f0:c8:87:76:da:48:2b:24:06:6b:63:54:92.Areyousureyouwanttocontinueconnecting(yes/no)?yesWarning:Permanentlyadded44..79.(ECDSA)tothelistofknownhosts.__
__
_)_
(/AmazonLinux2AMI___
\___
___