Flink官方文档翻译:安装部署(本地模式)

本文主要介绍如何将Flink以本地模式运行在单机上。

下载

进入下载页面。如果你想让Flink与Hadoop进行交互(如HDFS或者HBase),请选择一个与你的Hadoop版本相匹配的Flink包。当你不确定或者只是想运行在本地文件系统上,请选择Hadoop 1.2.x对应的包。

环境准备

Flink 可以运行在 Linux、Mac OS X 和 Windows 上。本地模式的安装唯一需要的只是 Java 1.7.x或更高版本。接下来的指南假定是类Unix环境,Windows用户请参考 Flink on Windows

你可以执行下面的命令来查看是否已经正确安装了Java了。

java -version

这条命令会输出类似于下面的信息:

java version "1.8.0_51"
Java(TM) SE Runtime Environment (build 1.8.0_51-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.51-b03, mixed mode)

配置

对于本地模式,Flink是可以开箱即用的,你不用去更改任何的默认配置。

开箱即用的配置会使用默认的Java环境。如果你想更改Java的运行环境,你可以手动地设置环境变量JAVA_HOME或者conf/flink-conf.yaml中的配置项env.java.home。你可以查阅配置页面了解更多关于Flink的配置。

你现在就可以开始运行Flink了。解压已经下载的压缩包,然后进入新创建的flink目录。在那里,你就可以本地模式运行Flink了:

$ tar xzf flink-*.tgz
$ cd flink-*
$ bin/start-local.sh
Starting job manager

你可以通过观察logs目录下的日志文件来检查系统是否正在运行了:

$ tail log/flink-*-jobmanager-*.log
INFO ... - Initializing memory manager with 409 megabytes of memory
INFO ... - Trying to load org.apache.flinknephele.jobmanager.scheduler.local.LocalScheduler as scheduler
INFO ... - Setting up web info server, using web-root directory ...
INFO ... - Web info server will display information about nephele job-manager on localhost, port 8081.
INFO ... - Starting web info server for JobManager on port 8081

JobManager 同时会在8081端口上启动一个web前端,你可以通过 http://localhost:8081 来访问。

如果你想要在 Windows 上运行 Flink,你需要如上文所述地下载、解压、配置 Flink 压缩包。之后,你可以使用使用 Windows 批处理文件(.bat文件)或者使用 Cygwin 运行 Flink 的 JobMnager。

使用 Windows 批处理文件启动

使用 Windows 批处理文件本地模式启动Flink,首先打开命令行窗口,进入 Flink 的 bin/ 目录,然后运行 start-local.bat 。

注意:Java运行环境必须已经加到了 Windows 的%PATH%环境变量中。按照本指南添加 Java 到%PATH%环境变量中。

$ cd flink
$ cd bin
$ start-local.bat
Starting Flink job manager. Webinterface by default on http://localhost:8081/.
Do not close this batch window. Stop job manager by pressing Ctrl+C.

之后,你需要打开新的命令行窗口,并运行flink.bat

使用 Cygwin 和 Unix 脚本启动

使用 Cygwin 你需要打开 Cygwin 的命令行,进入 Flink 目录,然后运行start-local.sh脚本:

$ cd flink
$ bin/start-local.sh
Starting Nephele job manager

如果你是从 git 安装的 Flink,而且使用的 Windows git shell,Cygwin会产生一个类似于下面的错误:

c:/flink/bin/start-local.sh: line 30: $'\r': command not found

这个错误的产生是因为 git 运行在 Windows 上时,会自动地将 UNIX 换行转换成 Windows 换行。问题是,Cygwin 只认 Unix 换行。解决方案是调整 Cygwin 配置来正确处理换行。步骤如下:

  1. 打开 Cygwin 命令行
  2. 确定 home 目录,通过输入

    cd;pwd

它会返回 Cygwin 根目录下的一个路径。

  1. 在home目录下,使用 NotePad, WordPad 或者其他编辑器打开.bash_profile文件,然后添加如下内容到文件末尾:(如果文件不存在,你需要创建它)

    export SHELLOPTS
    set -o igncr

保存文件,然后打开一个新的bash窗口。