二 Flink的部署

2020-08-08 14:18:08

1 單機模式

1. 下載flink
可以導官網上下載: https://flink.apache.org/

2.解壓到linux的一個資料夾下

3.然後執行flink/bin目錄下的start-cluster.sh

./bin/start-cluster.sh
  1. 通過Web UI去檢視flink和提交任務
http://localhost:8081

1.1 在命令列提交任務

./bin/flink run 打包好的 JAR 包的絕對路徑
./bin/flink run -c 需要執行程式的主類所在包 -p Parallelism jar包的絕對路徑 --host localhost --port 7777

./bin/flink run -c com.wc.WordCount -p 1 /num/target/World.jar --host xiaoai08 --port 7777

1.2 設定taskslot num

在conf目錄下的flink-conf.yaml檔案中設定

taskmanager.numberOfTaskSlots: 1

2 設定standalone叢集模式

2.1 更改flink-conf.yaml 檔案

jobmanager.rpc.address: xiaoai08 //jobmanager的主機名字

2.2 更改slaves

在該檔案上新增所有主機的地址

xiaoai07
xiaoai08
xiaoai09

2.3 啓動叢集

./bin/start-cluster.sh

3 yarn 模式(session 模式和job模式)

只需在一臺機器上有flink.

3.1 下載hadoop依賴包,可以在flink官網上下載.

在这里插入图片描述

3.2 把下載的hadoop依賴包放到flink的lib目錄裏面.

3.3 啓動叢集

3.4 啓動yarn session.sh

bin/yarn-session.sh

這個命令後面有很多參數.

yarn-session.sh -n 2 -jm 1024 -tm 1024 -d -s 2
-n 2 表示指定兩個容器 
-jm 1024 表示jobmanager 1024M記憶體 
-tm 1024表示taskmanager 1024M記憶體 
-d --detached  任務後臺執行 
-s  指定每一個taskmanager分配多少個slots(處理進程)。建議設定爲每個機器的CPU核數。一般情況下,vcore的數量等於處理的slot(-s)的數量
-nm,--name YARN上爲一個自定義的應用設定一個名字
-q,--query 顯示yarn中可用的資源 (記憶體, cpu核數)
-qu,--queue <arg> 指定YARN佇列.
-z,--zookeeperNamespace <arg> 針對HA模式在zookeeper上建立NameSpace

-n,–container 表示分配容器的數量(也就是 TaskManager 的數量)。
-D 動態屬性。
-d,–detached 在後臺獨立執行。
-jm,–jobManagerMemory :設定 JobManager 的記憶體,單位是 MB。
-nm,–name:在 YARN 上爲一個自定義的應用設定一個名字。
-q,–query:顯示 YARN 中可用的資源(記憶體、cpu 核數)。
-qu,–queue :指定 YARN 佇列。
-s,–slots :每個 TaskManager 使用的 Slot 數量。
-tm,–taskManagerMemory :每個 TaskManager 的記憶體,單位是 MB。
-z,–zookeeperNamespace :針對 HA 模式在 ZooKeeper 上建立 NameSpace。
-id,–applicationId :指定 YARN 叢集上的任務 ID,附着到一個後臺獨立執行的 yarn session 中

3.4 使用./bin/flink run跑任務

./bin/flink run ./path/to/job.jar

3.5 yarn還有一種job模式提交任務

這種模式不需要啓動session
bin/flink run -m yarn-cluster -yn 3 -ys 3 -ynm bjsxt02 -c com.bjsxt.flink.StreamWordCount /home/Flink-Demo-1.0-SNAPSHOT.jar
-yn,–container 表示分配容器的數量,也就是 TaskManager 的數量。
-d,–detached:設定在後台執行。
-yjm,–jobManagerMemory:設定 JobManager 的記憶體,單位是 MB。
-ytm,–taskManagerMemory:設定每個 TaskManager 的記憶體,單位是 MB。
-ynm,–name:給當前 Flink application 在 Yarn 上指定名稱。
-yq,–query:顯示 yarn 中可用的資源(記憶體、cpu 核數)
-yqu,–queue :指定 yarn 資源佇列
-ys,–slots :每個 TaskManager 使用的 Slot 數量。
-yz,–zookeeperNamespace:針對 HA 模式在 Zookeeper 上建立 NameSpace
-yid,–applicationID : 指定 Yarn 叢集上的任務 ID,附着到一個後臺獨立執行的 Yarn Session 中。