如何快速的投入到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

https://git-scm.com/downloads

初始化

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官方练习环境的更多相关文章

  1. 史上最详细Windows版本搭建安装React Native环境配置 转载,比官网的靠谱亲测可用

    史上最详细Windows版本搭建安装React Native环境配置   2016/01/29 |  React Native技术文章 |  Sky丶清|  95条评论 |  33530 views ...

  2. 史上最详细Windows版本搭建安装React Native环境配置

    说在前面的话: 感谢同事金晓冰倾情奉献本环境搭建教程 之前我们已经讲解了React Native的OS X系统的环境搭建以及配置,鉴于各大群里有很多人反应在Windows环境搭建出现各种问题,今天就特 ...

  3. react-native学习笔记--史上最详细Windows版本搭建安装React Native环境配置

    参考:http://www.lcode.org/react-native/ React native中文网:http://reactnative.cn/docs/0.23/android-setup. ...

  4. 在windows系统搭建并运行一个Flutter项目

    搭建Flutter之前需要已经安装好相应的Flutter开发环境,如果没安装好相应环境的可以查看在windows系统搭建Flutter开发环境 搭建Flutter项目可以通过命令行搭建,或者通过and ...

  5. 史上最全Windows版本搭建安装React Native环境配置

    史上最全Windows版本搭建安装React Native环境配置 配置过React Native 环境的都知道,在Windows React Native环境配置有很多坑要跳,为了帮助新手快速无误的 ...

  6. Windows下搭建objective C开发环境

    摘自:http://blog.csdn.net/zhanghefu/article/details/18320827 最近打算针对iPhone.iPod touch和iPad开发一些应用,所以,需要开 ...

  7. 「C语言」在Windows平台搭建C语言开发环境的多种方式

    新接触C语言,如何在Windows下进行C语言开发环境的搭建值得思考并整理. 以下多种开发方式择一即可(DEV C++无须环境准备). 注:本文知识来源于  Windows 平台搭建C语言集成开发环境 ...

  8. 在Windows平台搭建C语言开发环境

    一.在Windows平台搭建DEV C++集成开发环境     官网 https://sourceforge.net/projects/orwelldevcpp/ 中下载Dev C++运行即可 环境准 ...

  9. Windows下搭建Spark+Hadoop开发环境

    Windows下搭建Spark+Hadoop开发环境需要一些工具支持. 只需要确保您的电脑已装好Java环境,那么就可以开始了. 一. 准备工作 1. 下载Hadoop2.7.1版本(写Spark和H ...

随机推荐

  1. 024_go语言中的缓冲通道

    代码演示 package main import "fmt" func main() { messages := make(chan string, 2) messages < ...

  2. rocketMq安装及集群配置

    网上关于rocketMq安装.集群配置的文章有很多,作为一个初学者,跟着网上的各种教程安装遇到了各种坑,可谓是一路坎坷.本文记录下rocketMq安装的完整过程.希望对你有一点帮助 安装rocketM ...

  3. 解决AndroidStudio 模拟器无网络连接

    更新 注意 Win10 要在cmd下打开, 也就是地址栏打cmd能成功 转载地址 https://blog.csdn.net/Bibifeng/article/details/81317037 最近写 ...

  4. LeetCode 64最小路径和

    题目 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小. 说明:每次只能向下或者向右移动一步. 示例: 输入: [   [1,3,1], [1,5 ...

  5. 【UVa1635】Irrelevant Elements - 唯一分解定理

    题意 给你 \(n\) 个数,每次求出相邻两个数的和组成新数列.经过 \(n-1\) 次操作后,得到一个数.求这个数 \(mod \ m\) 与哪些项无关. 如:当 \(m=2 \ , \ n=2\) ...

  6. 【算法•日更•第二期】查找算法:三分VS二分

    ▎前言:函数 如果你已经上过初二的数学课了,那么你十有八九会被函数折磨到吐血,这是一种中考压轴题类的题目,往往分类讨论到你恶心.不过没学过也不打紧,现场讲解一下: ☞『数学中的函数』 一般地,如果在一 ...

  7. Mybatis 循环删除/插入

    <foreach collection="array" open="(" separator="," close=")&qu ...

  8. VUE 中引入百度地图(vue-Baidu-Map)

    1.安装 $ npm install vue-baidu-map --save 2.全局注册,在main.js中引入以下代码 import BaiduMap from 'vue-baidu-map' ...

  9. Jmeter 常用函数(19)- 详解 __BeanShell

    如果你想查看更多 Jmeter 常用函数可以在这篇文章找找哦 https://www.cnblogs.com/poloyy/p/13291704.htm 作用 执行 BeanShell 脚本,并返回结 ...

  10. JavaScript学习系列博客_13_JavaScript中的对象(Object)简介

    对象 对象属于一种复合的数据类型,在对象中可以保存多个不同数据类型的属性.除了那5种基本数据类型,就是对象. 分类:1.内建对象- 由ES标准中定义的对象,在任何的ES的实现中都可以使用- 比如:Ma ...