本篇介绍一下Flink本地环境搭建和创建Flink应用。
本地安装
Flink可以在Linux、Mac OS X和Windows上运行,要求安装Java 8.x。
java -versionjava version "1.8.0_161"Java(TM) SE Runtime Environment (build 1.8.0_161-b12)Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
下载并启动Flink
#从官网下载页面 http://flink.apache.org/downloads.html 下载Flinkwget http://mirrors.tuna.tsinghua.edu.cn/apache/flink/flink-1.8.0/flink-1.8.0-bin-scala_2.11.tgztar xzf flink-1.8.0-bin-scala_2.11.tgzcd flink-1.8.0#启动本地Flink群集./bin/start-cluster.sh#停止本地Flink群集#./bin/stop-cluster.sh
启动成功后可以打开 http://127.0.0.1:8081看到Flink的web UI,如下图所示。
本地安装也可以通过Flink源码构建的方式,具体操作可以参考Flink源码分析-源码构建。
运行示例
使用 nc命令监听指定端口。
nc -l 9002#然后随便输入点东西,比如像下面这样#这些东西在提交SocketWindowWordCount Job之前或之后输入都是可以的hello worldword counthiflinkha ha
运行Flink测试example,这里用Flink WordCount Job来测试一下。
#在源码目录下执行,指定9002端口,这个端口要和刚刚nc命令监听的端口一致./build-target/bin/flink run ./build-target/examples/streaming/SocketWindowWordCount.jar --port 9002
查看SocketWindowWordCount Job的输出。
#在源码目录下执行tail -100f ./build-target/log/flink-*-taskexecutor-0-*.out#执行后输出如下hello : 1world : 1word : 1count : 1hi : 1flink : 1ha : 2
也可以在Flink web UI里查看输出,如下图所示。
创建项目
Flink可以使用Maven和Gradle来构建,这里只介绍使用Maven构建,要求使用Maven 3.x和Java 8.x。
1.使用Maven创建
#使用Maven创建mvn archetype:generate -DarchetypeGroupId=org.apache.flink -DarchetypeArtifactId=flink-quickstart-java -DarchetypeVersion=1.8.0 -DgroupId=flink-demo -DartifactId=flink-demo -Dversion=0.1 -Dpackage=myflink -DinteractiveMode=false
如果没有指定 groupId、 artifactId、 version、 package,在创建的过程中会提示定义这几个参数的值并确认,如下图所示。
2.使用官方提供的快速入门脚本创建
#使用官方提供的快速入门脚本创建curl https://flink.apache.org/q/quickstart.sh | bash -s 1.8.0
3.使用IntelliJ IDEA等集成开发环境新建
创建好的项目结构如下
tree myflink/.├── pom.xml└── src └── main ├── java │ └── myflink │ ├── BatchJob.java │ └── StreamingJob.java └── resources └── log4j.properties
接下来就可以开始开心愉快的coding啦^_^