Flink本地安装和建立Flink应用

本篇文章首发于头条号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。测试

  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

若是没有指定groupIdartifactIdversionpackage,在建立的过程当中会提示定义这几个参数的值并确认,以下图所示。

  1. 使用官方提供的快速入门脚本建立
#使用官方提供的快速入门脚本建立
curl https://flink.apache.org/q/quickstart.sh | bash -s 1.8.0
  1. 使用IntelliJ IDEA等集成开发环境新建

建立好的项目结构以下

tree myflink/
.
├── pom.xml
└── src
    └── main
        ├── java
        │   └── myflink
        │       ├── BatchJob.java
        │       └── StreamingJob.java
        └── resources
            └── log4j.properties

接下来就能够开始开心愉快的coding啦^_^

相关文章
相关标签/搜索