超详细,Windows系统搭建Flink官方练习环境

如何快速的投入到Flink的学习当中,很多人在搭建环境过程中浪费了太多的时间。一套一劳永逸的本机Flink开发环境可以让我们快速的投入到Flink的学习中去,将精力用在Flink的原理,实战。这也对于工作和面试有着巨大帮助。
本文将利用Flink的官方练习环境,在本地Windows系统中快速的搭建Flink环境,并详细的记录整个搭建过程。
文中所有的安装包可以在后台回复 “flink0907” 获取
Flink的环境搭建需要一定的时间,有多种方法可以在各种环境中部署和操作Apache Flink。不管这种多样性如何,Flink群集的基本组成都相同,并且适用类似的操作原理。
如何快速的搭建一套Flink与Kafka的本地环境,供我们开发学习使用呢?
Flink官网提供了一个环境,在这个环境中可以学习如何管理和运行Flink Jobs。可以学习如何部署和监视应用程序,体验Flink如何从作业失败中恢复,以及执行日常操作任务,例如升级和缩放。
Flink官方提供了一套学习环境,本文将详细介绍这套环境的搭建与使用过程。
此环境由一个Flink 集群和一个Kafka群集组成。
Flink群集始终由一个Flink Master 和一个或多个 Flink TaskManager 组成。Flink Master负责处理作业提交,作业的监督以及资源管理。Flink TaskManager是工作进程,负责执行构成Flink作业的实际任务执行。

启动时,名为Flink Event Count的Flink作业将提交给JobManager。此外,还将创建两个Kafka Topics 输入和输出。

git



初始化
git config user.name "jack"(配置用户名)
(查看用户名命令git config user.name)
git config user.email "8888888@qq.com"(配置邮箱)
(查看邮箱命令git config user.email)

docker
首先登陆docker官网,下载相应的docker安装包。
https://www.docker.com/get-started

大概300多M,耐心等待~
首先,在本机安装git环境。
下载flink-playgrounds源代码。
git clone --branch release-1.11 https://github.com/apache/flink-playgrounds.git

进行安装
Docker可以帮我们开启Hyper-V

等待安装成功

cd flink-playgrounds/operations-playground
docker-compose build
开始构建环境,需要下载的内容较多,耐心等待~

最终下载成功

启动环境
docker-compose up -d
也需要下载一会等待启动成功

查看正在运行的docker容器
docker-compose ps

请注意flink webUI监听的端口,我的为8081
查看管理页面
通过http://localhost:8081访问Flink管理页面



大功告成了~ 下次开机的时候,
cd flink-playgrounds/operations-playground
docker-compose up -d
docker-compose ps
就可以非常方便的开启Flink的研发环境了~
下面列举一些简单的操作。
常见操作
如果需要停止开发环境
docker-compose down -v
查看日志
JobManager日志可以通过添加docker-compose查看
docker-compose logs -f jobmanager
TaskManager日志也可以
docker-compose logs -f taskmanager
Flink CLi
docker-compose run --no-deps client flink --help
Flink RestAPI
curl localhost:8081/jobs
Kafka 操作命令
//input topic (1000 records/s)
docker-compose exec kafka kafka-console-consumer.sh \
--bootstrap-server localhost:9092 --topic input
//output topic (24 records/min)
docker-compose exec kafka kafka-console-consumer.sh \
--bootstrap-server localhost:9092 --topic output
具体操作
列出正在运行的作业
docker-compose run --no-deps client flink list
观察故障与恢复
1、观察输出
docker-compose exec kafka kafka-console-consumer.sh \
--bootstrap-server localhost:9092 --topic output
2、模拟故障
这里模拟TaskManager进程的丢失
docker-compose kill taskmanager
几秒钟后,JobManager将注意到TaskManager丢失,取消受影响的Job,然后立即重新提交以进行恢复。

3、恢复
docker-compose up -d taskmanager
重新启动TaskManager后,它将重新连接到JobManager
更多Flink,Kafka,Spark等相关技术博文,科技资讯,欢迎关注实时流式计算 公众号后台回复 “电子书” 下载300页Flink实战电子书

