目录
🧡Spark on Yarn vs Spark on K8S
💟这里是CS大白话专场,让枯燥的学习变得有趣!
💟没有对象不要怕,我们new一个出来,每天对ta说不尽情话!
💟好记性不如烂键盘,自己总结不如收藏别人!
🧡Spark vs Hadoop
💌Spark的出现并非会替代Hadoop,而是对Hadoop的补充。
💌Spark是基于内存的计算框架,最大的优点就是速度快,但是随之带来的缺陷就是数据断电即失,因此还需要Hadoop中的HDFS来帮忙存储分布式数据。
💌Spark在数据处理上的优势也非常明显,包括四大组件:Spark Mlib(数据挖掘)、Spark Sql(数据查询)、Spark Streaming(实时流式处理)和Spark GraphX(图计算),相比Hadoop的MapReduce来说功能更强大。
💌但是Spark也不能完全替代MapReduce!正是因为Spark将中间数据存在内存中,如果数据较多、内存块较大,则非常占用内存资源甚至内存溢出,当与其他资源需求型服务一同运行时就是灾难,这种情况下,还是MapReduce更为合适。
🧡Spark on Yarn vs Spark on K8S
💌现在很多大厂都把服务部署到K8S云平台上运行了,Spark作为大数据计算框架也可以由K8S来编排调度,那么和on Yarn有什么区别呢?
🍠Yarn是做资源调度的,而K8S在资源调度的基础上,还可以对整个容器进行调度,也就是调度服务应用。
🍠Yarn是离线管理,K8S在线离线管理都可以。
🍠K8S不仅可以运行Spark,所有容器化的服务都可以部署其中。
🍠K8S有更好的隔离性。
🍠K8s缺少任务队列、动态资源分配和external shuffle service 等特性,需要进行优化,如:
京东Spark自研Remote Shuffle Service在大促中的应用实践http://t.csdn.cn/Hm5BG