Flink 安装
Flink 可以在 Linux、Mac OS X 以及 Windows 上运行。为了能够运行 Flink,唯一的要求是必须安装 Java 7.x 或者更高版本。
Flink 手动操作安装,步骤如下:
1. 从下载页面(http://flink.apache.org/downloads.html)下载所需的二进制包,选择任何与Hadoop/Scala结合的版本。比如 Flink for Hadoop 2。
2. 进入安装包所在目录,之后解压下载的文件。Linux 操作如下:
cd ~/Downloads # Go to download directory
tar xzf flink-*.tgz # Unpack the downloaded archive
cd flink-1.8.0
3. 环境变量设置。
export JAVA_HOME=/usr/jdk64/jdk1.8.0_112
export PATH=$JAVA_HOME/bin:$PATH
export HADOOP_CONF_DIR=/usr/bch/3.2.0/hadoop/etc/hadoop
Flink 开启
1. 执行如下命令,开启 flink 集群。
./bin/start-cluster.sh # Start Flink
2. 查看 flink 服务组件是否正常运行。
打开 http://localhost:8081,检查 Jobmanager 和其他组件是否正常运行,如下图所示。
还可以通过检查 logs 目录中的日志文件,来验证系统是否正在运行。
tail log/flink-*-standalonesession-*.log
INFO ... - Rest endpoint listening at localhost:8081
INFO ... - http://localhost:8081 was granted leadership ...
INFO ... - Web frontend listening at http://localhost:8081.
INFO ... - Starting RPC endpoint for StandaloneResourceManager at akka://flink/user/resourcemanager .
INFO ... - Starting RPC endpoint for StandaloneDispatcher at akka://flink/user/dispatcher .
INFO ... - ResourceManager akka.tcp://flink@localhost:6123/user/resourcemanager was granted leadership ...
INFO ... - Starting the SlotManager.
INFO ... - Dispatcher akka.tcp://flink@localhost:6123/user/dispatcher was granted leadership ...
INFO ... - Recovering all persisted jobs.
INFO ... - Registering TaskManager ... under ... at the SlotManager.
程序运行示例
运行官方自带 SocketWindowWordCount 例子。它从 socket 中获取文本,然后计算每个单词出现的次数。操作步骤如下:
1. 使用 netcat 来启动本地服务器。
nc -l -p 9000
2. 提交 Flink 程序。运行 SocketWindowWordCount 的 main 方法。
3. 这个程序和 socket 进行了连接,并等待输入。我们可以在 WEB UI 中检查 Job 是否正常运行,可参考如下图所示。
./bin/flink run examples/streaming/SocketWindowWordCount.jar --port 9000
Starting execution of program
4. 在 netcat 控制台输入单词,就能在 SocketWindowWordCount 的输出控制台看到每个单词的词频统计。若想看到大于 1 的计数,请在 5 秒内反复键入相同单词,如下图所示。
监控 JobManager 的输出文件(.out 文件),并在 nc 中敲入一些单词。
nc -l -p 9000
lorem ipsum
ipsum ipsum ipsum
bye
out 文件会立即打印出单词的计数(在 flink 目录下操作)。
tail -f log/flink-*-taskexecutor-*.out
lorem : 1
bye : 1
ipsum : 4
要停止 Flink,需要运行如下命令。
bin/stop-cluster.sh