热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

flink本地_Flink本地安装和创建Flink应用

本篇介绍一下Flink本地环境搭建和创建Flink应用。本地安装Flink可以在Linux、MacOSX和Windows上运行,要求安装Java8.x。java-ve
7e73f049d5e2f7daf31e29a47f46fdf4.png

本篇介绍一下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,如下图所示。

995933af91c73ad046ba0adc8504f741.png

本地安装也可以通过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里查看输出,如下图所示。

1393d55719ed4580c72b6cd566c26e80.png
创建项目

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

1f6557fb7c3312c05aea49e84f0bf635.png

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



推荐阅读
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • 在Ubuntu 16.04 LTS上配置Qt Creator开发环境
    本文详细介绍了如何在Ubuntu 16.04 LTS系统中安装和配置Qt Creator,涵盖了从下载到安装的全过程,并提供了常见问题的解决方案。 ... [详细]
  • 本题通过将每个矩形视为一个节点,根据其相对位置构建拓扑图,并利用深度优先搜索(DFS)或状态压缩动态规划(DP)求解最小涂色次数。本文详细解析了该问题的建模思路与算法实现。 ... [详细]
  • 本文介绍如何在Linux Mint系统上搭建Rust开发环境,包括安装IntelliJ IDEA、Rust工具链及必要的插件。通过详细步骤,帮助开发者快速上手。 ... [详细]
  • 本文详细介绍如何使用arm-eabi-gdb调试Android平台上的C/C++程序。通过具体步骤和实用技巧,帮助开发者更高效地进行调试工作。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细介绍了如何使用Python编写爬虫程序,从豆瓣电影Top250页面抓取电影信息。文章涵盖了从基础的网页请求到处理反爬虫机制,再到多页数据抓取的全过程,并提供了完整的代码示例。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • XNA 3.0 游戏编程:从 XML 文件加载数据
    本文介绍如何在 XNA 3.0 游戏项目中从 XML 文件加载数据。我们将探讨如何将 XML 数据序列化为二进制文件,并通过内容管道加载到游戏中。此外,还会涉及自定义类型读取器和写入器的实现。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
author-avatar
欣仪威侑扬芸_782
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有