连接ResourceManager for Flink FLIP-6启动新的“会话作业”

问题描述 投票:1回答:2

我想用会话作业创建一个新的k8s部署;并在taskmanager中部署了一个flink-conf.yaml配置如下:

jobmanager.rpc.address: analytics-job
jobmanager.rpc.port: 6123

但是,似乎我的TaskManager拒绝使用端口6123并始终选择高端口?分析工作的k8s服务如下所示:

apiVersion: v1
kind: Service
metadata:
  name: analytics-job
spec:
  type: ClusterIP
  ports:
  - name: rpc
    port: 6123
  - name: blob
    port: 6124
  - name: query
    port: 6125
    # nodePort: 30025
  - name: ui
    port: 8081
    # nodePort: 30081
  selector:
    app: analytics
    stack: flink
    component: job-cluster

正如您所看到的,我已尝试过ClusterIP和NodePort服务类型。我宁愿拥有一个ClusterIP类型,因为它会在我的k8s Job / standalone-job.sh Flink进程前创建一个内部负载均衡器。

kubernetes apache-flink flink-streaming
2个回答
2
投票

在flink-conf.yaml中,设置

high-availability.jobmanager.port: 6123

这将使资源管理器连接回到您希望使用的静态端口。


1
投票

你没有获得由kubernetes大师分配的nodePorts61236124这样的6125的原因是nodePorts上的--service-node-port-range选项确定了kube-apiserver的端口范围。该范围的默认值为30000-32767

您可以将标志--service-node-port-range添加到您的kubeapi-server配置中,通常位于/etc/kubernetes/manifests/kube-apiserver.yaml下,其值如下:

--service-node-port-range=6000-32767

请记住,可能与节点上运行的某些其他服务存在端口重叠。

作为一个侧面节点,FLIP-6K8s正在进行的工作(截至本文撰写时)你可以看到它在Kubernetes中非常准确,因为jobmanager并不是真正动态创建你的任务管理器和分配资源。

© www.soinside.com 2019 - 2024. All rights reserved.