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)

相关推荐

  • https

    技术https httpshttps认证流程
    服务器生成一对密钥,私钥自己留着,公钥交给数字证书认证机构(CA)
    CA进行审核,并用CA自己的私钥对服务器提供的公钥进行签名生成数字证书
    将生成的数字证书

    礼包 2021年11月9日
  • 抖音真人赞10个自助下单,介绍下抖音刷真人赞多少钱?

    技术抖音真人赞10个自助下单,介绍下抖音刷真人赞多少钱?于抖音新手怎么快速涨粉丝?
    1、大量关注别人,这样必定会带来许多的粉
    2、评论别人,不停地评论陌生人的抖音,只要看到有人发抖音就去留下高质量的评论,每次都坐上沙发,

    测评 2021年11月9日
  • MongoDB用户及权限管理之角色说明的示例分析

    技术MongoDB用户及权限管理之角色说明的示例分析这篇文章给大家分享的是有关MongoDB用户及权限管理之角色说明的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。mongodb安装完

    攻略 2021年11月25日
  • MapReduce执行流程

    技术MapReduce执行流程 MapReduce执行流程数据处理总流程
    MapReduce计算框架体现的是一个分治的思想。及将待处理的数据分片在每个数据分片上并行运行相同逻辑的map()函数,然后将每

    礼包 2021年11月9日
  • 9、gRPC

    技术9、gRPC 9、gRPC之前 protobuf 时安装过,不需安装快速开启 grpc 服务
    新建目录 testGrpc 。以及testGrpc/service 和testGrpc/clientte

    礼包 2021年12月5日
  • Java基础篇之如何使用日期与时间API技术

    技术Java基础篇之如何使用日期与时间API技术这篇文章主要介绍“Java基础篇之如何使用日期与时间API技术”,在日常操作中,相信很多人在Java基础篇之如何使用日期与时间API技术问题上存在疑惑,小编查阅了各式资料,

    攻略 2021年10月19日