Flink的sql-client.sh启动客户端提交sql,只能先启动yarn-session吗?[阿里云实时计算 Flink版]

Flink的sql-client.sh启动一个客户端提交sql,只能先启动yarn-session吗?不可以是yarn per job方式吗?

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
2 条回复 A 作者 M 管理员
  1. 是的,你需要先启动一个YARN session,然后才能使用sql-client.sh提交SQL查询。这是因为sql-client.sh实际上是一个客户端工具,它需要连接到一个已经运行的Flink集群才能提交查询。

    至于YARN per job方式,这是Flink的一种运行模式,它允许每个Flink任务在单独的容器中运行,这样可以更好地利用集群的资源。但是,这种方式并不适用于所有的Flink操作。例如,如果你正在使用SQL CLI提交查询,那么你可能需要先启动一个YARN session,然后再提交查询。

    Flink的YARN per job方式和SQL CLI的使用方式是相互独立的,你可以根据你的需求选择合适的方式。

  2. 不,Flink的sql-client.sh启动客户端提交SQL可以选择不同的执行模式,不一定要先启动yarn-session。

    除了yarn-session模式,Flink还支持以下执行模式:

    • local:在本地启动Flink集群,并将所有任务作业提交到本地集群中运行。
    • remote:连接到远程Flink集群,并将所有任务作业提交到远程集群中运行。
    • standalone-session:在独立模式下启动Flink会话,并将所有任务作业提交到该会话中运行。

    您可以使用以下命令行选项来选择不同的执行模式:

    ./sql-client.sh embedded         // 在当前终端中启动一个Flink会话./sql-client.sh remote     // 连接到远程Flink集群./sql-client.sh local             // 在本地启动一个Flink集群./sql-client.sh yarn-cluster     // 在YARN集群中启动一个Flink会话./sql-client.sh yarn-session     // 在YARN集群中启动一个Flink会话并等待作业提交

    因此,如果您不希望先启动yarn-session,可以选择其他的执行模式进行提交。

  3. 在Flink中,使用SQL客户端提交SQL需要启动一个Flink Session,而Flink Session有多种启动方式,包括使用YARN Session、Flink CLI或者Flink Web UI等方式。因此,使用SQL客户端提交SQL时,可以使用YARN Session,也可以使用YARN Per Job方式。
    使用YARN Session时,需要先启动YARN Session,然后在SQL客户端中提交SQL。使用YARN Per Job方式时,可以直接在SQL客户端中提交SQL,Flink会自动创建一个新的YARN Job,并将SQL提交到这个Job中执行。
    因此,使用SQL客户端提交SQL时,可以使用YARN Session,也可以使用YARN Per Job方式,具体选择哪种方式取决于您的需求和环境。