超详细,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实战电子书
- dataguard备库的数据文件的迁移实战(r8笔记第24天)
- Hive的left join、left outer join和left semi join三者的区别
- 52. Socket Server 自定义协议的简单实现 | 厚土Go学习笔记
- dataguard备库的数据文件的迁移(r8笔记第22天)
- 46. 实现一个简单的网络爬虫 | 厚土Go学习笔记
- 45. sync.Mutex 互斥和互斥锁 | 厚土Go学习笔记
- golang进度条
- 44. goroutine、channel、time的例子 | 厚土Go学习笔记
- AVL二叉树
- Golang:使用 httprouter 构建 API 服务器
- dataguard中需要注意的一些数据文件操作(r8笔记第21天)
- 42. select 的默认分支 | 厚土Go学习笔记
- 执行计划变化导致CPU负载高的问题分析 (r8笔记第20天)
- 数据结构基础(2) --顺序查找 ; 二分查找
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法