深入解析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/zh-tw/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

發表回復

登錄後才能評論