Flink-简介以及standalone集群安装和简单的测试

flink简介

Flink是一个分布式大数据处理引擎,可以对有限数据流和无线数据流进行有状态计算,可以部署在各种集群环境,对各种大小的数据规模进行快速的计算。
在这里插入图片描述

flink的特点有什么

  1. 批流统一

  2. 支持高吞吐、低延迟I高性能的流处

  3. 支持带有事件时间的窗口(Window) 操作

  4. 支持有状态计算的Exactly-once 语义
    5.支持高度灵活的窗口(Window) 操作,支持基于time、count、 session 窗口操作

  5. 支持具有Backpressure功能的持续流模型

  6. 支持基于轻量级分布式快照(Snapshot) 实现的容错
    支持迭代计算

  7. Flink在JVM内部实现了自己的内存管理

  8. 支持程序自动优化:避免特定情况下Shuffle、排序等昂贵操作,中间结果有必要进行缓存

flink和其他框架的比较

框架名称 优点 缺点
Storm 低延迟 吞吐量低,不可以保证exactly-once,API不丰富
Spark 吞吐量高,可以保证exactly-once,API丰富 延迟高
Flink 吞吐量高,低延迟,可以保证exactly-once,API丰富 更新速度快,API变化速度快

flink的架构如下:
在这里插入图片描述
在这里插入图片描述

JobManager

也称之为Master,用于协调分布式执行,它用来调度task,协调检查点,协调失败时恢复等。Flink
运行时至少存在一个master,如果配置高可用模式则会存在多个master,它们其中有一个是leader,
而其他的都是standby.

TaskManager

也称之为Worker,用于执行一个dataflow的task.数据缓冲和Data Streams的数据交换,Flink 运
行时至少会存在一个TaskManager. JobManager 和TaskManager可以直接运行在物理机上,或者运行
YARN这样的资源调度框架,TaskManager 通过网络连接到JobManager,通过RPC通信告知自身的
可用性进而获得任务分配。

Spark和Flink的对比

在这里插入图片描述

flink安装

给你们百度云:
链接: https://pan.baidu.com/s/1bYkJ4OmmQnAUW7fiAqsKjw 密码: a53w

上传后解压即可

flink-standalone集群配置

1.进入flink文件夹下的conf目录:

vi flink-conf.yaml

修改如下内容:

#这里填主节点的ip地址,是worker与主节点通信的地址
jobmanager.rpc.address: 192.168.237.130
#资源槽,默认为1,太小了
taskmanager.numberOfTaskSlots: 2

修改从节点的地址:

vi slaves

添加内容:

192.168.237.131
192.168.237.132

配置结束(其实需要配的很少,不过没有配置高可用)
2.准备已经配置过ssh的机器
我自己的主节点为test130,另外两台从节点是test131和test132
将配置好的文件夹拷贝到其他机器上:

scp -r flink-1.9.1/ test131:/opt/modules/
scp -r flink-1.9.1/ test132:/opt/modules/

3.启动集群(在主节点机器上)

bin/start-cluster.sh 

会出现如下图:
在这里插入图片描述
4.查看进程:
主节点:
在这里插入图片描述
从节点:在这里插入图片描述
5.访问页面:http://192.168.237.130:8081/#/overview
默认开放端口为8081
在这里插入图片描述

简单的测试,做一个WordCount

flink安装包下面已经有自带的jar包,就是给我们测试的一个案例。
目录如下:flink1.9.1/examples在这里插入图片描述

页面操作启动Task

  1. 在终端上开放端口8888
nc -lk 8888
  1. 点击左侧的Submit New Job在这里插入图片描述

  2. 上传指定的jar包
    在这里插入图片描述

  3. 上传完毕后的页面是这样的:
    在这里插入图片描述

  4. 点击新加的这一行后,出现页面:输入并行度以及hostname和port(注意要有空格),点击提交在这里插入图片描述

  5. 出现页面:在这里插入图片描述

  6. 终端上输入相关数据(与第一步呼应):

在这里插入图片描述

  1. 在TaskManager下的某一个work中查看结果(结果不是在JobManager上看,而是在从节点看,随便点一个进去会出现以下页面,我们配置了2个从节点,如果你点进进去的work中没有数据,那么就是在另外的work上执行的任务)
    在这里插入图片描述

命令行操作启动Task

bin/flink run -m test130:8081 -p 4 -c org.apache.flink.streaming.examples.socket.SocketWindowWordCount examples/streaming/SocketWindowWordCount.jar --hostname test130 --port 8888

在flink目录下执行即可。只需要换掉自己的ip和端口即可
命令顺序如下

  1. -p 代表并行度
  2. -c [jar全类名] [路径]
  3. –hostname ip
  4. –port 端口

猜你喜欢

转载自blog.csdn.net/Zong_0915/article/details/107734434
今日推荐