2024年最全大数据基础设施搭建 - Flink(1),2024年最新BTAJ面试有关散列(哈希)表的面试题详解

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

修改内容:

# TaskManager节点地址.需要配置为当前机器名
taskmanager.host: hadoop103

执行命令:

[hadoop@hadoop104 conf]$ vim flink-conf.yaml

修改内容:

# TaskManager节点地址.需要配置为当前机器名
taskmanager.host: hadoop104

三、启动关闭集群(Standalone模式)

在hadoop102节点服务器上执行start-cluster.sh启动Flink集群

# 启动
[hadoop@hadoop102 flink-1.17.0]$ bin/start-cluster.sh
# 关闭
[hadoop@hadoop102 flink-1.17.0]$ bin/stop-cluster.sh

四、访问WEB-UI

启动成功后,同样可以访问http://hadoop102:8081对flink集群和任务进行监控管理。

五、向集群提交作业(会话模式部署)

5.1 WEB-UI方式提交

5.2 命令行方式提交

bin/flink run -m hadoop102:8081 -c com.atguigu.flink01.Flink03_WC_Unbound_Socket ./flink-0918-1.0-SNAPSHOT.jar

六、Flink集群运行模式

Flink集群的运行模式

6.1 Standalone模式

默认

6.2 Flink on Yarn模式

6.2.1 相关准备和配置(配置环境变量并分发)
[hadoop@hadoop102 ~]$ sudo vim /etc/profile.d/my_env.sh

新增内容:

#Flink on Yarn
export HADOOP\_CONF\_DIR=${HADOOP\_HOME}/etc/hadoop
export HADOOP\_CLASSPATH=`hadoop classpath`

其他两台机器同样新增该环境变量

使环境变量生效:

[hadoop@hadoop102 ~]$ mytools_call source /etc/profile

6.2.2 以会话模式在Flink on Yarn集群上部署Flink应用程序

YARN的会话模式与独立集群略有不同,需要首先申请一个YARN会话(YARN Session)来启动Flink集群
-nm(–name):配置在YARN UI界面上显示的任务名。

(1)启动关闭Flink集群
# 启动
[hadoop@hadoop102 flink-1.17.0]$ bin/yarn-session.sh -nm flink-session-cluster01
# 关闭
[hadoop@hadoop102 ~]$ yarn application -kill application_1700281106461_0453

(2)提交作业(WEB-UI方式)

部署到阿里云的这里IP有点问题,跳转到Flink WEB-UI时是内网IP

(3)提交作业(命令行方式)
[hadoop@hadoop102 flink-1.17.0]$ bin/flink run -c com.atguigu.flink01.Flink03_WC_Unbound_Socket ./flink-0918-1.0-SNAPSHOT.jar

6.2.3 以单作业模式在Flink on Yarn集群上部署Flink应用程序

启动一个Flink集群并提交作业

-d:后台运行
-t:指定部署模式(单作业模式)

# 启动
[hadoop@hadoop102 flink-1.17.0]$ bin/flink run -d -t yarn-per-job -c com.atguigu.flink01.Flink03_WC_Unbound_Socket ./flink-0918-1.0-SNAPSHOT.jar
# 关闭(通过WEB UI页面cancel作业)

6.2.4 以应用模式在Flink on Yarn集群上部署Flink应用程序
(1)启动

应用模式同样非常简单,与单作业模式类似,直接执行flink run-application命令即可

-d:后台运行
-t:指定部署模式(应用模式)

[hadoop@hadoop102 flink-1.17.0]$ bin/flink run-application -d -t yarn-application -c com.atguigu.flink01.Flink03_WC_Unbound_Socket ./flink-0918-1.0-SNAPSHOT.jar

(2)上传Flink的lib和plugins到HDFS上

将Flink应用程序用到Flink集群中的lib上传到Hadoop集群上。

[hadoop@hadoop102 flink-1.17.0]$ hadoop fs -mkdir /flink-dist
[hadoop@hadoop102 flink-1.17.0]$ hadoop fs -put lib/ /flink-dist
[hadoop@hadoop102 flink-1.17.0]$ hadoop fs -put plugins/ /flink-dist

(3)上传Flink应用程序jar到HDFS上
[hadoop@hadoop102 flink-1.17.0]$ hadoop fs -mkdir /flink-jars
[hadoop@hadoop102 flink-1.17.0]$ hadoop fs -put ./flink-0918-1.0-SNAPSHOT.jar /flink-jars

