本文将介绍如何在Local模式下安装和使用

要求(Requirements)

我们可以使用下面的命令来查看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)

配置(Configuration)

在本地模式下,Flink原生的配置就足够我们使用,我们不需要修改Flink的默认配置。

Flink默认会使用我们的默认配置好的Java安装,我们可以手动通过设置JAVA_HOME环境变量或者是配置conf/flink-conf.yaml文件里面的env.java.home属性。如果你想手动覆盖Java运行时的相关环境,请参见Flink的配置页面。

启动Flink(Starting Flink)

现在我们已经准备好启动Flink了。先将下载好的打包文件进行解压,然后进入到解压后的文件夹中,在里面进行一些相关的操作,我们就可以在local模式下启动Flink了,主要操作步骤如下:

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

我们可以通过查看logs文件夹下面的相关日志文件来检查我们的Flink系统正在正确地运行:

$ 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页面,我们可以通过浏览器到:8081中查看相关的信息。

Flink on Windows

如果你想在Window上运行Flink,我们同样需要下载、解压和配置Flink,正如上面提到的。在那之后,我们可以通过运行Windows Batch文件 (.bat) 或者使用Cygwin来运行Flink JobManager。

通过Window批处理文件启动Flink(Starting with Windows Batch Files)

如果需要通过Windows Batch方式启动Flink的本地模式,首先需要打开命令行窗口,然后进入到Flink的bin文件夹下,然后运行start-local.bat即可。

需要注意的是:JRE(Java Runtime Environment )的bin路径必须正确地设置到Window的%PATH%环境变量中。如何设置可以参见http://www.java.com/en/download/help/path.xml文档说明。

$ 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本地模式之后,我们需要打开另外一个终端并通过flink.bat来提交作业。

Starting with Cygwin and Unix Scripts

对于Cygwin,我们需要启动Cygwin 终端,并且切换到Flink的bin文件夹下面,运行脚本,其实就和类UNIX下操作类似。 如下:

$ cd flink
$ bin/
Starting Nephele job manager

通过Git安装Flink

如果是用Window git shell从git仓库来安装你的Flink,Cygwin可能会产生类似于下面的错误: c:/flink/bin/: line 30: $'\r': command not found

产生这种错误的原因是因为在Windows上运行Git,git自动将UNIX的换行符转换成windows上的换行符,而Cygwin只能处理UNIX风格的换行符。我们可以通过下面的方法来解决这个问题:

首先启动一个Cygwin shell,

通过下面的命令确定你的home目录的路径: cd; pwd

上面的命令将会返回Cygwin的根路径。

最后我们通过NotePad, WordPad或者其他的文本编辑器打开上面输出路径下的.bash_profile文件,然后在其中加上下面的内容(如果.bash_profile文件不存在,你可以直接创建它) export SHELLOPTS

set -o igncr

保存这个文件,并打开一个新的bash shell,上面的错误将不会发生。