Spark 驱动程序 pod 陷入等待:Kubernetes 中的 PodInitializing 状态

2023-11-24

我正在 kubernetes 集群上运行 Spark 2.3 作业

kubectl版本

Client Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.3", GitCommit:"d2835416544f298c919e2ead3be3d0864b52323b", GitTreeState:"clean", BuildDate:"2018-02-09T21:51:06Z", GoVersion:"go1.9.4", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.3", GitCommit:"f0efb3cb883751c5ffdbe6d515f3cb4fbe7b7acd", GitTreeState:"clean", BuildDate:"2017-11-08T18:27:48Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}

当我在 k8s master 上运行 Spark Submit 时,驱动程序 pod 陷入等待:PodInitializing 状态。

如果我几乎并行提交作业,即依次提交 5 个作业,就会发生这种情况。

I tried kubectl 描述节点在运行驱动程序 pod 的节点上,这就是我得到的,我确实看到资源过度使用,但我希望 kubernetes 调度程序不会调度如果节点中的资源过度投入或节点位于没有准备好状态,在这种情况下节点处于就绪状态但如果节点位于,我会观察到相同的行为没有准备好 state.

Name:               **********
Roles:              worker
Labels:             beta.kubernetes.io/arch=amd64
                    beta.kubernetes.io/os=linux
                    kubernetes.io/hostname=****
                    node-role.kubernetes.io/worker=true
Annotations:        node.alpha.kubernetes.io/ttl=0
                    volumes.kubernetes.io/controller-managed-attach-detach=true
Taints:             <none>
CreationTimestamp:  Tue, 31 Jul 2018 09:59:24 -0400
Conditions:
  Type             Status  LastHeartbeatTime                 LastTransitionTime                Reason                       Message
  ----             ------  -----------------                 ------------------                ------                       -------
  OutOfDisk        False   Tue, 14 Aug 2018 09:31:20 -0400   Tue, 31 Jul 2018 09:59:24 -0400   KubeletHasSufficientDisk     kubelet has sufficient disk space available
  MemoryPressure   False   Tue, 14 Aug 2018 09:31:20 -0400   Tue, 31 Jul 2018 09:59:24 -0400   KubeletHasSufficientMemory   kubelet has sufficient memory available
  DiskPressure     False   Tue, 14 Aug 2018 09:31:20 -0400   Tue, 31 Jul 2018 09:59:24 -0400   KubeletHasNoDiskPressure     kubelet has no disk pressure
  Ready            True    Tue, 14 Aug 2018 09:31:20 -0400   Sat, 11 Aug 2018 00:41:27 -0400   KubeletReady                 kubelet is posting ready status. AppArmor enabled
Addresses:
  InternalIP:  *****
  Hostname:    ******
Capacity:
 cpu:     16
 memory:  125827288Ki
 pods:    110
Allocatable:
 cpu:     16
 memory:  125724888Ki
 pods:    110
System Info:
 Machine ID:                 *************
 System UUID:                **************
 Boot ID:                    1493028d-0a80-4f2f-b0f1-48d9b8910e9f
 Kernel Version:             4.4.0-1062-aws
 OS Image:                   Ubuntu 16.04.4 LTS
 Operating System:           linux
 Architecture:               amd64
 Container Runtime Version:  docker://Unknown
 Kubelet Version:            v1.8.3
 Kube-Proxy Version:         v1.8.3
