Flink 在 idea上提交任务到远程服务器

Flink自身提供了远程提交任务的环境,源码如下:

请查看StreamExecutionEnvironment 类中 createRemoteEnvironment 方法

def createRemoteEnvironment(
    host: String,
    port: Int,
    parallelism: Int,
    jarFiles: String*): StreamExecutionEnvironment = {

  val javaEnv = JavaEnv.createRemoteEnvironment(host, port, jarFiles: _*)
  javaEnv.setParallelism(parallelism)
  new StreamExecutionEnvironment(javaEnv)
}
远程提交示例代码如下:
package com.flink.remotesubmit

import org.apache.flink.streaming.api.scala._

object RemoteSubmitApp extends App {

  val host: String = "node02"
  val port: Int = 8081
  val jarFiles = "E:\\CDHProjectDemo\\flink-demo\\target\\flink-demo-0.0.1-SNAPSHOT.jar"

  val env = StreamExecutionEnvironment.createRemoteEnvironment(host, port, jarFiles)

  val socketHost: String = "node01"
  val socketPort: Int = 7777
  val socketDs: DataStream[String] = env.socketTextStream(socketHost, socketPort)

  socketDs.flatMap(_.split(" "))
    .map((_, 1))
    .keyBy(0)
    .sum(1)
    .print()

  env.execute("Remote Submit Job")
}

注意:

  1. 需要保持代码和jar一致性,意思就是修改代码之后需重新执行 mvn clean package
  2. 需在项目的 src/main/resource 目录中添加相关配置文件(core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml等)
运行情况

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Flink中,我们可以使用多种方式提交任务到集群上,以下是其中常用的两种方式: 1. 使用Flink Web UI提交任务Flink提供了一个Web UI,我们可以通过该界面方便地提交任务到集群上。具体步骤如下: 1. 打开Flink Web UI,地址为 `http://<flink-master>:8081`,其中 `<flink-master>` 是Flink集群的Master节点的IP地址或主机名。 2. 点击页面右上角的 "Submit new Job" 按钮,进入任务提交界面。 3. 在任务提交界面中,选择要提交任务Jar包,填写任务相关参数(例如并行度、任务名称等),然后点击 "Submit" 按钮即可。 2. 使用Flink命令行工具提交任务Flink还提供了一个命令行工具 `flink run`,我们可以通过该工具在命令行中提交任务到集群上。具体步骤如下: 1. 在Flink集群的任意节点上打开终端,输入以下命令进入Flink安装目录: ``` cd <flink-install-dir> ``` 其中 `<flink-install-dir>` 是Flink的安装目录。 2. 使用以下命令提交任务: ``` ./bin/flink run -c <job-class> <job-jar> [options] ``` 其中: - `<job-class>` 是Flink应用程序的主类名。 - `<job-jar>` 是Flink应用程序的Jar包路径。 - `[options]` 是可选参数,可以指定任务相关的参数,例如并行度、任务名称等。 例如,如果我们要提交一个名为 `WordCount` 的Flink应用程序,其主类为 `com.example.WordCount`,Jar包路径为 `/path/to/WordCount.jar`,并行度为4,可以使用以下命令提交任务: ``` ./bin/flink run -c com.example.WordCount -p 4 /path/to/WordCount.jar ``` 以上是两种常用的提交Flink任务到集群的方式,可以根据实际需求选择。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值