深入解析Flink on Yarn

Apache Flink是一个快速、可扩展的流处理框架,经常与Apache Hadoop和Apache Spark进行比较。在处理实时数据方面,它优于Hadoop MapReduce,而在批处理方面则与Spark不相上下。Flink on Yarn是Flink使用Apache Hadoop Yarn作为资源管理器的部署选项之一。

一、Flink on Yarn如何配置

在启动Flink on Yarn之前,您需要为Flink on Yarn创建并配置一个Yarn集群。要用Flink on Yarn运行任务,您需要配置用于启动Application Master(简称 “AM”)的Java可执行文件。配置AM时需要以下参数:

  • yarn.cluster.framework=flink-yarn-session :此参数告诉Yarn使用Flink作为引擎运行您的应用程序
  • jobmanager.memory.process.size=MemorySize :指定JobManager进程的最大内存使用
  • taskmanager.memory.process.size=MemorySize :指定TaskManager进程的最大内存使用
  • jobmanager.rpc.address=name:port :指定JobManager绑定的网络地址和端口
  • parallelism.default=TheDefaultParallelismArg :Flink在没有命令行参数或作业配置中指定并行任务数时将使用的默认并行任务数

以下是一个示例AM启动脚本:

java -classpath $FLINK_DIST/lib/flink-dist_$SCALA_VERSION-$FLINK_VERSION.jar:$FLINK_DIST/lib/flink-shaded-hadoop-2-uber-$FLINK_VERSION.jar \
    -Dlog4j.configuration=file:$FLINK_DIST/conf/log4j.properties \
    org.apache.flink.yarn.entry.YarnApplicationMasterRunner \
    --jarfile /path/to/your/flink-project-[version]-jar.jar \
    --yarn-executor-memory 512 \
    --taskmanager-count 3 \
    --name MyFlinkApplication \
    --jobmanager-memory 1024 \
    --detached

二、Flink on Yarn需要集群吗

是的,Flink on Yarn需要Yarn集群。Flink on Yarn还需要Hadoop HDFS来存储运行时的数据和应用程序的JAR文件等资源。

三、Flink on Yarn集群搭建

以下是安装Flink on Yarn集群的一般步骤:

  1. 安装Yarn
  2. 安装Hadoop HDFS
  3. 下载并解压Flink二进制文件
  4. 将Flink二进制文件添加到您的PATH环境变量中
  5. 在Flink的conf目录中创建文件“flink-conf.yaml”
  6. 编辑“flink-conf.yaml”
  7. 根据自己的需要,配置参数“yarn.application-attempts” 和 “yarn.application-attempt-id”
  8. 在HDFS上创建文件夹并设置相应权限
  9. 运行JobManager和TaskManager

有关更详细的指导,请参阅官方文档。

四、Flink on Yarn命令行参数

Flink on Yarn的命令行参数可以直接在启动应用程序时进行指定,也可以在FLINK_CONF_DIR/flink-conf.yaml中预先设置。

以下是一些常见参数:

  • –detached :以“detached”模式运行AM
  • –name MyFlinkApplication :指定应用程序的名称
  • –queue TheQueueName :指定要使用哪个队列运行应用程序
  • –jobManagerMemory MemorySize :指定JobManager进程的最大内存使用
  • –taskManagerCount Count :指定要启动多少个TaskManager实例
  • –taskManagerMemory MemorySize :指定TaskManager进程的最大内存使用

五、Flink on Yarn搭建需要配置master么

Flink on Yarn需要您设置一个JobManager,但不需要一个独立的Master节点。JobManager负责分配任务到TaskManager并管理它们的生命周期。JobManager和TaskManager都运行在Yarn集群中,作为Yarn应用程序的一部分。

六、小结

总之,Flink on Yarn是一种适用于使用Apache Hadoop Yarn作为资源管理器的Flink部署方式。它需要一个Yarn集群和一个Hadoop HDFS,可以通过配置AM启动脚本来使用。进行集群搭建和设置JobManager后,就可以使用Flink on Yarn运行您的应用程序了。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/254264.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-14 17:41
下一篇 2024-12-14 17:41

相关推荐

  • yarn npm 仓库用法介绍及使用案例

    本文将从多个方面对yarn npm仓库进行详细阐述,并为你提供一些实际使用案例。 一、npm和yarn的比较 npm和yarn都是JavaScript的包管理工具。npm在Java…

    编程 2025-04-27
  • 以on中的o发音相同的单词

    解答:本文将从发音相同的单词的定义、使用场景和区别以及常见的代码示例三个方面对以on中的o发音相同的单词进行详细阐述。 一、定义和使用场景 发音相同的单词指的是在音标上读音相同的单…

    编程 2025-04-27
  • 深入解析Vue3 defineExpose

    Vue 3在开发过程中引入了新的API `defineExpose`。在以前的版本中,我们经常使用 `$attrs` 和` $listeners` 实现父组件与子组件之间的通信,但…

    编程 2025-04-25
  • 深入理解byte转int

    一、字节与比特 在讨论byte转int之前,我们需要了解字节和比特的概念。字节是计算机存储单位的一种,通常表示8个比特(bit),即1字节=8比特。比特是计算机中最小的数据单位,是…

    编程 2025-04-25
  • 深入理解Flutter StreamBuilder

    一、什么是Flutter StreamBuilder? Flutter StreamBuilder是Flutter框架中的一个内置小部件,它可以监测数据流(Stream)中数据的变…

    编程 2025-04-25
  • 深入探讨OpenCV版本

    OpenCV是一个用于计算机视觉应用程序的开源库。它是由英特尔公司创建的,现已由Willow Garage管理。OpenCV旨在提供一个易于使用的计算机视觉和机器学习基础架构,以实…

    编程 2025-04-25
  • 深入了解scala-maven-plugin

    一、简介 Scala-maven-plugin 是一个创造和管理 Scala 项目的maven插件,它可以自动生成基本项目结构、依赖配置、Scala文件等。使用它可以使我们专注于代…

    编程 2025-04-25
  • 深入了解LaTeX的脚注(latexfootnote)

    一、基本介绍 LaTeX作为一种排版软件,具有各种各样的功能,其中脚注(footnote)是一个十分重要的功能之一。在LaTeX中,脚注是用命令latexfootnote来实现的。…

    编程 2025-04-25
  • 深入了解Python包

    一、包的概念 Python中一个程序就是一个模块,而一个模块可以引入另一个模块,这样就形成了包。包就是有多个模块组成的一个大模块,也可以看做是一个文件夹。包可以有效地组织代码和数据…

    编程 2025-04-25
  • 深入探讨冯诺依曼原理

    一、原理概述 冯诺依曼原理,又称“存储程序控制原理”,是指计算机的程序和数据都存储在同一个存储器中,并且通过一个统一的总线来传输数据。这个原理的提出,是计算机科学发展中的重大进展,…

    编程 2025-04-25

发表回复

登录后才能评论