超详细,Windows系统搭建Flink官方练习环境的更多相关文章
- 史上最详细Windows版本搭建安装React Native环境配置 转载,比官网的靠谱亲测可用
史上最详细Windows版本搭建安装React Native环境配置 2016/01/29 | React Native技术文章 | Sky丶清| 95条评论 | 33530 views ...
- 史上最详细Windows版本搭建安装React Native环境配置
说在前面的话: 感谢同事金晓冰倾情奉献本环境搭建教程 之前我们已经讲解了React Native的OS X系统的环境搭建以及配置,鉴于各大群里有很多人反应在Windows环境搭建出现各种问题,今天就特 ...
- react-native学习笔记--史上最详细Windows版本搭建安装React Native环境配置
参考:http://www.lcode.org/react-native/ React native中文网:http://reactnative.cn/docs/0.23/android-setup. ...
- 在windows系统搭建并运行一个Flutter项目
搭建Flutter之前需要已经安装好相应的Flutter开发环境,如果没安装好相应环境的可以查看在windows系统搭建Flutter开发环境 搭建Flutter项目可以通过命令行搭建,或者通过and ...
- 史上最全Windows版本搭建安装React Native环境配置
史上最全Windows版本搭建安装React Native环境配置 配置过React Native 环境的都知道,在Windows React Native环境配置有很多坑要跳,为了帮助新手快速无误的 ...
- Windows下搭建objective C开发环境
摘自:http://blog.csdn.net/zhanghefu/article/details/18320827 最近打算针对iPhone.iPod touch和iPad开发一些应用,所以,需要开 ...
- 「C语言」在Windows平台搭建C语言开发环境的多种方式
新接触C语言,如何在Windows下进行C语言开发环境的搭建值得思考并整理. 以下多种开发方式择一即可(DEV C++无须环境准备). 注:本文知识来源于 Windows 平台搭建C语言集成开发环境 ...
- 在Windows平台搭建C语言开发环境
一.在Windows平台搭建DEV C++集成开发环境 官网 https://sourceforge.net/projects/orwelldevcpp/ 中下载Dev C++运行即可 环境准 ...
- Windows下搭建Spark+Hadoop开发环境
Windows下搭建Spark+Hadoop开发环境需要一些工具支持. 只需要确保您的电脑已装好Java环境,那么就可以开始了. 一. 准备工作 1. 下载Hadoop2.7.1版本(写Spark和H ...
随机推荐
- Mixed Precision Training —— caffe-float16
简介 最近有了突如其来的想法,如何把caffe的变得更小更快.后来翻到Nvidia开发caffe-float16,同时也看到它的论文.看完大致了解一番后,就做一下记录. 该工作的目标是,减少网络的所需 ...
- C# Thread.Name 的作用和意义
Thread.Name属性 C#的线程提供Thread.Name属性.这意味着每个线程可以设定一个Name属性来标志它们. Name属性的使用时特性 线程的Name属性默认情况下是null.该值只能被 ...
- Linux(Centos 7)下安装Git并配置连接GitHub
1.安装git Centos7 查看git --version 2.配置用户名密码 git config --global user.name "xxx" git config ...
- Springboot开启事务的支持
主要分为两步 步骤一.在main方法加上@EnableTransactionManagement注解: @SpringBootApplication @EnableTransactionManagem ...
- 2020-07-07:mysql如何实现跨库join查询?
福哥答案2020-07-07: 1.同服务跨库.表名称带上库名.SELECT * FROM 数据库名称1.表名称 JOIN 数据库名称2.表名称 ON 数据库名称1.表名称.tid = 数据库名称2. ...
- 记录使用Python登录浙江大学统一身份认证
背景 现在每天要进行健康情况上报,但是因为经常睡过头忘记打卡,于是想着写一个程序来自动打卡. 统一身份认证 访问健康情况上报页面(https://healthreport.zju.edu.cn/nco ...
- 企业项目实战 .Net Core + Vue/Angular 分库分表日志系统 | 控制反转搭配简单业务
教程预览 01 | 前言 02 | 简单的分库分表设计 03 | 控制反转搭配简单业务 说明 我们上一节已经成功通过 连接提供程序存储库,获取到了 连接提供程序,但是连接提供程序和数据库连接依赖太深, ...
- Jmeter系列(49)- 详解 HTTP Cookie 管理器
如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html 简单介绍 功能一 首先,它像网络浏览器 ...
- linux系统相关参数查询(内存,磁盘,CPU)
1.服务器型号:dmidecode -s system-product-name 出厂日期:dmidecode -s bios-release-date 2.磁盘大小:parted -l 3.物理内存 ...
- leetcode刷题记录——链表
使用java实现链表 单向链表 双向链表 单向循环链表 双向循环链表 题目记录 160.相交链表 例如以下示例中 A 和 B 两个链表相交于 c1: A: a1 → a2 c1 → c2 → c3 B ...