开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

请问如何用flink sql客户端用yarn application模式提交任务呢?

请问如何用flink sql客户端用yarn application模式提交任务呢?

展开
收起
三分钟热度的鱼 2023-09-27 19:27:59 1590 1
7 条回答
写回答
取消 提交回答
  • 在使用Flink SQL Client以YARN Application模式提交任务时,可以按照以下步骤进行操作:

    1、 准备环境

    • 确保你的系统已经安装了Flink和YARN的相关依赖。
    • 配置Flink和YARN的配置文件,如flink-conf.yamlyarn-site.xml

    2、 启动Flink SQL Client

    • 打开终端或命令行界面,进入到Flink SQL Client的执行目录。
    • 运行以下命令启动Flink SQL Client:

      bash`./bin/sql-client.sh embedded -f <your_sql_file.sql>`
      

      其中<your_sql_file.sql>是你要执行的SQL文件的路径。
      3、 提交任务

    • 在Flink SQL Client的交互式命令行界面中,输入以下命令提交任务:

      sql`INSERT INTO <output_table> SELECT * FROM <input_table> WHERE ...;`
      

      其中<output_table>是你要输出的表名,<input_table>是你要输入的表名,WHERE ...是可选的筛选条件。
      4、 设置YARN Application模式

    * 在提交任务之前,你需要设置Flink以YARN Application模式运行。可以通过以下命令设置:
    ```
    sql`SET 'execution.target'='yarn';`
    ```
    这将告诉Flink将任务提交到YARN集群上运行。
    

    5、 检查任务状态

    * 在设置完YARN Application模式后,你可以使用以下命令查看任务的执行状态:
    ```
    sql`SHOW JOBS;`
    ```
    这将显示当前正在运行的任务列表,包括任务的ID、名称、状态等信息。
    

    6、 结束任务

    * 当任务完成后,你可以使用以下命令结束任务:
    ```
    sql`DISCARD ALL;`
    ```
    这将终止所有正在运行的任务并清理资源。
    

    dbc2845e7de544a6a8a715dd27da882f.png

    2024-01-25 17:57:22
    赞同 1 展开评论 打赏
  • 深耕大数据和人工智能

    使用 Flink SQL 客户端以 YARN Application 模式提交任务,可以按照以下步骤进行操作:

    准备环境:确保你已经安装了 Flink 和 YARN 的相关组件,并且已经配置好了 Flink 和 YARN 的运行环境。

    启动 Flink SQL 客户端:打开终端或命令提示符,并输入以下命令启动 Flink SQL 客户端:

    bash
    ./bin/flink-sql-client.sh embedded --jar --class
    其中, 是你的 Flink 应用程序的 JAR 文件的路径, 是你的应用程序的入口类。

    1. 配置 YARN 集群信息:在 Flink SQL 客户端启动后,你需要配置 YARN 集群的相关信息。在 SQL 客户端的命令行界面中,输入以下命令:

    sql
    SET 'execution.target'='yarn';
    SET 'yarn.application.node-label'='';
    SET 'yarn.application.name'='';
    SET 'yarn.application.queue'='';
    其中, 是你为 YARN 节点指定的标签, 是你的应用程序的名称, 是你希望提交应用程序的 YARN 队列名称。

    1. 编写和提交 Flink SQL 查询:在配置好 YARN 集群信息之后,你可以编写和提交 Flink SQL 查询。在 SQL 客户端的命令行界面中,输入你的 Flink SQL 查询,并使用 RUN 命令执行查询。例如:

    sql
    CREATE TABLE my_table (id INT, name STRING) WITH (...) ...;
    INSERT INTO my_table SELECT * FROM ...;
    RUN;
    等待任务完成:提交查询后,Flink 会自动将任务提交给 YARN 进行调度和执行。你可以等待任务完成,并查看任务的结果。

    结束 Flink SQL 客户端会话:当任务完成后,你可以使用以下命令结束 Flink SQL 客户端会话:

    sql
    SET 'execution.target'='local';
    这将停止将任务提交给 YARN,并将执行模式设置为本地模式。然后,你可以输入 EXIT; 退出 Flink SQL 客户端。

    这样,你就成功地使用 Flink SQL 客户端以 YARN Application 模式提交了任务。请确保根据你的实际情况修改相关配置和查询语句。

    2024-01-24 19:51:14
    赞同 展开评论 打赏
  • application模式提交一次任务会在Yarn运行一个Flink集群。不同之处为作业jar包的main方法在Yarn集群的JobManager上运行,而不是提交作业的client端运行。作业执行完毕后,Flink on yarn集群会被关闭。

    flink run-application -t yarn-application /path/to/job.jar
    

    application模式的好处是Flink yarn集群可以直接从HDFS上查找并下载作业jar以及所需依赖,避免了从client机器上传。

    flink run-application -t yarn-application \
        -Dyarn.provided.lib.dirs="hdfs://myhdfs/my-remote-flink-dist-dir" \
        hdfs://myhdfs/jars/my-application.jar
    

    其中yarn.provided.lib.dirs为Flink作业所需依赖包的地址。

    从Flink1.12开始使用-t参数替代-m参数。使用-t之后原先的ynm,yqu等参数不在生效。需要使用-D指定。

    • -Dyarn.application.name=指定app name
    • -Dyarn.application.queue=指定提交的队列
    • -Dyarn.application.node-label=指定使用的标签资源

    ——参考链接

    2024-01-24 10:58:00
    赞同 1 展开评论 打赏
  • Flink SQL作业是通过Flink CLI或REST API与集群进行交互来提交和管理的。

    2024-01-21 21:25:11
    赞同 展开评论 打赏
  • 使用Flink SQL客户端以YARN Application模式提交任务时,通常需要以下步骤:

    1. 环境准备:

      • 确保已安装配置好Hadoop YARN环境。
      • 设置FLINK_HOME指向Flink安装目录。
      • 配置Flink for YARN相关的环境变量和配置文件(如conf/flink-conf.yaml),确保包含了YARN相关配置项,例如ResourceManager地址、队列名等。
    2. 构建SQL作业:

      • 编写或准备Flink SQL作业脚本,可以保存为.sql文件。
    3. 打包并上传依赖:

      • 如果作业有额外的依赖(UDFs、连接器等),需要将这些依赖与Flink作业一起打包成一个fat JAR,并将其上传到所有节点都能够访问的位置,如HDFS。
    4. 启动SQL客户端并指定YARN模式:

      • 使用命令行工具./bin/sql-client.sh启动SQL客户端,并通过-m yarn-application参数指定YARN Application模式。
      ./bin/sql-client.sh -m yarn-application -ynm <your_job_name> -ys <yarn_session_config_file>
      

      其中,

      • -ynm 指定YARN应用程序名称。
      • -ys 可以用来指定包含YARN会话配置的文件路径,用于覆盖或添加更多YARN相关的配置项。
    5. 提交SQL作业:

      • 在SQL客户端启动后,可以通过:run命令执行或加载SQL脚本文件。
      :run path/to/your/job.sql
      

      或者直接在客户端内输入SQL语句执行。

    具体的命令行选项可能会随着不同版本的Flink有所变化,因此在操作前最好参照Flink官方文档中对应版本的指导来进行操作。在实际环境中,可能还需要根据实际情况设置其他YARN相关的配置,比如是否启用高可用、指定YARN队列等。

    2024-01-15 11:15:31
    赞同 展开评论 打赏
  • 某政企事业单位安全运维工程师,主要从事系统运维及网络安全工作,多次获得阿里云、华为云、腾讯云征文比赛一二等奖;CTF选手,白帽,全国交通行业网络安全大赛二等奖,全国数信杯数据安全大赛银奖,手握多张EDU、CNVD、CNNVD证书。

    为了使用YARN Application模式执行Flask SQL任务,您需要遵循以下步骤:

    步骤一:准备YARN集群并安装Hadoop YARN服务

    如果您还没有搭建好的YARN集群,则需要完成此步骤。您可以参照Hadoop官方网站上的指南来安装和配置YARN服务。

    步骤二:编写Flink SQL脚本

    接下来,我们需要为我们的任务写入一个Flink SQL脚本。假设您的脚本位于src/main/resources/my-query.sql下。

    步骤三:编译Flink程序

    打开终端,进入项目的根目录,输入以下命令来编译Flink程序:

    ./gradlew clean assemble -Pspark.master=yarn-cluster
    

    该命令会在build/distributions目录生成一个可执行的jar文件。

    步骤四:上传Jar文件至YARN集群

    登录到YARN管理界面,选择“Application Manager”-> “New”。

    在弹出的应用程序名称框里填写一个名字,点击下一步继续。

    在下一个窗口中,选择“Local File”,然后浏览到刚刚编译后的jar文件,点击“Next”。这里需要注意的是,路径可能是相对路径,所以需要确保jar文件实际存在于本地磁盘上。

    接着,选择“MapReduce v2 Application Master”,点击“Finish”。

    步骤五:提交任务给YARN

    回到YRNAManager主界面,可以看到刚才新建的任务已经在队列中等待调度了。选中它,点击右键,选择“Start”。

    此时,YARN就会自动分配资源并将任务推送到各个节点上去执行。

    这就是使用YARN Application模式提交Flink SQL任务的基本流程。不过值得注意的一点是,虽然这种方式可以在YARN上运行Flink任务,但它并没有提供完整的交互式Shell API,所以在调试和监控等方面可能会有所不便。

    2024-01-14 19:26:35
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    要使用Flink SQL客户端通过YARN应用程序模式提交任务,请按照以下步骤操作:

    1. 配置Flink SQL客户端以使用YARN应用程序模式。您需要设置flink.yarn.mode和flink.yarn.application.id属性。例如,在提交任务之前,您可以使用以下命令配置Flink SQL客户端:

    ./bin/flink config

    然后,您可以在配置文件中添加以下属性:

    flink.yarn.mode: yarn
    flink.yarn.application.id: application_id

    其中,application_id是您为应用程序指定的ID。

    1. 编写Flink SQL查询并将其保存到文件中。例如,您可以使用以下命令将查询保存到名为query.sql的文件中:

    ./bin/flink sql --file /path/to/your/query.sql

    1. 使用./bin/flink run命令提交任务。您需要指定以下属性:
    • --class:要运行的类的名称。
    • --jar:包含应用程序的JAR文件的名称。
    • --name:任务名称。
    • --entry-point:要调用的类的名称,以及要传递的参数,例如:com.example.MyProgram arg1 arg2。
    • --yarn-application-id:在YARN中提交的应用程序ID。
    • --yarn-cluster-mode:YARN集群模式,例如,client或cluster.
    • --yarn-resource-manager-hostname:YARN资源管理器的主机名。
      例如,以下命令将提交一个任务,该任务使用名为query.sql的文件中的查询,并使用YARN应用程序模式运行:

    ./bin/flink run --class com.example.MyProgram --jar /path/to/your/your_application.jar --name my_task --entry-point com.example.MyProgram arg1 arg2 --yarn-application-id application_id --yarn-cluster-mode cluster --yarn-resource-manager-hostname resource_manager_hostname ./path/to/query.sql

    其中,com.example.MyProgram是要运行的类的名称,/path/to/your/your_application.jar是包含应用程序的JAR文件的名称,arg1和arg2是要传递给程序的参数,application_id是您为应用程序指定的ID,cluster是要使用的YARN集群模式,resource_manager_hostname是YARN资源管理器的主机名。
    提交任务后,您可以使用以下命令查看任务的状态:

    ./bin/flink tasklist

    2024-01-12 21:55:07
    赞同 展开评论 打赏
滑动查看更多

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    深度学习+大数据 TensorFlow on Yarn 立即下载
    Docker on Yarn 微服务实践 立即下载
    深度学习+大数据-TensorFlow on Yarn 立即下载