开始第一个 Flink 应用程序

1
2
3
4
5
mvn  archetype:generate   \
-DarchetypeGroupId=org.apache.flink \
-DarchetypeArtifactId=flink-quickstart-scala \
-DarchetypeVersion=1.6.0 \
-DarchetypeRepository=http://maven.aliyun.com/nexus/content/groups/public

开始

我有一个 Spark 应用程序, 我想把它转为 Flink 应用。在 Spark 应用里我读取 Kafka 中的消息为 DStream, 然后打印出来。我们使用 Flink 来做同样的事情。为了方便起见, 我们使用本地模式:

首先启动一个本地的 Flink 集群

1
/usr/local/Cellar/apache-flink/1.7.0/libexec/bin/start-cluster.sh

img

然后在 pom 文件中添加入口类(可选):

1
<mainClass>ohmysummer.BigdataApplication</mainClass>

然后启动这个应用:(如果是其它的 object, 使用 flink run -c className)

1
flink run  ./target/stream-word-count-1.0-SNAPSHOT.jar

打开浏览器, 输入网址: localhost:8081 查看 job 的运行状态, 即使你 Ctrl-C 了 flink 提交命令, 依然可以看见任务在运行。如果要取消, 在 UI 界面找到任务后点击 Cancel

或查看输出:

1
tail -f /usr/local/Cellar/apache-flink/1.7.0/libexec/log/flink-<whoami>-taskexecutor-0-<hostname>.out

停止集群:

1
/usr/local/Cellar/apache-flink/1.7.0/libexec/bin/stop-cluster.sh