Skip to content

Latest commit

 

History

History
49 lines (34 loc) · 1.46 KB

84.cluster_execution.md

File metadata and controls

49 lines (34 loc) · 1.46 KB

集群执行

Flink程序可以在许多机器的集群上运行。有两种方法将程序发送到集群执行:

命令行

命令行接口允许您将打包的程序(JAR)提交到集群(或单机安装)。

请参考 Command Line Interface 文档

远程环境

远程环境允许您直接在集群上执行Flink Java程序。远程环境指向要执行程序的群集。

Maven依赖

如果将程序作为Maven项目开发, 则必须添加添加 flink-clients 依赖:

<dependency>
  <groupId>org.apache.flink</groupId>
  <artifactId>flink-clients_2.11</artifactId>
  <version>1.6.0</version>
</dependency>

举例

下面的例子阐明了 RemoteEnvironment用法:

public static void main(String[] args) throws Exception {
    ExecutionEnvironment env = ExecutionEnvironment
        .createRemoteEnvironment("flink-master", 8081, "/home/user/udfs.jar");

    DataSet<String> data = env.readTextFile("hdfs://path/to/file");

    data
        .filter(new FilterFunction<String>() {
            public boolean filter(String value) {
                return value.startsWith("http://");
            }
        })
        .writeAsText("hdfs://path/to/result");

    env.execute();
}

请注意,该程序包含自定义用户代码,因此需要具有附加代码的类的JAR文件。远程环境的构造函数将路径(多个路径)带到jar文件(多个jar文件)。