Kubernetes(K8s)是一个开源的容器编排平台,在整个行业都是一个非常热门的技术平台。除了容器技术本身,K8s实际上是一个集群计算平台,它使其在大数据领域变得越来越重要。同时,主要的云大数据服务 - 包括亚马逊网络服务'(AWS')弹性MapReduce(EMR)、微软的Azure HDInsight(HDI)和谷歌云数据广告 - 迄今为止都在基于虚拟机的Hadoop集群上运行Apache Spark。在这个时代,不会直接在K8s集群上运行Spark更有意义吗?
毫不奇怪,谷歌,创建K8s的公司,认为这个问题的答案是肯定的。因此,今天,该公司宣布推出针对Kubernetes(K8s Dataproc)的Alpha Dataproc Alpha版本,允许Spark直接在基于Google Kubernetes Engine(GKE)的K8s集群上运行。该服务承诺在开源数据组件的相互依赖性和Spark应用程序的可移植性方面降低复杂性。这应该允许数据工程师,分析专家和数据科学家以简化的方式运行他们的Spark工作负载,减少集成和版本控制的麻烦。
翻录YARN
在与FebHost的简报中,Google Cloud的产品经理James Malone解释了Dataproc用户如何能够使用静态Hadoop / Spark发行版,这些发行版在Hadoop的YARN(“另一个资源管理器”)上运行所有内容,而是运行纯Spark直接在K8上工作。该产品基于谷歌在1月份推出的Apache Spark(“Spark运营商”)的Kubernetes运营商,使谷歌成为第一家提供基于Kubernetes的大数据PaaS(平台即服务)产品的主要云提供商。
Spark运营商已经可以在K8上运行Spark,但是Malone向我解释说有更好的方法可以做到这一点。虽然将Spark部署到您自己的K8s集群的DIY方法很好,但它本质上是一种IaaS(基础架构即服务)方法。因此,它需要K8s技能,并让客户负责一切,包括软件部署和集群维护。K8s Dataproc更好,因为它提供Dataproc的服务水平协议(SLA),Google Cloud Platform优化的开源组件,以及 - 通过Dataproc API - 抽象K8s细节和技能组合要求,提供集成管理和安全性。
多云,多引擎
Malone说,这里甚至还有一个多云支持游戏。虽然我没有完全理解何时或如何启动,但似乎意味着除了GKE之外,还可以支持Amazon Elastic Kubernetes Service(EKS)和Azure Kubernetes Services(AKS)K8s群集,Google支持最近宣布的Anthos技术表面上扮演了一个角色。此外还有一个生态系统游戏,允许第三方供应商将他们自己的组件集成到K8s Dataproc容器图像和集群中。
计划支持其他开源分析组件,包括Apache Flink,Presto和Apache Druid。Malone告诉我,对Apache Hive的支持也是可能的,但容纳完整的Hadoop堆栈将是棘手的。也就是说,如果我正确地理解了Malone的更广泛观点,那么无论如何,K8s Dataproc都是一个“后Hadoop”产品。
分享
通过更改Dataproc服务和Google对开源分析引擎本身的更改,K8s Dataproc成为可能。后者正在检查并致力于引擎的主流开源分支,实际上,AWS和Microsoft分别可以实现类似的EMR和HDI重新平台化。马龙表示,如果发生这种情况,谷歌不会感到悲痛,因为它认为云大数据平台的这种演变对整个行业来说是一个福音。反过来,这与公司采用K8本身的态度是一致的,这使得整个事情全面展开。