Apache Spark 2.3 加入支持Native Kubernetes及新特性文档下载

简介: Apache Spark 2.3 加入支持Native Kubernetes及新特性文档下载

在开始之前我们需要知道


什么是Kubernetes


Kubernetes(通常写成“k8s”)是最开始由google设计开发最后贡献给Cloud Native Computing Foundation的开源容器集群管理项目。它的设计目标是在主机集群之间提供一个能够自动化部署、可拓展、应用容器可运营的平台。Kubernetes通常结合docker容器工具工作,并且整合多个运行着docker容器的主机集群。



介绍


开源社区在过去一年中一直致力于为Kubernetes的数据处理,数据分析和机器学习工作负载提供支持。 Kubernetes中的新扩展功能(如自定义资源和自定义控制器)可用于创建与各个应用程序和框架的深度集成。


传统上,数据处理工作负载已经在像YARN / Hadoop堆栈这样的专用设置中运行。 但是,统一Kubernetes上所有工作负载的控制层可以简化群集管理并提高资源利用率。


51361411d62c1e96356789da42e16b25.jpg


带有原生Kubernetes支持的Apache Spark 2.3结合了两个着名的开源项目中, large-scale 数据处理框架; 和Kubernetes。


Apache Spark是数据科学家必不可少的工具,为从大规模数据转换到分析到机器学习的各种应用提供强大的平台。 数据科学家们一致采用容器,通过实现诸如依赖性打包和创建可重现的构件等好处来改进其工作流程。 考虑到Kubernetes是管理集装箱环境的事实标准,在Spark中支持Kubernetes API是非常合适的。


具体而言,Kubernetes中的本地Spark应用程序充当自定义控制器,该应用程序创建Kubernetes资源以响应Spark调度程序发出的请求。 与在Kubernetes中以独立模式部署Apache Spark相反,本地方法提供了对Spark应用程序的精细管理,提高了弹性,并与日志记录和监视解决方案无缝集成。 该社区还在探索高级用例,如管理流式工作负载和利用Istio等服务网格。



要在Kubernetes集群上自己尝试,只需下载官方Apache Spark 2.3发行版的二进制文件即可。 例如,下面我们描述运行一个简单的Spark应用程序来计算三个Spark执行程序之间的数学常量Pi,每个执行程序在一个单独的窗格中运行。 请注意,这需要运行Kubernetes 1.7或更高版本的集群,配置为访问它的kubectl客户端,以及缺省命名空间和服务帐户所需的RBAC规则。

$ kubectl cluster-info
Kubernetes master is running at https://xx.yy.zz.ww
$ bin/spark-submit \
    --master k8s://https://xx.yy.zz.ww \
    --deploy-mode cluster \
    --name spark-pi \
    --class org.apache.spark.examples.SparkPi \
    --conf spark.executor.instances=5 \
    --conf spark.kubernetes.container.image=<spark-image> \
    --conf spark.kubernetes.driver.pod.name=spark-pi-driver \
    local:///opt/spark/examples/jars/spark-examples_2.11-2.3.0.jar


要观看群集上创建的Spark资源,可以在单独的终端窗口中使用以下kubectl命令。

$ kubectl get pods -l 'spark-role in (driver, executor)' -w
NAME              READY     STATUS    RESTARTS   AGE
spark-pi-driver   1/1       Running   0          14s
spark-pi-da1968a859653d6bab93f8e6503935f2-exec-1   0/1       Pending   0         0s
...


结果可以在作业执行期间通过运行流式传输:

$ kubectl logs -f spark-pi-driver


当应用程序完成时,您应该在驱动程序日志中看到Pi的计算值。


