k8s上的火花与k8s操作器上的火花的对比是怎样的

技术spark on k8s与spark on k8s operator的对比是怎样的这期内容当中小编将会给大家带来有关spark on k8s与spark on k8s operator的对比是怎样的,文章内容丰富且以

本期,边肖将为您带来k8s上的spark和k8s上的spark operator的对比。文章内容丰富,从专业角度进行分析和描述。看完这篇文章,希望你能有所收获。

对于目前基于k8s的的spark应用,主要采用两种方式运行

火花在k8s上由火花原生支持

基于k8s算子的k8s算子火花

前者是spark社区引入k8s客户端支持资源管理框架K8S的实现。

后者是k8s社区为支持spark开发的运营商。

k8s上的差异spark在k8s上的操作者社区支持spark社区非官方支持版本的GoogleCloudPlatform要求根据官网安装Spark=2.3,Kubernetes=1.6 Spark 2.3,Kubernetes=1.13。K8s pod创建列表编辑删除的权限是必须的,需要自己编译源代码来构建镜像。构建过程繁琐,k8s管理员需要安装孵化器/sparkoperator,需要Pod的权限创建列表编辑删除才能通过spark submit直接提交。比如在:下,代码1支持客户端和集群模式,k8s上的spark通过yaml配置文件提交,支持客户端和集群模式,提交如代码2。具体参数参考火花操作员配置的优势,以符合火花的方式提交任务。对于习惯了spark的用户来说,更容易使用k8s配置文件提交任务,可重用性强。缺点:运行后,驱动的资源不会自动释放。运行后,驱动程序的资源不会自动释放。对于spark提交方法,无论是客户端提交还是集群提交,都继承了SparkApplication。客户端提交,子类是JavaMainApplication,通过反射运行。对于k8s任务分析,集群管理器是KubernetesClusterManager,与向纱线提交任务的方式没有区别。以集群模式提交。对于k8s任务,spark程序的入口是KubernetesClientApplication,客户端会建立一个clusterIp为None的服务,执行器会和这个服务进行rpc,比如任务提交的交互。并且会构建一个以driver-conf-map为后缀的configMap,在构建spark driver pod时以volumn mount的形式引用,在驱动提交任务时这个文件的内容最终以- properties-file的形式提交给spark driver。因此,spark.driver.host等配置项被传输到驱动程序,同时会建立一个后缀为-hadoop-config的configMap。但是k8s图像怎么区分是运行执行器还是驱动程序呢?一切都在dockerfile(根据hadoop和kerbeors的不同环境配置不同)和entrypoint中,其中shell区分了驱动程序和执行器;采用k8s CRD控制器机制定制CRD,根据操作员SDK监控相应的添加、删除、检查事件。如果监控到对应CRD的创建事件,则根据对应的yaml文件配置项建立pod提交spark任务。具体实施请参考k8s操作员设计上的火花。在集群和客户端模式下提交的具体原则与k8s上的spark一致,因为镜像重用是spark的官方镜像代码1。

-

bin/spark-提交\

-master k8 s ://3359192 . 1688888886

-部署-模式集群\

名字

park-pi \
    --class org.apache.spark.examples.SparkPi \
    --conf spark.executor.instances=2 \
    --conf "spark.kubernetes.namespace=dev" \
    --conf "spark.kubernetes.authenticate.driver.serviceAccountName=lijiahong" \
    --conf "spark.kubernetes.container.image=harbor.k8s-test.uc.host.dxy/dev/spark-py:cdh-2.6.0-5.13.1" \
    --conf "spark.kubernetes.container.image.pullSecrets=regsecret" \
    --conf "spark.kubernetes.file.upload.path=hdfs:///tmp" \
    --conf "spark.kubernetes.container.image.pullPolicy=Always" \
    hdfs:///tmp/spark-examples_2.12-3.0.0.jar

code 2
---
apiVersion: "sparkoperator.k8s.io/v1beta2"
kind: SparkApplication
metadata:
  name: spark-pi
  namespace: dev
spec:
  type: Scala
  mode: cluster
  image: "gcr.io/spark-operator/spark:v3.0.0"
  imagePullPolicy: Always
  mainClass: org.apache.spark.examples.SparkPi
  mainApplicationFile: "local:///opt/spark/examples/jars/spark-examples_2.12-3.0.0.jar"
  sparkVersion: "3.0.0"
  restartPolicy:
    type: Never
  volumes:
    - name: "test-volume"
      hostPath:
        path: "/tmp"
        type: Directory
  driver:
    cores: 1
    coreLimit: "1200m"
    memory: "512m"
    labels:
      version: 3.0.0
    serviceAccount: lijiahong
    volumeMounts:
      - name: "test-volume"
        mountPath: "/tmp"
  executor:
    cores: 1
    instances: 1
    memory: "512m"
    labels:
      version: 3.0.0
    volumeMounts:
      - name: "test-volume"
        mountPath: "/tmp"

上述就是小编为大家分享的spark on k8s与spark on k8s operator的对比是怎样的了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/147376.html

(0)

相关推荐

  • 怎么将python项目打包成exe与安装包

    技术怎么将python项目打包成exe与安装包这篇文章主要介绍“怎么将python项目打包成exe与安装包”,在日常操作中,相信很多人在怎么将python项目打包成exe与安装包问题上存在疑惑,小编查阅了各式资料,整理出

    攻略 2021年11月16日
  • 怎么使用百度siteapp将PC网站转化成手机网站

    技术怎么使用百度siteapp将PC网站转化成手机网站本篇文章为大家展示了怎么使用百度siteapp将PC网站转化成手机网站,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。许多朋友

    攻略 2021年11月3日
  • 如何打补丁PSU

    技术如何打补丁PSU这篇文章主要讲解了“如何打补丁PSU”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何打补丁PSU”吧!首先说一下下载补丁和最新opatch的方法:都

    攻略 2021年11月15日
  • Disruptor的共享与缓存是怎样的

    技术Disruptor的共享与缓存是怎样的这篇文章将为大家详细讲解有关Disruptor的共享与缓存是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。什么是共享下图是

    攻略 2021年10月21日
  • 什么是91视频

    技术什么是91视频本篇内容主要讲解“什么是91视频”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“什么是91视频”吧! 91视频是一款视频播放软件,

    攻略 2021年10月25日
  • DM7 RAC数据库怎样恢复成单机数据库

    技术DM7 RAC数据库怎样恢复成单机数据库本篇文章为大家展示了DM7 RAC数据库怎样恢复成单机数据库,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。DM7 RAC数据库恢复成单

    攻略 2021年11月30日