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

时间:2019-04-25 17:55:48

标签: kubernetes apache-flink flink-streaming

我想用会话作业创建一个新的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流程之前创建一个内部负载平衡器。

2 个答案:

答案 0 :(得分:1)

Kubernetes主站分配给您的nodePorts61236124之类的6125的原因是{{1} },由kube-apiserver上的nodePorts选项标识。该范围的默认值为--service-node-port-range

您只需将该标志30000-32767添加到您的kubeapi-server配置中,通常在--service-node-port-range下,其值如下:

/etc/kubernetes/manifests/kube-apiserver.yaml

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

作为FLIP-6的一个副节点,K8s正在进行中(截至撰写本文时),您可以看到它在Kubernetes中是一个非常准系统,因为jobmanager并没有真正动态地创建您的taskmanager和分配资源。

答案 1 :(得分:1)

在flink-conf.yaml中设置

high-availability.jobmanager.port: 6123

这将使资源管理器连接恢复到您要使用的静态端口。