您现在的位置:首页>>新闻中心>>行业新闻
新闻中心

Hadoop现在怎么样了?

我们在提到大数据之前提到过Hadoop。Hadoop是大数据的基本框架,是大数据技术的代表。在一个开源组件中,一个接一个地引用hdfs、mapreduce、yarn、hbase、hive、tez和其他Hadoop生态系统。但最近似乎有所不同。


Hadoop三巨头


曾经是三大公司之一的mapr向加州就业发展机构提交了文件,称如果没有发现新的投资者,该公司将裁员122人,并关闭其在硅谷的总部。它曾经是一家价值10亿美元的哈多普分销公司。上面说你跪在地上,另外两个巨人在一起取暖。这并不能完全解释哈杜普的问题。


2003年,根据谷歌发布的三篇论文,谷歌的三驾马车从幕后走到平台,奠定了十年以上大数据的基础,形成了Hadoop生态圈的第一圈:分布式文件系统HDFS、分布式计算MapReduce、基础NOSQL数据库(Bigtable)和纱线资源调度服务。在一天的中期,Hadoop生态系统正在蓬勃发展,HortonWorks、Cloudera和MaPR一直在进行技术更新,并开发了一种基于Hadoop的新工具。Hive的出现使SQL类支持能够迅速占据市场,然后是基于Hadoop、Presto、imbala、Drill、Spark、TEZ、SQOP等的基于SQL的无限组件阵列。Hadoop的生态循环正在增长,随后兴起的新的计算框架和查询框架与Hadoop相兼容,例如预兼容的配置单元、与火花兼容的HDFS存储和纱线调度,所有这些都看起来很好。


但是,从以前的Hadoop是大数据的基本框架到目前Hadoop无法完全代表大数据,Hadoop只是大数据技术领域的一个分支,而其他分支正在努力发展成为一个新的大数据实现。


大数据技术栈


大数据技术栈通常分为资源调度层、分布式存储层、统一计算引擎层和统一接口层。


资源调度层:为了更好地管理资源,解决上层应用的问题,出现了许多新技术。许多公司已经开始使用集装箱布局技术来代替纱线进行资源管理。当然,纱也支持在hadoop 3之后安排码头工人的应用,这是对hadoop的改进。


分布式存储层:虽然HDFS是一种更通用的存储服务,但其固有的痛点在于它不支持小文件存储,并且由于其存储特性,它无法实现高性能的随机读写。


统一计算引擎:MapReduce现在基本上被Spark和Flink取代。当然,Spark和Flink也是Hadoop生态系统的一部分,但不要忘记,当Spark的底层存储基于S3时,可以完全放弃基于K8S的调度。 Hadoop的。毕竟,谁不是一个多才多艺的产品?


统一接口层:通过统一的SQL接口层降低大数据技术使用门槛是我们的共识。目前,Hadoop上的SQL技术也在蓬勃发展,对SQL的支持也在不断提高。但是,如果您不依赖HDFS存储,就无法在Hadoop上看到SQL。


这听起来并不是一个不好的时候哈多普,但哈多普似乎遇到了一个障碍。然而,hadoop 3也增加了很多功能。纱线支持码头集装箱,支持张索流的gpu调度,并为s3提供支持。蜂巢的llap(低延迟分析处理),联邦数据查询,以及对酸交易的全力支持,也让蜂巢朝着更好的方向发展。必须说,所有的技术现在都在向云源的方向发展。如果他们不成功,他们最终可能被遗忘。


云原生开源Yunkorn


Hortonworks和Cloudera的合并可能是Hadoop发展的另一个转折点。毕竟,合并的战略目标是关注于云。就在昨天,即19月7日,Cloudera的官方博客发布了一个新项目YuniKorn,该项目一直在大数据存储和通用计算平台的幕后工作。据报道,YuniKorn是容器编排系统的轻量级通用资源调度程序,负责为大数据工作负载分配/管理资源,包括批处理作业和驻留服务。如果您有兴趣,可以关注Github地址:https://github.com/cloudera/yunikorn-core


Yuni Korn是一个虚构的词,Y代表纱线,K代表K8S,uni代表统一,发音和独角兽一样。它的创建最初是为了支持这两个系统,但最终是为了创建一个可以支持任何容器协调器系统的统一调度程序。一方面,在大规模、多租户的环境中,可以有效地实现各种工作负载的细粒度资源共享,另一方面,可以动态地创建云原生环境。Yunikorn为混合工作负载(包括无状态批处理工作负载和状态服务)提供统一的跨平台调度体验,并支持但不限于Sharn和Kubernetes。


Yuni Korn的主模块


现在的Hadoop如何?


YuniKorn -scheduler-interface:调度程序接口是一个抽象层,资源管理平台(如YARN / K8s)将通过诸如GRPC /编程语言绑定之类的API进行通信。


Yunikorn核心:Yunikorn核心封装了所有调度算法。它从资源管理平台(如yarn/k8s)收集资源,并负责资源分配请求。它确定每个请求的最佳部署位置,然后将响应分配发送到资源管理平台。调度程序的核心是独立于底层平台的,所有的通信都是通过调度程序接口进行的。


Schedler Shim层:调度程序shim运行在主机系统上(比如yarn/k8 s)。它负责通过调度程序接口转换主机系统资源和资源请求,并将其发送到调度程序核心。在做出调度决策时,负责实际的吊舱/容器绑定。


Scheduler UI:调度程序UI提供了托管节点、计算资源、应用程序和队列的简单视图。


YuniKorn的一些特点


调度功能支持批处理作业和长期/有状态服务


具有最小/最大资源配额的分层池/队列


队列、用户和应用程序之间的资源公平性


基于公平性的跨队列抢占


对自定义资源类型(如GPU)的计划支持


丰富的编排约束支持


根据策略自动将传入容器请求映射到队列


使用节点的专用配额/ACL管理将大型集群拆分为子集群。


支持K8s谓词。如pod亲和力/反亲和力,节点选择器


支持持久存储、配额申请等。


配置图中的动态负载调度器配置(热刷新)


可以部署在Kuburt之上


Yuni Korn Web支持监视调度器队列、资源使用、应用程序等。..


我们不止一次听说XX不是银弹。没有技术能解决所有的问题。技术一直在发展。即使在Hadoop生态系统中,随着实时数据处理能力的提高,构建实时数据仓库和实时数据处理计算平台也比离线任务模式更受欢迎。总的来说,上云是大公司和小公司的大趋势。毕竟,它可以节省很多成本。但不排除云+本地混合模式。毕竟,现在的数据是黄金。无论如何,Hadoop相关的组件都是由HortonWorks和Cloudera的影响驱动的,并且许多技巧都是基于它们的技术堆栈来学习的,希望它们能够继续更好地工作。


中安威士:保护核心数据,捍卫网络安全


来源:网络收集


Copyright © 2016 中安威士(北京)科技有限公司 版权所有 京ICP备14001844号-1