启动Flink SQL Client并连接到YARN集群会话

该命令用于启动Flink SQL Client,并连接到YARN集群会话:

bash 复制代码
${FLINK_HOME}/bin/sql-client.sh embedded -i ${FLINK_HOME}/conf/sql-client-init.sql -s yarn-session

各部分含义如下:

  1. 核心执行文件
  • ${FLINK_HOME}/bin/sql-client.sh:Flink SQL Client启动脚本
    -- ${FLINK_HOME}:Flink安装目录的环境变量
    -- sql-client.sh:Flink SQL交互客户端的可执行脚本
  1. 运行模式参数
  • embedded:指定SQL Client以嵌入式模式运行
    -- 特点:客户端与Flink集群在同一进程内启动
    -- 适用场景:开发调试、单机测试或轻量级作业
    -- 对比:remote模式需连接独立部署的Flink集群
  1. 初始化脚本参数
  • -i ${FLINK_HOME}/conf/sql-client-init.sql:指定启动时执行的初始化SQL文件
    -- 作用:预加载SQL语句(如创建表、设置配置、注册函数等)
    -- 示例场景:
sql 复制代码
-- sql-client-init.sql可能包含的内容
CREATE TABLE user_log (...); -- 预定义表结构
SET 'execution.checkpointing.interval' = '10s'; -- 设置检查点间隔
  1. 执行环境参数
  • -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