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集群的一般步驟:
- 安裝Yarn
- 安裝Hadoop HDFS
- 下載並解壓Flink二進位文件
- 將Flink二進位文件添加到您的PATH環境變數中
- 在Flink的conf目錄中創建文件「flink-conf.yaml」
- 編輯「flink-conf.yaml」
- 根據自己的需要,配置參數「yarn.application-attempts」 和 「yarn.application-attempt-id」
- 在HDFS上創建文件夾並設置相應許可權
- 運行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