(四)Flink部署方式以及高可用


方式一:Local模式

后續補充......

 

方式二:Standalone cluster

后續補充......

 

方式三:Flink on Yarn

  兩種部署方式比較:

  

第一種方式啟動命令的一些參數說明:

  ./bin/yarn-session.sh 命令用法:

  必選: -n,--container <arg> 分配多少個yarn容器 (=taskmanager的數量)

  可選:

    -D <arg>                        動態屬性  

    -d,--detached 獨立運行

    -jm,--jobManagerMemory <arg> JobManager的內存 [in MB]

    -nm,--name 在YARN上為一個自定義的應用設置一個名字

    -q,--query 顯示yarn中可用的資源 (內存, cpu核數)

    -qu,--queue <arg> 指定YARN隊列.

    -s,--slots <arg> 每個TaskManager使用的slots數量

    -tm,--taskManagerMemory <arg> 每個TaskManager的內存 [in MB]

    -z,--zookeeperNamespace <arg> 針對HA模式在zookeeper上創建NameSpace

    -id,--applicationId <yarnAppId> YARN集群上的任務id,附着到一個后台運行的yarn session中

第二種方式啟動命令的一些參數說明:

   ./bin/flink run 命令用法J:

   run [OPTIONS] <jar-file> <arguments>  

    "run" 操作參數:

      -c,--class <classname> 如果沒有在jar包中指定入口類,則需要在這里通過這個參數指定

      -m,--jobmanager <host:port> 指定需要連接的jobmanager(主節點)地址,使用這個參數可以指定一個不同於配置文件中的jobmanager

       -p,--parallelism <parallelism> 指定程序的並行度。可以覆蓋配置文件中的默認值。

   默認查找當前yarn集群中已有的yarn-session信息中的jobmanager【/tmp/.yarn-properties-root】:

     ./bin/flink run ./examples/batch/WordCount.jar -input hdfs://hostname:port/hello.txt -output hdfs://hostname:port/result1

   連接指定host和port的jobmanager:

     ./bin/flink run -m hadoop100:1234 ./examples/batch/WordCount.jar -input hdfs://hostname:port/hello.txt -output hdfs://hostname:port/result1

  啟動一個新的yarn-session:

     ./bin/flink run -m yarn-cluster -yn 2 ./examples/batch/WordCount.jar -input hdfs://hostname:port/hello.txt -output hdfs://hostname:port/result1

    注意:yarn session命令行的選項也可以使用./bin/flink 工具獲得。它們都有一個y或者yarn的前綴

    例如:./bin/flink run -m yarn-cluster -yn 2 ./examples/batch/WordCount.jar

 

其他部署方式:Mesos;Docker;Kubernetes;AWS;Goole Compute Engine;MapR

 

HA:

本質也就是JobManager 高可用(HA),JobManager協調每個flink任務部署。它負責任務調度和資源管理。 默認情況下,每個flink集群只有一個JobManager,這將導致一個單點故障(SPOF):如果JobManager掛了,則不能提交新的任務,並且運行中的程序也會失敗。 使用JobManager HA,集群可以從JobManager故障中恢復,從而避免SPOF(單點故障) 。 用戶可以在standalone或 YARN集群 模式下,配置集群高可用。

JobManager HA配置:

1、Standalone集群的高可用

Standalone模式(獨立模式)下JobManager的高可用性的基本思想是,任何時候都有一個 Master JobManager ,並且多個Standby JobManagers 。 Standby JobManagers可以在Master JobManager 掛掉的情況下接管集群成為Master JobManager。 這樣保證了沒有單點故障,一旦某一個Standby JobManager接管集群,程序就可以繼續運行。 Standby JobManager和Master JobManager實例之間沒有明確區別。 每個JobManager都可以成為Master或Standby節點。

2、Yarn 集群高可用

flink on yarn的HA 其實主要是利用yarn自己的job恢復機制。

HA參見:https://www.cnblogs.com/wynjauu/articles/10545128.html

轉載請注明地址:https://www.cnblogs.com/wynjauu/articles/10543833.html 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM