Flink本地安装和创建Flink应用

摘要:
本文描述了如何在Flink本地环境中构建和创建Flink应用程序。Flink的本地安装可以在Linux、Mac OS X和Windows上运行。需要Java 8.x。Java版本Java版本“1.8.0_161”JavaSERuntimeEnvironment JavaHotSpot64 BitServerVM下载并从官方网站启动Flink#下载页面http://flink.apache.org/downloads.html下载Flinkwgethttp://mirrors.tuna.tsinghua.edu.cn/apache/flink/flink-1.8.0/flink-1.8.0-bin-scala_2.11.tgztarxzfflink-1.8.0-bin-scala_2.11.tgzcdflink-1.8.0#启动本地Flink集群。/bin/Start集群。sh#停止本地Flink集群#./bin/Stop集群。sh启动成功后即可打开http://127.0.0.1:8081您可以看到Flink的web UI,如下图所示。对于本地安装,您还可以构建Flink源代码。具体操作请参考Flink源代码分析-源代码构造。Nc-l9002#然后随意输入一些东西,例如下面的#这些东西可以在提交SocketWindowWordCountJob helloworlcounthiflinkhaha之前或之后输入,以运行Flink测试示例。这里,FlinkWordCountJob用于测试。

本篇文章首发于头条号Flink本地安装和创建Flink应用,欢迎关注我的头条号和微信公众号“大数据技术和人工智能”(微信搜索bigdata_ai_tech)获取更多干货,也欢迎关注我的CSDN博客


本篇介绍一下Flink本地环境搭建和创建Flink应用。

本地安装

Flink可以在Linux、Mac OS X和Windows上运行,要求安装Java 8.x。

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)

下载并启动Flink

#从官网下载页面 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,如下图所示。

Flink本地安装和创建Flink应用第1张

本地安装也可以通过Flink源码构建的方式,具体操作可以参考Flink源码分析-源码构建

运行示例

使用nc命令监听指定端口。

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的输出。

#在源码目录下执行
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本地安装和创建Flink应用第2张

创建项目

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,在创建的过程中会提示定义这几个参数的值并确认,如下图所示。

Flink本地安装和创建Flink应用第3张

  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啦_

免责声明:文章转载自《Flink本地安装和创建Flink应用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Winwos server2008 IE安全级别设置rocketmq学习下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Ubuntu中安装Cmake3.22.0

来源:https://www.cnblogs.com/yanqingyang/p/12731855.html 一.使用安装命令 1 sudoaptinstallcmake 注意此种方式安装的可能不是最新版本的Cmake. 二.Cmake源码编译安装 第一步:卸载原来的cmake版本: 1 sudoapt-get remove cmake...

调试JDK源码时可编辑操作的实现

目录 一、解压源码压缩包 二、创建Java项目 三、复制源码文件到文件夹 四、Platform Settings中新增一个SDK 五、修改新建SDK的 Sourcepath 配置 六、修改 Project 以及 Modules 的 SDK 七、项目结构图 八、测试调试过程中对源码进入注释 以下操作在以下环境中测试通过:idea 2019.3,jd...

chromium浏览器开发系列第四篇:如何调试最新chromium源码

附上上几篇文章地址,方便大家查看: 下载源码 编译源码 目录结构 接二连三的事情,时间比较紧张,但是还是没有把这个系列的文章丢掉,因为这也是对自己知识的总结吧。提倡大家多写写,以后再看的时候会有种莫名的小激动。 上周写的是chromium的目录结构,好像大家不太感兴趣,在我看来这部分很重要。开头有链接地址,大家想看可以再看看。 从源码下载到编译,到目录结构...

Eclipse下建立geoserver源码工程

摘要:本文详细阐述,如何基于geoserver源码构建eclipse工程文件,操作过程中除用到jdk、eclipse以外,还有git和maven,操作系统为windows8。 1安装Git       从(http://git-scm.com/download/win),下载得到Git-1.9.0-preview2014021 7.exe文件,直接安装即可...

并发编程(十二)—— Java 线程池 实现原理与源码深度解析 之 submit 方法 (二)

在上一篇《并发编程(十一)—— Java 线程池 实现原理与源码深度解析(一)》中提到了线程池ThreadPoolExecutor的原理以及它的execute方法。这篇文章是接着上一篇文章写的,如果你没有阅读上一篇文章,建议你去读读。本文解析ThreadPoolExecutor#submit。 对于一个任务的执行有时我们不需要它返回结果,但是有我们需要它的...

linux源码“.config”文件分析

转载于:http://www.cnblogs.com/amanlikethis/p/3641097.html 一、.config文件概述 .config文件是linux内核配置文件,当执行#make uImage编译生成内核时,顶层的Makefile会读取.config文件的内容,根据这个配置文件来编译所定制的内核。 二、.config文件关联 1 文件关...