云上Hadoop的部署结构

在云上部署Hadoop是比较灵活的,可以根据不同的业务目标部署Hadoop集群,笔者总结了在云上的大体部署结构。

经典模式




系统上云 架构 云架构的部署方式_Hadoop

传统的部署模式如上,线下的机器比较固定,所以一般的节点上会部署Datanode、NodeManager节点。


经典模式2


系统上云 架构 云架构的部署方式_大数据_02

一般把节点分为:Master Node、Core Node、Task Node。这么部署结构相对灵活,也就是Task Node就部署NodeManager。如果需要添加计算能力,就添加Task Node。且因为Task Node无状态,在缩小集群时也相对简单。(这样就避免了在线下经常出现的,计算与存储不匹配的问题,导致资源浪费)

存储计算分离


系统上云 架构 云架构的部署方式_Hadoop_03


系统上云 架构 云架构的部署方式_大数据_04

在此模式下,数据放在OSS中,可以启动Hadoop集群分析数据。这种模式最大的好处就是Hadoop集群可以用完就释放掉,最大节约成本,E-Mapreduce也会提供按需计费的模式。

在一些常见的业务模式下,用户需要的离线分析只需要在晚上一段时间内完成即可。这样,在半夜启动一个集群,分析OSS已经存放的数据非常合适。

tips: HADOOP-12756 Hadoop会支持读取阿里云的OSS

第一个图的做法是,提供一个OSSFileSystem。第二个图的做法是,底层的HDFS直接代理走到OSS中,把HDFS做成无状态的,这么做的好处就是HDFS可以做一些类似alluxio的功能 ,且对上层完全透明。(目前还没有实现)

云数据共享


系统上云 架构 云架构的部署方式_运维_05

当客户有多个集群时,且有很多表时,元数据可以放在RDS(mysql)中,这样用户可以同时保有永久集群,也可以再晚上启动一个临时集群分析数据后释放掉。

用户数据可以放在 OSS或者永久集群中。

VPC模式


系统上云 架构 云架构的部署方式_Hadoop_06

这个主要是为了安全,用户的业务、大数据系统全部在一个私有网络中,这个网络默认情况下跟外网是不通的,当然也可以通过技术手段也可以打通。

混合云模式


系统上云 架构 云架构的部署方式_大数据_07

在当前,客户线下有很多专有系统,这些系统一时半会也不能上云,比如:CRM、ERP、oracle等。但是用户想用云的大数据分析数据。这个时候可以做一个混合云的方案,数据可以直接通过专线上传到云端。

以上的部署结构,都可以混合使用,满足客户自身的需求。