hadoop、spark和k8s等大数据架构

首先谈谈大数据架构

五横:

数据采集层:既包括传统的ETL离线采集、也有实时采集、互联网爬虫解析等等。

数据处理层:根据数据处理场景要求不同,可以划分为HADOOP、MPP、流处理等等。

数据分析层:主要包含了分析引擎,比如数据挖掘、机器学习、 深度学习

数据访问层:主要是实现读写分离,将偏向应用的查询等能力与计算能力剥离,包括实时查询、多维查询、常规查询等应用场景。

数据应用层:根据企业的特点不同划分不同类别的应用,比如针对运营商,对内有精准营销、客服投诉、基站分析等,对外有基于位置的客流、基于标签的广告应用等等。

一纵:

数据管理层:主要是实现数据的管理和运维,它横跨多层,实现统一管理。

然后谈谈 hadoop 和 spark

在这里插入图片描述

 

关键区别

hadoop是批处理工具,更擅长处理离线数据,而spark在内存中处理数据,可以是实时处理。

在这里插入图片描述

 Hadoop基于大数据的批处理。 这意味着数据会在一段时间内先存储下来,然后使用Hadoop进行处理。

在Spark中,处理可以实时进行。

Spark中的这种实时处理能力帮助我们解决实时分析问题。

除此之外,Spark能够比Hadoop MapReduce( Hadoop处理框架)快100倍地进行批处理。

因此,目前Apache Spark是业界大数据处理的首选工具。

接着聊聊spark 和 k8s:

k8s全称kubernetes,k8s是为容器服务而生的一个可移植容器的编排管理工具,越来越多的公司正在拥抱k8s,并且当前k8s已经主导了云业务流程,推动了微服务架构等热门技术的普及和落地,正在如火如荼的发展。那么称霸容器领域的k8s究竟是有什么魔力呢?

从架构设计层面,我们关注的可用性,伸缩性都可以结合k8s得到很好的解决,如果你想使用微服务架构,搭配k8s,真的是完美,再从部署运维层面,服务部署,服务监控,应用扩容和故障处理,k8s都提供了很好的解决方案。

具体来说,主要包括以下几点:

  1. 服务发现与调度
  2. 负载均衡
  3. 服务自愈
  4. 服务弹性扩容
  5. 横向扩容
  6. 存储卷挂载

总而言之,k8s可以使我们应用的部署和运维更加方便。

Spark本身的设计更偏向使用静态的资源管理,虽然Spark也支持了类似Yarn等动态的资源管理器,但是这些资源管理并不是面向动态的云基础设施而设计的,在速度、成本、效率等领域缺乏解决方案。随着Kubernetes的快速发展,数据科学家们开始考虑是否可以用Kubernetes的弹性与面向云原生等特点与Spark进行结合。在Spark 2.3中,Resource Manager中添加了Kubernetes原生的支持。

意味着 我们可以使用k8s对Spark进行管理了,而且能运用云的特性,很好的进行集群伸缩,降低我们的成本以及当运算资源不足时快速增加节点。

参考链接:大数据平台架构--学习笔记 - JackSun924 - 博客园

参考链接:hadoop组件---spark----全面了解spark以及与hadoop的区别_直到世界的尽头-CSDN博客_spark是hadoop的组件

参考链接:什么是K8S - 知乎

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值