手把手教你搭建实时大数据引擎FLINK

本文详细介绍如何在三节点环境中部署Flink HA集群,包括服务器规划、配置Zookeeper、HDFS,以及具体步骤如修改flink-conf.yaml和masters/slaves配置文件,最后启动并验证集群高可用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

服务器规划

  • 服务器规划

服务名称职能
zhen 192.168.2.5(震)master+slave
xun 192.168.2.6(巽)slave
li 192.168.2.7(离)slave

Standalone高可用HA模式

架构图

在这里插入图片描述

下载并上传tar包

下载安装包 https://archive.apache.org/dist/flink/flink-1.6.1/flink-1.6.1-bin-hadoop27-scala_2.11.tgz

具体安装步骤

1.在flink-conf.yaml中添加zookeeper配置

# jobManager 的IP地址
jobmanager.rpc.address: zhen
# JobManager 的端口号
jobmanager.rpc.port: 6123
# JobManager JVM heap 内存大小
jobmanager.heap.size: 1024
# TaskManager JVM heap 内存大小
taskmanager.heap.size: 1024
# 每个 TaskManager 提供的任务 slots 数量大小
taskmanager.numberOfTaskSlots: 2
#是否进行预分配内存,默认不进行预分配,这样在我们不使用flink集群时候不会占用集群资源
taskmanager.memory.preallocate: false
# 程序默认并行计算的个数
parallelism.default: 1
#JobManager的Web界面的端口(默认:8081)
jobmanager.web.port: 8081
#配置每个taskmanager生成的临时文件目录(选配)
taskmanager.tmp.dirs: /home/hadoop/flink/flink-1.6.1/tmp

#开启HA,使用文件系统作为快照存储
state.backend: filesystem
#启用检查点,可以将快照保存到HDFS
state.backend.fs.checkpointdir: hdfs://zhen:9000/flink-checkpoints
#使用zookeeper搭建高可用
high-availability: zookeeper
# 存储JobManager的元数据到HDFS
high-availability.storageDir: hdfs://zhen:9000/flink/ha/
high-availability.zookeeper.quorum: zhen:2181,xun:2181,li:2181


2.将配置过的HA的flink-conf.yaml分发到另外两个节点

scp -r flink-conf.yaml xun:$PWD
scp -r flink-conf.yaml li:$PWD

3.到节点2中修改flink-conf.yaml中的配置,将JobManager设置为自己节点的名称

jobmanager.rpc.address: xun

4.修改masters配置文件 vi masters 并同步到其他节点

zhen:8081
xun:8081
scp -r masters xun:$PWD
scp -r masters li:$PWD

5.修改slaves 配置文件 vi slaves 并同步到其他节点

zhen
xun
li

scp -r slaves xun:$PWD
scp -r slaves li:$PWD

6.启动zookeeper集群

7.启动HDFS集群

8.启动flink集群

./bin/start-cluster.sh
启动完成
在这里插入图片描述

9.分别查看两个节点的Flink Web UI

http://192.168.2.6:8081/#/overview
登录界面
在这里插入图片描述

10.kill掉一个节点,查看另外的一个节点的Web UI

http://192.168.2.5:8081/#/submit
在这里插入图片描述

yarm 集群环境搭建

1.修改Hadoop的yarn-site.xml,添加该配置表示内存超过分配值,是否将任务杀掉。默认为true。

运行Flink程序,很容易超过分配的内存

<property>
	<name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
</property>

2.同步到其他节点

scp yarn-site.xml xun:$PWDxun
scp yarn-site.xml li:$PWD

3.启动HDFS、YARN集群

start-all.sh

第一章 整体介绍 2 1.1 什么是 Table API 和 Flink SQL 2 1.2 需要引入的依赖 2 1.3 两种 planner(old & blink)的区别 4 第二章 API 调用 5 2.1 基本程序结构 5 2.2 创建表环境 5 2.3 在 Catalog 中注册表 7 2.3.1 表(Table)的概念 7 2.3.2 连接到文件系统(Csv 格式) 7 2.3.3 连接到 Kafka 8 2.4 表的查询 9 2.4.1 Table API 的调用 9 2.4.2 SQL 查询 10 2.5 将 DataStream 转换成表 11 2.5.1 代码表达 11 2.5.2 数据类型与 Table schema 的对应 12 2.6. 创建临时视图(Temporary View) 12 2.7. 输出表 14 2.7.1 输出到文件 14 2.7.2 更新模式(Update Mode) 15 2.7.3 输出到 Kafka 16 2.7.4 输出到 ElasticSearch 16 2.7.5 输出到 MySql 17 2.8 将表转换成 DataStream 18 2.9 Query 的解释和执行 20 1. 优化查询计划 20 2. 解释成 DataStream 或者 DataSet 程序 20 第三章 流处理中的特殊概念 20 3.1 流处理和关系代数(表,及 SQL)的区别 21 3.2 动态表(Dynamic Tables) 21 3.3 流式持续查询的过程 21 3.3.1 将流转换成表(Table) 22 3.3.2 持续查询(Continuous Query) 23 3.3.3 将动态表转换成流 23 3.4 时间特性 25 3.4.1 处理时间(Processing Time) 25 3.4.2 事件时间(Event Time) 27 第四章 窗口(Windows) 30 4.1 分组窗口(Group Windows) 30 4.1.1 滚动窗口 31 4.1.2 滑动窗口 32 4.1.3 会话窗口 32 4.2 Over Windows 33 1) 无界的 over window 33 2) 有界的 over window 34 4.3 SQL 中窗口的定义 34 4.3.1 Group Windows 34 4.3.2 Over Windows 35 4.4 代码练习(以分组滚动窗口为例) 36 第五章 函数(Functions) 38 5.1 系统内置函数 38 5.2 UDF 40 5.2.1 注册用户自定义函数 UDF 40 5.2.2 标量函数(Scalar Functions) 40 5.2.3 表函数(Table Functions) 42 5.2.4 聚合函数(Aggregate Functions) 45 5.2.5 表聚合函数(Table Aggregate Functions) 47
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值