【大数据面试题】008 谈一谈 Flink Slot 与 并行度

这篇具有很好参考价值的文章主要介绍了【大数据面试题】008 谈一谈 Flink Slot 与 并行度。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


一步一个脚印,一天一道面试题

该文章有较多引用文章
https://zhuanlan.zhihu.com/p/572170629?utm_id=0

并行度 Parallelism 概念作用

并行度是作用于算子的单位。Flink 的每个算子都可以单独设置并行度。一般来说,并行度越大,处理能力越大,处理的就越快。

DataStream<T> dataStream = ...; // 获取数据流
dataStream
    .setParallelism(10)
    .map(...); // 设置并行度为 10 的 map 算子

Slot 概念作用

Slot 是 Flink 的最小资源管理单位。目前 Slot 可以隔离内存,但不能隔离 CPU,CPU 是 TaskManager 共享的。跟并行度对应的单位是算子不同,Slot 对应的单位是整个 Flink Job

如何设置

一个 task 一个 slot
可以在 Flink 的 web 中找到 Job 有多少个 task,尽量每个 task 都有 slot,避免 task 出现等待资源的情况。

TaskManager 任务管理器

TaskManager = 并行度 / Slot文章来源地址https://www.toymoban.com/news/detail-825679.html

Flink submit 脚本

#!/bin/bash

FLINK_HOME=/path/to/flink  # Flink 的安装路径
JOB_JAR=/path/to/job.jar  # 需要提交的 Flink 作业的 Jar 包路径

SLOTS=10  # 设置使用的 slot 数量
TASKMANAGER_MEMORY=4096  # 设置每个 TaskManager 的内存大小为 4GB
TASKMANAGERS=2  # 设置 TaskManager 的数量为 2

$FLINK_HOME/bin/flink run \
    -m yarn-cluster \
    -yn $SLOTS \
    -ytm $TASKMANAGER_MEMORY \
    -ys $SLOTS \
    -yjm $TASKMANAGER_MEMORY \
    -tm $TASKMANAGERS \
    -yqu flink_queue \
    -yD key=value \
    -c your.main.Class \
    $JOB_JAR

# -tm 设置 Task Manager 的数量
# -ys 设置 YARN session 的 slot 数量,这个值通常应与 -yn 中的 slot 数量保持一致。
# -yjm 设置 YARN session 的 JobManager 内存大小。
# -yqu 设置作业提交到的 YARN 队列名称。
# -yD 通过该选项可以设置 Flink 的配置项,如设置并行度、配置文件等。key=value 表示一个具体的配置项。

到了这里,关于【大数据面试题】008 谈一谈 Flink Slot 与 并行度的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 谈一谈扫码登录原理

      今天给大家介绍下扫码登录功能是怎么设计的。 扫码登录功能主要分为三个阶段: 待扫描、已扫描待确认、已确认 。 整体流程图如图。 下面分阶段来看看设计原理。 1、待扫描阶段 首先是待扫描阶段,这个阶段是 PC 端跟服务端的交互过程。 每次用户打开PC端登陆请求,

    2024年02月10日
    浏览(47)
  • 谈一谈缓存穿透,击穿,雪崩

    缓存穿透是指在使用缓存系统时,频繁查询一个不存在于缓存中的数据,导致这个查询每次都要通过缓存层去查询数据源,无法从缓存中获得结果。这种情况下,大量的请求会直接穿透缓存层,直接访问数据源,从而增加了系统的负载,降低了系统的性能。 通常情况下,当一

    2024年02月14日
    浏览(52)
  • 谈一谈Python中的装饰器

    1.1 何为Python中的装饰器? Python中装饰器的定义以及用途: 装饰器是一种特殊的函数,它可以接受一个函数作为参数,并返回一个新的函数。装饰器可以用来修改或增强函数的行为,而不需要修改函数本身的代码。在Python中,装饰器通常用于实现AOP(面向切面编程),例如日

    2023年04月16日
    浏览(63)
  • 谈一谈冷门的C语言爬虫

    C语言可以用来编写爬虫程序,但是相对于其他编程语言,C语言的爬虫开发可能会更加复杂和繁琐。因为C语言本身并没有提供现成的爬虫框架和库,需要自己编写网络请求、HTML解析等功能。 不过,如果你对C语言比较熟悉,也可以尝试使用C语言编写爬虫程序,这样可以更好地

    2024年02月08日
    浏览(57)
  • 谈一谈Vue怎么用extend动态创建组件

    Vue.js是一个流行的JavaScript框架,它提供了许多功能来帮助我们构建交互式Web应用程序。其中之一是使用extend方法动态创建组件。   extend方法是Vue.js提供的一个方法,它允许我们创建一个新的Vue组件构造函数。这个新的构造函数可以继承现有的组件,也可以添加新的选项。 我

    2023年04月24日
    浏览(44)
  • 谈一谈如何加快android的项目的编译速度

    随着android的组件化的到来,一个项目后期功能越来越多,模块拆分的越来越多,作为android的开发的小伙伴就不得不面对运行一下android项目可能需要5,6分钟甚至10几分钟的等待期,开发时间都浪费在编译上了,你说烦不烦呢!那么怎么解决这个困境,总不能就这么一直凑合着

    2024年02月12日
    浏览(67)
  • [轻科普]谈一谈最近手机上的2亿像素

    最近很多厂商发布了2亿像素的手机,2亿像素比较火热,如realme 11 pro + ,荣耀的honor 90 pro,以及之前小米发布的Redmi note 12 pro +。 下图为honor 90 Pro上搭载的2亿像素 ,为S5KHP3 下图为 红米上搭载的S5kHPX 2亿像素传感器。    下图为 Realme的两亿像素,S5KHP3的超级变焦版本   以上三

    2024年02月06日
    浏览(58)
  • 【谈一谈】: 我们工作中的单例模式有哪些写法?

    我们要实现一个单例,首先最重要的是什么? 当然是把构造函数私有化,变成 private 类型,(为啥? 单例单例,如果谁都能通过构造函数创建对象,还叫单例吗?是不~) 嗯~我们构造函数私有化后,我们应该 操作啥 呢? 接着我们需要提供 一个方法 ,这个方法要保证初始化 有且仅 初始化 一

    2024年02月21日
    浏览(48)
  • 【12期】谈一谈redis两种持久化机制的区别?

    RDB方案可以在规定时间间隔内创建数据集的时间点快照。 AOF方案记录了服务器执行的所有写操作命令,并在服务器启动时通过重新执行这些命令来还原数据集。AOF文件完全遵循Redis协议格式保存,新命令会被追加到文件末尾。此外,Redis还能在后台对AOF文件重写以确保不超过

    2024年02月11日
    浏览(42)
  • 谈一谈前端私有组件库的必要性(组件库系列一)

    工作多年遇到各种各样的项目,往往在固定的岗位或者说固定的业务部门,同类型的项目出现的频率极高。很多同学对于组件库这个概念更多的使用场景,可能是拿到开源的一些组件库开箱即用。如PC端的ElementUI、Ant-design、移动端的vant之类的。这些开源的组件库能够很大程度

    2024年02月07日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包