You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Flink SQL Client连接至Kubernetes上的Flink集群?

前提:已通过Terraform + Helm部署Flink Kubernetes Operator(版本1.7.0),本地已下载对应版本的Flink SQL Client。

一、配置步骤

当前Kubernetes集群仅运行Flink Operator,尚未创建实际的计算集群,需通过Operator部署Session集群:

  • 创建Session集群配置文件(示例命名为flink-session.yaml):
apiVersion: flink.apache.org/v1beta1
kind: FlinkSessionCluster
metadata:
  name: flink-session
spec:
  image: apache/flink:1.17.1 # 需与Operator版本兼容,1.7.0 Operator对应Flink 1.17.x系列
  jobManager:
    replicas: 1
    resource:
      memory: "2048m"
      cpu: 1
  taskManager:
    resource:
      memory: "2048m"
      cpu: 1
  • 应用配置到集群:
kubectl apply -f flink-session.yaml
  • 等待Pod就绪,执行kubectl get pods确认flink-session-jobmanager-xxx和flink-session-taskmanager-xxx状态为Running。

Flink SQL Client需要连接JobManager的REST端口(默认8081),由于Session集群的默认Service为ClusterIP,需通过端口转发让本地访问:

kubectl port-forward svc/flink-session-jobmanager 8081:8081

保持该终端窗口处于打开状态,端口转发才能持续生效。

方法一:启动时直接指定连接参数

进入本地Flink SQL Client的bin目录,执行:

./sql-client.sh connect --remote-host localhost --remote-port 8081

方法二:修改配置文件

编辑Flink安装目录下的conf/sql-client-defaults.yaml,找到execution节点,修改为:

execution:
  planner: blink
  type: remote
  remote:
    host: localhost
    port: 8081

保存后启动SQL Client:

./sql-client.sh

二、连接验证方法

  1. 检查SQL Client启动状态
    启动后若出现Flink SQL>提示符,且无连接失败类报错,说明连接已建立。

  2. 执行测试SQL语句
    在SQL Client中运行简单测试语句:

SELECT CURRENT_TIMESTAMP;

若能正常返回时间戳结果,证明连接可用。

  1. 查看Flink WebUI
    在浏览器访问http://localhost:8081,进入Flink WebUI的「SQL」页面,可看到提交的查询任务,进一步验证连接有效性。

  2. 检查JobManager日志
    执行kubectl logs flink-session-jobmanager-xxx(替换为实际的JobManager Pod名称),查看日志中是否存在SQL Client连接的记录,确认连接正常建立。

内容的提问来源于stack exchange,提问作者Navid Sadeghi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 15:07:33