当前位置: 首页 > 知识库问答 >
问题:

kubernetes中的Flink部署无法启动作业

傅博容
2023-03-14

我按照以下指南在kubernetes创建了一个flink集群:https://ci.apache.org/projects/flink/flink-docs-release-1.11/ops/deployment/native_kubernetes.html

作业管理器正在运行。当作业提交给作业管理器时,它生成了一个任务管理器pod,但任务管理器无法连接到作业管理器。

2020-10-29 13:22:51,069 INFO  org.apache.flink.runtime.taskexecutor.TaskExecutor           [] - Connecting to ResourceManager akka.tcp://flink@detection-engine-dev.team-anti-cheat:6123/user/rpc/resourcemanager_*(00000000000000000000000000000000).
2020-10-29 13:22:51,176 WARN  akka.remote.transport.netty.NettyTransport                   [] - Remote connection to [detection-engine-dev.team-anti-cheat/10.123.155.112:6123] failed with java.io.IOException: Connection reset by peer
2020-10-29 13:22:51,176 WARN  akka.remote.transport.netty.NettyTransport                   [] - Remote connection to [detection-engine-dev.team-anti-cheat/10.123.155.112:6123] failed with org.apache.flink.shaded.akka.org.jboss.netty.handler.codec.frame.TooLongFrameException: Adjusted frame length exceeds 10485760: 352518404 - discarded
2020-10-29 13:22:51,180 WARN  akka.remote.ReliableDeliverySupervisor                       [] - Association with remote system [akka.tcp://flink@detection-engine-dev.team-anti-cheat:6123] has failed, address is now gated for [50] ms. Reason: [Association failed with [akka.tcp://flink@detection-engine-dev.team-anti-cheat:6123]] Caused by: [The remote system explicitly disassociated (reason unknown).]
2020-10-29 13:22:51,183 INFO  org.apache.flink.runtime.taskexecutor.TaskExecutor           [] - Could not resolve ResourceManager address akka.tcp://flink@detection-engine-dev.team-anti-cheat:6123/user/rpc/resourcemanager_*, retrying in 10000 ms: Could not connect to rpc endpoint under address akka.tcp://flink@detection-engine-dev.team-anti-cheat:6123/user/rpc/resourcemanager_*.
2020-10-29 13:23:01,203 WARN  akka.remote.transport.netty.NettyTransport                   [] - Remote connection to [detection-engine-dev.team-anti-cheat/10.123.155.112:6123] failed with java.io.IOException: Connection reset by peer

共有1个答案

甄胡非
2023-03-14

如果您的问题是TM找不到JM,那么您可能必须使用Statefulset类型的pod。因此,您可以对其主机名进行静态配置。下面是我的示例https://github.com/felipegutierrez/explore-flink/tree/master/k8s

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: flink-taskmanager
  namespace: kafka
spec:
  replicas: 3
  serviceName: flink-taskmanager
  selector:
    matchLabels:
      app: flink-taskmanager # has to match .spec.template.metadata.labels
  template:
    metadata:
      labels:
        app: flink-taskmanager # has to match .spec.selector.matchLabels
    spec:
      hostname: flink-taskmanager
      volumes:
      - name: flink-config-volume
        configMap:
          name: flink-config
          items:
          - key: flink-conf.yaml
            path: flink-conf.yaml
          - key: log4j-console.properties
            path: log4j-console.properties
      - name: tpch-dbgen-data
        persistentVolumeClaim:
          claimName: tpch-dbgen-data-pvc
      - name: tpch-dbgen-datarate
        persistentVolumeClaim:
          claimName: tpch-dbgen-datarate-pvc
      containers:
      - name: taskmanager
        image: felipeogutierrez/explore-flink:1.11.2-scala_2.12
        imagePullPolicy: Always # Always/IfNotPresent
        env:
        args: ["taskmanager"]
        ports:
        - containerPort: 6122
          name: rpc
        - containerPort: 6125
          name: query-state
        - containerPort: 9250
        livenessProbe:
          tcpSocket:
            port: 6122
          initialDelaySeconds: 30
          periodSeconds: 60
        volumeMounts:
        - name: flink-config-volume
          mountPath: /opt/flink/conf/
        - name: tpch-dbgen-data
          mountPath: /opt/tpch-dbgen/data
          subPath: data
        - mountPath: /tmp
          name: tpch-dbgen-datarate
          subPath: tmp
        securityContext:
          runAsUser: 9999  # 
 类似资料:
  • 现在我们已经将服务部署为具有多个副本的库伯内特斯部署。一旦服务器崩溃,库伯内特斯将其容器迁移到另一台可用的服务器,该服务器的任务约为3~5分钟。 迁移时,客户端可以访问部署服务,因为我们还有其他正在运行的副本。但有时请求会失败,因为负载均衡器重定向到死亡或迁移容器。 如果Kubernetes能够自动启动死副本,并在其他服务器上运行后添加它们,那就太好了。否则,我们需要像haproxy一样设置LB,

  • 我有一个部署,其中包括一个configMap、persistentVolumeClaim和一个服务。我已经更改了configMap并将部署重新应用到我的集群中。我了解到此更改不会在部署中自动重启pod: 下面是Wiki.yaml的样子:

  • 我准备所有的入口清单文件,以保持最新的apiVersion(networking.k8s.io/v1)升级我的群集从1.19到1.22。 我正在删除以前的入口规则,然后重新创建: 不幸的是,入口是创建的,但使用的是apiVersion extensions/v1beta1,这与我清单上的内容不同: 下面是我正在使用的YAML的一个示例: Kubernetes版本: 入口控制器版本(我从0.41升级

  • 在独立kubernetes模式(会话集群)中部署flink后,我无法使用flink GUI上载任何新作业。单击添加新按钮并选择jar文件后,进度带结束,什么也没有发生。作业管理器日志中没有关于此的信息/错误。当我尝试上载任何文件(如文本文件)时,我收到一个错误,日志中有一个信息: 我还尝试上传假的jar(一个名为.jar的空文件),它可以工作——我可以上传这种文件。 我有一个全新的、干净的Apac

  • 启动wildfly服务器时使用:/独立的。sh或部署我的war时,我收到错误: 据我所知,没有部署任何东西。部署文件夹中没有?杀了java,又试了一次,甚至尝试了重启。 我错过了什么?

  • 为了使其可部署,我将这个类添加到我的项目中: POM: