本篇文章首发于头条号Flink本地安装和建立Flink应用,欢迎关注个人头条号和微信公众号“大数据技术和人工智能”(微信搜索bigdata_ai_tech)获取更多干货,也欢迎关注个人CSDN博客。html
本篇介绍一下Flink本地环境搭建和建立Flink应用。java
Flink能够在Linux、Mac OS X和Windows上运行,要求安装Java 8.x。web
java -version java 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)
#从官网下载页面 http://flink.apache.org/downloads.html 下载Flink wget http://mirrors.tuna.tsinghua.edu.cn/apache/flink/flink-1.8.0/flink-1.8.0-bin-scala_2.11.tgz tar xzf flink-1.8.0-bin-scala_2.11.tgz cd flink-1.8.0 #启动本地Flink群集 ./bin/start-cluster.sh #中止本地Flink群集 #./bin/stop-cluster.sh
启动成功后能够打开http://127.0.0.1:8081
看到Flink的web UI,以下图所示。shell
本地安装也能够经过Flink源码构建的方式,具体操做能够参考Flink源码分析-源码构建。apache
使用nc
命令监听指定端口。bash
nc -l 9002 #而后随便输入点东西,好比像下面这样 #这些东西在提交SocketWindowWordCount Job以前或以后输入都是能够的 hello world word count hi flink ha ha
运行Flink测试example,这里用Flink WordCount Job来测试一下。微信
#在源码目录下执行,指定9002端口,这个端口要和刚刚nc命令监听的端口一致 ./build-target/bin/flink run ./build-target/examples/streaming/SocketWindowWordCount.jar --port 9002
查看SocketWindowWordCount Job的输出。curl
#在源码目录下执行 tail -100f ./build-target/log/flink-*-taskexecutor-0-*.out #执行后输出以下 hello : 1 world : 1 word : 1 count : 1 hi : 1 flink : 1 ha : 2
也能够在Flink web UI里查看输出,以下图所示。源码分析
Flink能够使用Maven和Gradle来构建,这里只介绍使用Maven构建,要求使用Maven 3.x和Java 8.x。测试
#使用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
,在建立的过程当中会提示定义这几个参数的值并确认,以下图所示。
#使用官方提供的快速入门脚本建立 curl https://flink.apache.org/q/quickstart.sh | bash -s 1.8.0
建立好的项目结构以下
tree myflink/ . ├── pom.xml └── src └── main ├── java │ └── myflink │ ├── BatchJob.java │ └── StreamingJob.java └── resources └── log4j.properties
接下来就能够开始开心愉快的coding啦^_^