(4)提交作业
[hadoop@hadoop102 flink-1.17.0]$ bin/flink run-application -d -t yarn-application -Dyarn.provided.lib.dirs="hdfs://hadoop102:9820/flink-dist" -c com.atguigu.flink01.Flink03_WC_Unbound_Socket hdfs://hadoop102:9820/flink-jars/flink-0918-1.0-SNAPSHOT.jar

6.2.5 应用模式与单作业模式的区别

单作业模式:客户端需要执行main方法,将JobGraph提交给YARN上的JobManager。
应用模式:应用程序jar的main()方法将在YARN中的JobManager上执行。客户端仅仅是执行命令。

6.3 配置Flink历史服务器

6.3.1 创建存储目录
[hadoop@hadoop102 flink-1.17.0]$ hadoop fs -mkdir -p /logs/flink-job

6.3.2 修改配置文件flink-config.yaml
[hadoop@hadoop102 conf]$ vim flink-conf.yaml

新增内容:

找到historyserver部分(在最后),添加到该位置即可。

jobmanager.archive.fs.dir: hdfs://hadoop102:9820/logs/flink-job
historyserver.web.address: hadoop102
historyserver.web.port: 8082
historyserver.archive.fs.dir: hdfs://hadoop102:9820/logs/flink-job
historyserver.archive.fs.refresh-interval: 5000

6.3.3 启动停止历史服务器
# 启动
[hadoop@hadoop102 flink-1.17.0]$ bin/historyserver.sh start
# 停止
[hadoop@hadoop102 flink-1.17.0]$ bin/historyserver.sh stop

6.3.4 重启Yarn(跳过)

如果历史服务器不生效则需要重启,正常情况不需要。

stop-yarn.sh
start-yarn.sh

6.3.5 访问Flink历史服务器地址

在yarn的WEB-UI界面,点击任务的History位置,如果Flink历史服务器生效就会跳转到Flink历史服务器UI界面,否则会跳转到Yarn的UI界面。
地址:http://hadoop102:8082

七、Flink Standalone会话模式的系统架构

7.1 基础架构图

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

七、Flink Standalone会话模式的系统架构

7.1 基础架构图

[外链图片转存中…(img-b4BDk72z-1715641256372)]
[外链图片转存中…(img-Z6kyx0bm-1715641256372)]
[外链图片转存中…(img-QAY7uBXF-1715641256373)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

  • 26
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作为一个大数据开发工程师,面试中可能会涉及到Flink的相关知识。下面是一些常见的问题和建议的答案,供你参考: 1. 请介绍一下Flink的基本概念和特点。 Flink是一个开源的流处理和批处理框架,具有低延迟、高吞吐量、Exactly-Once语义等特点。它支持事件时间和处理时间,并且可以在内存中保存状态。 2. Flink的数据流转换操作有哪些? Flink提供了一系列的数据流转换操作,如map、filter、reduce、keyBy、window等。这些操作可以用来对数据流进行转换、聚合和处理。 3. Flink的窗口是什么?它有哪些类型? 窗口是按照一定的条件对数据流进行切分和分组的机制。Flink支持基于时间或者基于数量的窗口。常见的窗口类型有滚动窗口、滑动窗口和会话窗口。 4. Flink的状态管理方式有哪些? Flink支持两种类型的状态管理方式:键控状态和操作符状态。键控状态是根据输入数据流中的键值对来维护状态,而操作符状态是全局共享的状态。 5. Flink如何实现容错性? Flink采用了事件时间和WAL(Write-Ahead-Log)机制来实现容错性。它会将数据流的元数据和状态信息持久化到可靠的存储系统中,以便在故障发生时进行恢复。 6. Flink的常见部署方式是什么? Flink可以以独立集群模式或者与Hadoop、Kubernetes等集成部署。它可以在YARN、Mesos、Kubernetes等资源管理器上运行。 7. Flink的水位线(Watermark)是什么作用? 水位线是用来处理事件时间乱序的机制。它可以告知Flink事件的最大延迟时间,以便在窗口计算中进行处理。 这些问题只是一些基本的问题,你还可以根据你自己的经验和实际情况进行深入的准备。祝你面试顺利!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值