Ubuntu系统下Flink任务提交步骤

avatar
作者
猴君
阅读量:0

在Ubuntu系统下提交Flink任务,需要遵循以下步骤:

  1. 安装Java环境:

    Flink依赖于Java运行环境,因此首先需要确保你的系统中已经安装了Java。可以使用以下命令检查Java是否已安装:

    java -version 

    如果没有安装Java,可以使用以下命令安装OpenJDK:

    sudo apt update sudo apt install openjdk-11-jdk 
  2. 下载并解压Flink:

    从Flink官方网站(https://flink.apache.org/downloads.html)下载所需版本的Flink,然后在Ubuntu系统上解压:

    wget https://downloads.apache.org/flink/flink-1.14.0/flink-1.14.0-bin-scala_2.11.tgz tar xzf flink-1.14.0-bin-scala_2.11.tgz cd flink-1.14.0 
  3. 配置Flink:

    根据实际需求,修改Flink的配置文件(位于conf目录下),例如flink-conf.yamlmastersworkers等。

  4. 启动Flink集群:

    在完成配置后,可以使用以下命令启动Flink集群:

    bin/start-cluster.sh 

    你可以通过访问Web UI(默认地址为http://localhost:8081)来查看集群状态。

  5. 编写Flink任务:

    使用Java、Scala或Python编写Flink任务。这里以Java为例,创建一个简单的WordCount任务:

    import org.apache.flink.api.common.functions.FlatMapFunction; import org.apache.flink.api.java.tuple.Tuple2; import org.apache.flink.streaming.api.datastream.DataStream; import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; import org.apache.flink.util.Collector;  public class WordCount {     public static void main(String[] args) throws Exception {         StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();          DataStream<String> text = env.fromElements("Hello Flink", "Hello World");          DataStream<Tuple2<String, Integer>> counts = text             .flatMap(new Tokenizer())             .keyBy(0)             .sum(1);          counts.print();          env.execute("WordCount Example");     }      public static class Tokenizer implements FlatMapFunction<String, Tuple2<String, Integer>> {         @Override         public void flatMap(String value, Collector<Tuple2<String, Integer>> out) {             String[] tokens = value.toLowerCase().split("\\W+");              for (String token : tokens) {                 if (token.length() > 0) {                     out.collect(new Tuple2<>(token, 1));                 }             }         }     } } 
  6. 编译和打包Flink任务:

    将编写好的Flink任务编译并打包成JAR文件。例如,如果你使用Maven或Gradle构建项目,可以使用以下命令生成JAR文件:

    mvn clean package 
  7. 提交Flink任务:

    使用Flink的命令行工具提交任务到集群。假设你的任务JAR文件名为wordcount.jar,可以使用以下命令提交任务:

    bin/flink run -c com.example.WordCount wordcount.jar 

    其中-c选项指定了任务的主类名。

完成以上步骤后,Flink任务将在Ubuntu系统下的集群上运行。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!