启动Flink SQL Client并连接到YARN集群会话
该命令用于启动Flink SQL Client,并连接到YARN集群会话:
${FLINK_HOME}/bin/sql-client.sh embedded -i ${FLINK_HOME}/conf/sql-client-init.sql -s yarn-session
各部分含义如下:
- 核心执行文件
${FLINK_HOME}/bin/sql-client.sh
:Flink SQL Client启动脚本
–${FLINK_HOME}
:Flink安装目录的环境变量
–sql-client.sh
:Flink SQL交互客户端的可执行脚本
- 运行模式参数
embedded
:指定SQL Client以嵌入式模式运行
– 特点:客户端与Flink集群在同一进程内启动
– 适用场景:开发调试、单机测试或轻量级作业
– 对比:remote模式
需连接独立部署的Flink集群
- 初始化脚本参数
-i ${FLINK_HOME}/conf/sql-client-init.sql
:指定启动时执行的初始化SQL文件
– 作用:预加载SQL语句(如创建表、设置配置、注册函数等)
– 示例场景:
-- sql-client-init.sql可能包含的内容
CREATE TABLE user_log (...); -- 预定义表结构
SET 'execution.checkpointing.interval' = '10s'; -- 设置检查点间隔
- 执行环境参数
-s yarn-session
:指定在YARN会话模式下运行Flink作业
– 工作原理:连接到已创建的YARN Session集群(需提前通过yarn-session.sh启动)
.
.
– 优势:
…资源复用:多个作业共享同一YARN会话资源
…快速提交:避免每次作业启动时的YARN资源申请开销
…集群管理:由YARN负责资源调度和容器管理
.
.
– 执行流程
…1.解析${FLINK_HOME}
环境变量定位Flink安装目录
…2.以嵌入式模式启动SQL Client进程
…3.执行初始化脚本sql-client-init.sql,完成环境准备
…4.连接到YARN集群中的现有会话(需确保yarn-session已提前启动)
…5.进入交互式SQL命令行界面,可直接输入Flink SQL语句执行
.
.- 注意事项
- 需提前启动YARN Session:
${FLINK_HOME}/bin/yarn-session.sh -n 2 -s 4
(2个TaskManager,每个4个slot) - 初始化脚本路径需存在且有执行权限
- 适用于Flink 1.11+版本,低版本可能参数名称不同(如旧版本用
-m yarn-cluster
)