在Spark 2.3中,我们首先支持用Java和Scala编写的Spark应用程序,并支持从各种数据源(包括HTTP,GCS,HDFS等)进行资源本地化。 我们还密切关注Spark执行者的失败和恢复语义,为未来的发展打下坚实的基础。 立即开始使用开源文档(https://spark.apache.org/docs/latest/running-on-kubernetes.html)。



参与


在不久的将来有很多令人兴奋的工作要做。我们正在积极研究诸如动态资源分配,依赖关系的群集分段,对PySpark&SparkR的支持,对Kerberized HDFS集群的支持以及客户端模式和流行笔记本的交互式执行环境等功能。对于爱上Kubernetes以声明方式管理应用程序的方式的人们,我们也一直致力于Kubernetes Operator的spark-submit,它允许用户声明式地指定和提交Spark应用程序。


我们刚刚开始!我们希望您能参与并帮助我们进一步发展项目。


加入spark-dev和spark-user邮件列表[https://spark.apache.org/community.html]。

在Kubernetes组件下的Apache Spark JIRA[https://issues.apache.org/jira/issues/?jql=project+%3D+SPARK+AND+component+%3D+Kubernetes]中提出问题。

周三早上10点参加我们的SIG会议[https://github.com/kubernetes/community/tree/master/sig-big-data]。

非常感谢Apache Spark和Kubernetes的贡献者分布在多个组织(Google,Databricks,Red Hat,Palantir,Bloomberg,Cloudera,PepperData,Datalayer,HyperPilot等),他们花费了数百小时来完成这项工作。我们期待看到更多的人为该项目做出贡献并帮助其进一步发展。

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。 &nbsp; &nbsp; 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
机器学习/深度学习 分布式计算 算法
Spark快速大数据分析PDF下载读书分享推荐
《Spark快速大数据分析》适合初学者,聚焦Spark实用技巧,同时深入核心概念。作者团队来自Databricks,书中详述Spark 3.0新特性,结合机器学习展示大数据分析。Spark是大数据分析的首选工具,本书助你驾驭这一利器。[PDF下载链接][1]。 ![Spark Book Cover][2] [1]: https://zhangfeidezhu.com/?p=345 [2]: https://i-blog.csdnimg.cn/direct/6b851489ad1944548602766ea9d62136.png#pic_center
603 1
Spark快速大数据分析PDF下载读书分享推荐
|
缓存 Kubernetes 数据安全/隐私保护
k8s1.18多master节点高可用集群安装-超详细中文官方文档
k8s1.18多master节点高可用集群安装-超详细中文官方文档
|
Kubernetes 应用服务中间件 API
kubernetes HPA-超详细中文官方文档
kubernetes HPA-超详细中文官方文档
|
存储 Java BI
探索Apache POI库:强大的Excel和Word文档处理工具
在企业应用和数据处理中,Excel和Word文档是常见的数据交换和存储格式。然而,处理和操作这些文档可能是一项繁琐的任务。Apache POI库作为一款强大的文档处理工具,可以帮助我们更轻松地进行Excel和Word文档的读写、编辑和生成。本文将深入探讨Apache POI库的基本概念、特点,以及如何在实际应用中使用它进行文档处理。
1723 0
|
编解码 Kubernetes 容器
有奖评测!容器服务 Kubernetes 版 ACK 文档体验评测等你来
诚邀容器服务 Kubernetes 版 ACK 用户参与文档体验评测!2024年8月14日至9月25日,完成15个场景任务并提供真实评分、改进建议及体验视频,即可获300元现金奖励;最佳建议另有100元奖金。任务需对比多云文档并按指引录制视频。详情请见活动页面与钉群通知。名额有限,速来参加!
|
Linux 网络安全 API
Linux系统之使用apache部署webserver下载站点
Linux系统之使用apache部署webserver下载站点
272 0
|
数据采集 机器学习/深度学习 Java
数据猎手:使用Java和Apache HttpComponents库下载Facebook图像
本文介绍了如何使用Java和Apache HttpComponents库从Facebook获取图像数据。通过设置爬虫代理IP以避免限制,利用HttpClient发送请求,解析HTML找到图像链接,然后下载并保存图片。提供的Java代码示例展示了实现过程,包括创建代理配置、线程池,以及下载图片的逻辑。注意,实际应用需根据Facebook页面结构进行调整。
381 6
数据猎手:使用Java和Apache HttpComponents库下载Facebook图像
|
Apache PHP Windows
apache下载
apache下载
180 1
|
SQL Apache 流计算
Apache Flink官方网站提供了关于如何使用Docker进行Flink CDC测试的文档
【2月更文挑战第25天】Apache Flink官方网站提供了关于如何使用Docker进行Flink CDC测试的文档
1609 3
|
Apache Windows
小白下载和安装Apache的教程(保姆级)
小白下载和安装Apache的教程(保姆级)
1735 0

热门文章

最新文章

推荐镜像

更多