PodCIDR:                     ******
ExternalID:                  **************
Non-terminated Pods:         (11 in total)

  Namespace                  Name                                                            CPU Requests  CPU Limits  Memory Requests  Memory Limits
  ---------                  ----                                                            ------------  ----------  ---------------  -------------
  kube-system                calico-node-gj5mb                                               250m (1%)     0 (0%)      0 (0%)           0 (0%)
  kube-system                kube-proxy-****************************************             100m (0%)     0 (0%)      0 (0%)           0 (0%)
  kube-system                prometheus-prometheus-node-exporter-9cntq                       100m (0%)     200m (1%)   30Mi (0%)        50Mi (0%)
  logging                    elasticsearch-elasticsearch-data-69df997486-gqcwg               400m (2%)     1 (6%)      8Gi (6%)         16Gi (13%)
  logging                    fluentd-fluentd-elasticsearch-tj7nd                             200m (1%)     0 (0%)      612Mi (0%)       0 (0%)
  rook                       rook-agent-6jtzm                                                0 (0%)        0 (0%)      0 (0%)           0 (0%)
  rook                       rook-ceph-osd-*****-gwb8j    0 (0%)        0 (0%)      0 (0%)           0 (0%)
  spark                      accelerate-test-5-a3bfb8a597e83d459193a183e17f13b5-exec-1       2 (12%)       0 (0%)      10Gi (8%)        12Gi (10%)
  spark                      accelerate-testing-1-8ed0482f3bfb3c0a83da30bb7d433dff-exec-5    2 (12%)       0 (0%)      10Gi (8%)        12Gi (10%)
  spark                      accelerate-testing-2-8cecc18bb42f31a386c6304bd63e9eba-driver    1 (6%)        0 (0%)      2Gi (1%)         2432Mi (1%)
  spark                      accelerate-testing-2-e8bd0607cc693bc8ae25cc6dc300b2c7-driver    1 (6%)        0 (0%)      2Gi (1%)         2432Mi (1%)

Allocated resources:
  (Total limits may be over 100 percent, i.e., overcommitted.)
  CPU Requests  CPU Limits  Memory Requests  Memory Limits
  ------------  ----------  ---------------  -------------
  7050m (44%)   1200m (7%)  33410Mi (27%)    45874Mi (37%)

Events:         <none>

Kubectl 描述 pod 给出以下消息

Name:         accelerate-testing-2-8cecc18bb42f31a386c6304bd63e9eba-driver
Namespace:    spark
Node:         ****
Start Time:   Mon, 13 Aug 2018 16:18:34 -0400
Labels:       launch-id=k8s-submit-service-cddf45ff-0d88-4681-af85-d8ed0359ce73
              spark-app-selector=spark-63f536fd87f8457796802767922ef7d9
              spark-role=driver
Annotations:  spark-app-name=accelerate-testing-2
Status:       Pending
IP:           
Init Containers:
  spark-init:
    Container ID:  
    Image:         ****:v2.3.0
    Image ID:      
    Port:          <none>
    Args:
      init
      /etc/spark-init/spark-init.properties
    State:          Waiting
      Reason:       PodInitializing
    Ready:          False
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /etc/spark-init from spark-init-properties (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from spark-token-mj86g (ro)
      /var/spark-data/spark-files from download-files-volume (rw)
      /var/spark-data/spark-jars from download-jars-volume (rw)
Containers:
  spark-kubernetes-driver:
    Container ID:  
    Image:         ******:v2.3.0
    Image ID:      
    Port:          <none>
    Args:
      driver
    State:          Waiting
      Reason:       PodInitializing
    Ready:          False
    Restart Count:  0
    Limits:
      memory:  2432Mi
    Requests:
      cpu:     1
      memory:  2Gi
    Environment:
      SPARK_DRIVER_MEMORY:        2g
      SPARK_DRIVER_CLASS:         com.myclass
      SPARK_DRIVER_BIND_ADDRESS:   (v1:status.podIP)
      SPARK_MOUNTED_CLASSPATH:    /var/spark-data/spark-jars/quantum-workflow-2.2.24.0-SNAPSHOT-assembly.jar:/var/spark-data/spark-jars/my.jar
      SPARK_MOUNTED_FILES_DIR:    /var/spark-data/spark-files
      SPARK_JAVA_OPT_0:           -Dspark.kubernetes.container.image=***
      SPARK_JAVA_OPT_1:           -Dspark.jars=s3a://my/my.jar,s3a://my/my1.jar
      SPARK_JAVA_OPT_2:           -Dspark.submit.deployMode=cluster
      SPARK_JAVA_OPT_3:           -Dspark.driver.blockManager.port=7079
      SPARK_JAVA_OPT_4:           -Dspark.executor.memory=10g
      SPARK_JAVA_OPT_5:           -Dspark.app.id=spark-63f536fd87f8457796802767922ef7d9
      SPARK_JAVA_OPT_6:           -Dspark.kubernetes.authenticate.driver.serviceAccountName=spark
      SPARK_JAVA_OPT_7:           -Dspark.master=k8s://https://kubernetes.default
      SPARK_JAVA_OPT_8:           -Dspark.driver.host=spark-1534191513364-driver-svc.spark.svc
      SPARK_JAVA_OPT_9:           -Dspark.executor.cores=2
      SPARK_JAVA_OPT_10:          -Dspark.kubernetes.executor.podNamePrefix=accelerate-testing-2-8cecc18bb42f31a386c6304bd63e9eba
      SPARK_JAVA_OPT_11:          -Dspark.driver.port=7078
      SPARK_JAVA_OPT_12:          -Dspark.kubernetes.namespace=spark
      SPARK_JAVA_OPT_13:          -Dspark.executor.memoryOverhead=2g
      SPARK_JAVA_OPT_14:          -Dspark.kubernetes.initContainer.configMapName=accelerate-testing-2-8cecc18bb42f31a386c6304bd63e9eba-init-config
      SPARK_JAVA_OPT_15:          -Dspark.kubernetes.initContainer.configMapKey=spark-init.properties
      SPARK_JAVA_OPT_16:          -Dspark.executor.instances=10
      SPARK_JAVA_OPT_17:          -Dspark.memory.fraction=0.6
      SPARK_JAVA_OPT_18:          -Dspark.driver.memory=2g
      SPARK_JAVA_OPT_19:          -Dspark.kubernetes.driver.pod.name=accelerate-testing-2-8cecc18bb42f31a386c6304bd63e9eba-driver
      SPARK_JAVA_OPT_20:          -Dspark.app.name=accelerate-testing-2
      SPARK_JAVA_OPT_21:          -Dspark.kubernetes.driver.label.launch-id=********
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from spark-token-mj86g (ro)
      /var/spark-data/spark-files from download-files-volume (rw)
      /var/spark-data/spark-jars from download-jars-volume (rw)
Conditions:
  Type           Status
  Initialized    False 
  Ready          False 
  PodScheduled   True 
Volumes:
  spark-init-properties:
    Type:      ConfigMap (a volume populated by a ConfigMap)
    Name:      accelerate-testing-2-8cecc18bb42f31a386c6304bd63e9eba-init-config
    Optional:  false
  download-jars-volume:
    Type:    EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:  
  download-files-volume:
    Type:    EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:  
  spark-token-mj86g:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  spark-token-mj86g
    Optional:    false
QoS Class:       Burstable
Node-Selectors:  <none>
Tolerations:     <none>
Events:
  Type     Reason          Age                  From                                               Message
  ----     ------          ----                 ----                                               -------
  Normal   SandboxChanged  44m (x518 over 18h)  kubelet, ****************************  Pod sandbox changed, it will be killed and re-created.
  Warning  FailedSync      19s (x540 over 18h)  kubelet, ****************************  Error syncing pod

我也尝试过kubectl top nodes没有一个节点过度使用资源


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spark 驱动程序 pod 陷入等待:Kubernetes 中的 PodInitializing 状态 的相关文章

随机推荐

  • 使用 Firebase Auth UI 时出现 Android API 31 FLAG_IMMUTABLE 错误

    我在 Firebase Auth UI 库期间在 API 31 设备中收到以下错误 仅电话号码凭据 Fatal Exception java lang IllegalArgumentException com sstech racemana
  • 下拉复选框输入闪亮

    Shiny 中是否可以有一个下拉列表 您可以在其中选择多个值 我知道selectInput有选项可以设置multiple T但我不喜欢所有选定的选项都在屏幕上可见 特别是因为我有超过 40 个选项 这同样适用checkboxGroupInp
  • QueryException SQLSTATE[HY000] [1045] 用户“homestead”@“localhost”的访问被拒绝(使用密码:YES)

    为什么会出现以下错误 QueryException SQLSTATE HY000 1045 用户访问被拒绝 homestead localhost 使用密码 YES My env文件如下 APP NAME Laravel APP ENV l
  • 什么控制 Ember 加载路线的显示位置?

    我本以为LoadingRoute将在中显示其模板 outlet 主 AppView 的 但似乎并非如此 是什么决定了它去往何处 这是一个JS Bin我的问题 加载消息没有出现在我期望的地方 事实上 它看起来是插入到带有 class 的标签的
  • Lisp 数据安全/验证

    目前这对我来说实际上只是一个概念性问题 在 Lisp 中 程序就是数据 数据就是程序 REPL 正是这样做的 读取然后评估 那么如何以一种安全的方式获取用户的输入呢 显然这是可能的 我的意思是 viaweb 现在 Yahoo Stores
  • PHP 中的 UTF-8 编码 xml

    我正在尝试使用 PHP 输出 XML 当我在 Firefox 中查看页面源时 一切似乎都很好 但是 页面本身无法正常显示 在 Firefox 中 当显示格式正确的 XML 时 它通常会在页面顶部显示以下内容 This XML file do
  • 有没有办法获取 Signalr hub 组中的连接数?

    这是我的问题 我想跟踪用户是否在线或离线并通知其他客户 我正在使用集线器并实现了 IConnected 和 IDisconnect 接口 我的想法是当集线器检测到连接或断开连接时向所有客户端发送通知 默认情况下 当用户刷新页面时 他将获得新
  • 如何向函数添加一次性点击事件?

    我想向函数添加一个单击事件侦听器 但只希望它发生一次 我怎么能这样做呢 如果可能的话 我也想远离 JQuery EDITED 由于我得到的答案完全满足了我的需求 我想我可以通过上下文使它更清楚一些 我正在编写一个绘制矩形的函数 首先单击按钮
  • 从构造函数创建委托

    使用反射 我尝试从无参数构造函数创建委托 如下所示 Delegate del GetMethodInfo gt System Activator CreateInstance type CreateDelegate delType stat
  • py2exe:减少库存档的大小

    我刚刚创建了第一个 py2exe 可执行文件 并注意到该 EXE 中创建了一个大小约为 1 4 MB 的 ZIP 文件 我的问题是 我可以减小它的大小吗 或者预计使用 py2exe 生成的 EXE 的典型大小约为 4 MB 这意味着所有文件
  • Rails 对象#空白?与 String#empty 相比?困惑

    Rails 文档有此信息用于Object blank 如果对象为 false 空或空白字符串 则该对象为空 例如 nil 和 为空白 但该方法的来源是这样的 File activesupport lib active support cor
  • 如何为编码视频设置标头元数据?

    我正在将一些图像编码为 mp4 容器内的 h264 视频 我本质上使用的是 ffmpeg 示例 muxing c 问题是我正在尝试在 mp4 容器中设置一些元数据 例如艺术家 标题等 我认为使用以下内容会起作用 但事实并非如此 AVDict
  • 第一项为“ID”的 CSV 文件在 Excel 中已损坏

    我正在尝试使用 java 将数据写入 csv 文件 但是当我尝试使用 excel 打开生成的文件时 出现错误 指出文件已损坏 在记事本中打开文件后 它看起来格式正确 所以我不确定问题是什么 我正在使用 FileWriter 类将数据输出到文
  • 获取目录大小的更有效方法

    我已经构建了一个递归函数来获取文件夹路径的目录大小 它可以工作 但是随着我必须搜索的目录数量不断增加 以及每个文件夹中的文件数量 这是一种非常缓慢 低效的方法 static string GetDirectorySize string pa
  • WPF:GroupBox动态高度

    我在 WPF 组框中的停靠面板内有一个文本框和数据网格
  • 错误:无法在 IntelliJ IDE 中找到或加载主类

    我是 Java 初学者 正在尝试使用 IntelliJ 运行我的代码 我刚刚使用 JDK 1 7 将其安装为 IDE 下面的代码甚至无法编译并不断给我错误 Error Could not find or load main class li
  • 如何内省 Cython C 扩展模块中定义的函数

    蟒蛇的inspectmodule 似乎无法检查 内置 函数的签名 其中包括 C 扩展模块中定义的函数 例如 Cython 定义的函数 有什么方法可以获取您在此类模块中定义的 Python 函数的签名 特别是在 Cython 中 我希望能够找
  • 将行从一个数据表复制到另一个数据表?

    如何将特定行从 DataTable 复制到 C 中的另一个 DataTable 将会有不止一排 foreach DataRow dr in dataTable1 Rows if some condition dataTable2 Rows
  • Safari 上 SVGforeignObject 中

    我在用着
  • Spark 驱动程序 pod 陷入等待:Kubernetes 中的 PodInitializing 状态

    我正在 kubernetes 集群上运行 Spark 2 3 作业 kubectl版本 Client Version version Info Major 1 Minor 9 GitVersion v1 9 3 GitCommit d283