日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Flink源码篇,作业提交流程、作业调度流程、作业内部转换流程图

發(fā)布時間:2023/12/16 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Flink源码篇,作业提交流程、作业调度流程、作业内部转换流程图 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Flink核心篇,四大基石、容錯機制、廣播、反壓、序列化、內(nèi)存管理、資源管理

Flink基礎篇,基本概念、設計理念、架構(gòu)模型、編程模型、常用算子

Flink源碼篇,作業(yè)提交流程、作業(yè)調(diào)度流程、作業(yè)內(nèi)部轉(zhuǎn)換流程圖

1、Flink作業(yè)提交流程應該了解吧?

2、Flink作業(yè)提交分為幾種方式?

3、Flink JobGraph是在什么時候生成的?

4、那在 JobGraph 提交集群之前都經(jīng)歷哪些過程?

5、PipeExecutor,它有哪些實現(xiàn)類?

6、Local提交模式有啥特點,怎么實現(xiàn)的?

7、遠程提交模式都有哪些?

8、Standalone模式簡單介紹一下?

9、yarn-session模式特點?

10、yarn-perJob模式特點?

11、yarn-application模式特點?

12、yarn-session 提交流程詳細介紹一下?

13、yarn-perJob 提交流程詳細介紹一下?

14、流圖、作業(yè)圖、執(zhí)行圖三者區(qū)別?

15、流圖(StreamGraph)介紹一下?

16、作業(yè)圖(JobGraph)介紹一下?

17、執(zhí)行圖(ExecutionGraph)介紹一下?

18、Flink調(diào)度器的概念介紹一下?

19、Flink調(diào)度行為包含幾種?

20、Flink調(diào)度模式包含幾種?

21、Flink調(diào)度策略包含幾種?

22、Flink作業(yè)生命周期包含哪些狀態(tài)?

23、Task的作業(yè)生命周期包含哪些狀態(tài)?

24、Flink的任務調(diào)度流程講解一下?

25、Flink的任務槽是什么意思?

26、Flink 槽共享又是什么意思?

1、Flink作業(yè)提交流程應該了解吧?

Flink的提交流程:

在Flink Client中,通過反射啟動jar中的main函數(shù),生成Flink StreamGraph和JobGraph,將JobGraph提交給Flink集群

Flink集群收到JobGraph(JobManager收到)后,將JobGraph翻譯成ExecutionGraph,然后開始調(diào)度,啟動成功之后開始消費數(shù)據(jù)。

總結(jié)來說:Flink核心執(zhí)行流程,對用戶API的調(diào)用可以轉(zhuǎn)為 StreamGraph -> JobGraph -> ExecutionGraph。

2、Flink作業(yè)提交分為幾種方式?

Flink的作業(yè)提交分為兩種方式

Local 方式:即本地提交模式,直接在IDEA運行代碼。

遠程提交方式:分為Standalone方式、yarn方式、K8s方式

Yarn方式分為三種提交模式:Yarn-perJob模式、Yarn-Sessionmo模式、Yarn-Application模式

3、Flink JobGraph是在什么時候生成的?

StreamGraph、JobGraph全部是在Flink Client 客戶端生成的,即提交集群之前生成,原理圖如下:

4、那在 JobGraph 提交集群之前都經(jīng)歷哪些過程?

(1)用戶通過啟動Flink集群,使用命令行提交作業(yè),運行 flink run -c WordCount xxx.jar

(2)運行命令行后,會通過run腳本調(diào)用CliFrontend入口,CliFrontend會觸發(fā)用戶提交的jar文件中的main方法,然后交給PipelineExecuteor # execute方法,最終根據(jù)提交的模式選擇觸發(fā)一個具體的PipelineExecutor執(zhí)行。

(3)根據(jù)具體的PipelineExecutor執(zhí)行,將對用戶的代碼進行編譯生成streamGraph,經(jīng)過優(yōu)化后生成jobgraph。

5、PipeExecutor,它有哪些實現(xiàn)類?

PipeExecutor 在Flink中被叫做 流水線執(zhí)行器,它是一個接口,是Flink Client生成JobGraph之后,將作業(yè)提交給集群的重要環(huán)節(jié),前面說過,作業(yè)提交到集群有好幾種方式,最常用的是yarn方式,yarn方式包含3種提交模式,主要使用 session模式,perjob模式,Application模式,jobGraph是在集群中生成。

所以PipeExecutor的實現(xiàn)類如下圖所示:

除了上述框的兩種模式外,在IDEA環(huán)境中運行Flink MiniCluster 進行調(diào)試時,使用LocalExecutor。

6、Local提交模式有啥特點,怎么實現(xiàn)的?

Local是在本地IDEA環(huán)境中運行的提交方式。不上集群。主要用于調(diào)試,原理圖如下:

Flink程序由JobClient進行提交

JobClient將作業(yè)提交給JobManager

JobManager負責協(xié)調(diào)資源分配和作業(yè)執(zhí)行。資源分配完成后,任務將提交給相應的TaskManager

TaskManager啟動一個線程開始執(zhí)行,TaskManager會向JobManager報告狀態(tài)更改,如開始執(zhí)行,正在進行或者已完成。

作業(yè)執(zhí)行完成后,結(jié)果將發(fā)送回客戶端。

源碼分析:通過Flink1.12.2源碼進行分析的

(1)創(chuàng)建獲取對應的StreamExecutionEnvironment對象:LocalStreamEnvironment

調(diào)用StreamExecutionEnvironment對象的execute方法

(2)獲取streamGraph

(3)執(zhí)行具體的PipeLineExecutor -> 得到localExecutorFactory

(4)獲取JobGraph

根據(jù)localExecutorFactory的實現(xiàn)類LocalExecutor生成JobGraph

上面這部分全部是在Flink Client生成的,由于是使用Local模式提交。所有接下來將創(chuàng)建MiniCluster集群,由miniCluster.submitJob指定要提交的jobGraph

(5)實例化MiniCluster集群

(6)返回JobClient 客戶端

在上面執(zhí)行miniCluster.submitJob 將JobGraph提交到本地集群后,會返回一個JobClient客戶端,該JobClient包含了應用的一些詳細信息,包括JobID,應用的狀態(tài)等等。最后返回到代碼執(zhí)行的上一層,對應類為StreamExecutionEnvironment。

以上就是Local模式的源碼執(zhí)行過程。

7、遠程提交模式都有哪些?

遠程提交方式:分為Standalone方式、yarn方式、K8s方式

Standalone:包含session模式

Yarn方式分為三種提交模式:Yarn-perJob模式、Yarn-Sessionmo模式、Yarn-Application模式。

K8s方式:包含 session模式

8、Standalone模式簡單介紹一下?

Standalone 模式為Flink集群的單機版提交方式,只使用一個節(jié)點進行提交,常用Session模式。

作業(yè)提交原理圖如下:

提交命令如下:

bin/flink run org.apache.flink.WordCount xxx.jar

client客戶端提交任務給JobManager

JobManager負責申請任務運行所需要的資源并管理任務和資源,

JobManager分發(fā)任務給TaskManager執(zhí)行

TaskManager定期向JobManager匯報狀態(tài)

9、yarn-session模式特點?

提交命令:

./bin/flink run -t yarn-session \?

-Dyarn.application.id=application_XXXX_YY? xxx.jar

Yarn-Session模式:所有作業(yè)共享集群資源,隔離性差,JM負載瓶頸,main方法在客戶端執(zhí)行。適合執(zhí)行時間短,頻繁執(zhí)行的短任務,集群中的所有作業(yè) 只有一個JobManager,另外,Job被隨機分配給TaskManager

特點:

Session-Cluster模式需要先啟動集群,然后再提交作業(yè),接著會向yarn申請一塊空間后,資源永遠保持不變。如果資源滿了,下一個作業(yè)就無法提交,只能等到 yarn中的其中一個作業(yè)執(zhí)行完成后,釋放了資源,下個作業(yè)才會正常提交。所有作業(yè)共享Dispatcher和ResourceManager;共享資源;適合規(guī)模小執(zhí)行時間短的作業(yè)。

10、yarn-perJob模式特點?

提交命令:

./bin/flink run -t yarn-per-job --detached? xxx.jar

Yarn-Per-Job模式:每個作業(yè)單獨啟動集群,隔離性好,JM負載均衡,main方法在客戶端執(zhí)行。在per-job模式下,每個Job都有一個JobManager,每個TaskManager只有單個Job。

特點:

一個任務會對應一個Job,每提交一個作業(yè)會根據(jù)自身的情況,都會單獨向yarn申請資源,直到作業(yè)執(zhí)行完成,一個作業(yè)的失敗與否并不會影響下一個作業(yè)的正常提交和運行。獨享Dispatcher 和 ResourceManager,按需接受資源申請;適合規(guī)模大長時間運行的作業(yè)。

11、yarn-application模式特點?

提交命令:

./bin/flink run-application -t yarn-application xxx.jar

Yarn-Application模式:每個作業(yè)單獨啟動集群,隔離性好,JM負載均衡,main方法在JobManager上執(zhí)行。

特點:

在yarn-per-job 和 yarn-session模式下,客戶端都需要執(zhí)行以下三步,即:

獲取作業(yè)所需的依賴項;

通過執(zhí)行環(huán)境分析并取得邏輯計劃,即StreamGraph -> JobGraph;

將依賴項和JobGraph上傳到集群中。

只有在這些都完成之后,才會通過env.execute()方法 觸發(fā) Flink運行時真正地開始執(zhí)行作業(yè)。

如果所有用戶都在同一個客戶端上提交作業(yè),較大的依賴會消耗更多的帶寬,而較復雜的作業(yè)邏輯翻譯成JobGraph也需要吃掉更多的CPU和內(nèi)存,客戶端的資源反而會成為瓶頸。

為了解決它,社區(qū)在傳統(tǒng)部署模式的基礎上實現(xiàn)了 Application模式。原本需要客戶端做的三件事被轉(zhuǎn)移到了JobManager里,也就是說main()方法在集群中執(zhí)行(入口點位于 ApplicationClusterEntryPoint ),客戶端只需要負責發(fā)起部署請求了

綜上所述,Flink社區(qū)比較推薦使用?yarn-perjob?或者?yarn-application模式進行提交應用。

12、yarn-session 提交流程詳細介紹一下?

提交流程圖如下:

1、啟動集群

(1)Flink Client 向 Yarn ResourceManager提交任務信息。

Flink Client 將應用配置(Flink-conf.yaml、logback.xml、log4j.properties)和相關(guān)文件(Flink Jar、配置類文件、用戶Jar文件、JobGraph對象等)上傳至分布式存儲HDFS中。

Flink Client 向 Yarn ResourceManager提交任務信息

(2)Yarn 啟動 Flink集群,做2步操作:

通過Yarn Client 向Yarn ResourceManager提交Flink創(chuàng)建集群的申請,Yarn ResourceManager 分配 Container 資源,并通知對應的 NodeManager 上啟動一個ApplicationMaster(每提交一個flink job 就會啟動一個applicationMaster),ApplicationMaster會包含當前要啟動的 JobManager和 Flink自己內(nèi)部要使用的ResourceManager。

在 JobManager 進程中運行 YarnSessionClusterEntryPoint 作為集群啟動的入口。

初始化Dispatcher,Flink自己內(nèi)部要使用的ResourceManager,啟動相關(guān)RPC服務,等待Flink Client 通過Rest接口提交JobGraph。

2、作業(yè)提交

(3)Flink Client 通過Rest 向Dispatcher 提交編譯好的JobGraph。Dispatcher 是 Rest 接口,不負責實際的調(diào)度、指定工作。

(4)Dispatcher 收到 JobGraph 后,為作業(yè)創(chuàng)建一個JobMaster,將工作交給JobMaster,JobMaster負責作業(yè)調(diào)度,管理作業(yè)和Task的生命周期,構(gòu)建ExecutionGraph(JobGraph的并行化版本,調(diào)度層最核心的數(shù)據(jù)結(jié)構(gòu))

以上兩步執(zhí)行完后,作業(yè)進入調(diào)度執(zhí)行階段。

3、作業(yè)調(diào)度執(zhí)行

(5)JobMaster向ResourceManager申請資源,開始調(diào)度ExecutionGraph。

(6)ResourceManager將資源請求加入等待隊列,通過心跳向YarnResourceManager申請新的Container來啟動TaskManager進程。

(7)YarnResourceManager啟動,然后從HDFS加載Jar文件等所需相關(guān)資源,在容器中啟動TaskManager,TaskManager啟動TaskExecutor

(8)TaskManager啟動后,向ResourceManager 注冊,并把自己的Slot資源情況匯報給ResourceManager。

(9)ResourceManager從等待隊列取出Slot請求,向TaskManager確認資源可用情況,并告知TaskManager將Slot分配給哪個JobMaster。

(10)TaskManager向JobMaster回復自己的一個Slot屬于你這個任務,JobMaser會將Slot緩存到SlotPool。

(11)JobMaster調(diào)度Task到TaskMnager的Slot上執(zhí)行。

13、yarn-perJob 提交流程詳細介紹一下?

提交命令如下:

./bin/flink run -t yarn-per-job --detached? xxx.jar

提交流程圖如下所示:

1、啟動集群

(1)Flink Client 向 Yarn ResourceManager提交任務信息。

Flink Client 將應用配置(Flink-conf.yaml、logback.xml、log4j.properties)和相關(guān)文件(Flink Jar、配置類文件、用戶Jar文件、JobGraph對象等)上傳至分布式存儲HDFS中。

Flink Client 向 Yarn ResourceManager提交任務信息

(2)Yarn 啟動 Flink集群,做2步操作:

通過Yarn Client 向Yarn ResourceManager提交Flink創(chuàng)建集群的申請,Yarn ResourceManager 分配 Container 資源,并通知對應的 NodeManager 上啟動一個ApplicationMaster(每提交一個flink job 就會啟動一個applicationMaster),ApplicationMaster會包含當前要啟動的 JobManager和 Flink自己內(nèi)部要使用的ResourceManager。

在 JobManager 進程中運行 YarnJobClusterEntryPoint 作為集群啟動的入口。

初始化Dispatcher,Flink自己內(nèi)部要使用的ResourceManager,啟動相關(guān)RPC服務,等待Flink Client 通過Rest接口提交JobGraph。

2、作業(yè)提交

(3)ApplicationMaster啟動Dispatcher,Dispatcher啟動ResourceManager和JobMaster(該步和Session不同,JobMaster是由Dispatcher拉起,而不是Client傳過來的)。

(4)JobMaster負責作業(yè)調(diào)度,管理作業(yè)和Task的生命周期,構(gòu)建ExecutionGraph(JobGraph的并行化版本,調(diào)度層最核心的數(shù)據(jù)結(jié)構(gòu))

以上兩步執(zhí)行完后,作業(yè)進入調(diào)度執(zhí)行階段。

3、作業(yè)調(diào)度執(zhí)行

(5)JobMaster向ResourceManager申請資源,開始調(diào)度ExecutionGraph。

(6)ResourceManager將資源請求加入等待隊列,通過心跳向YarnResourceManager申請新的Container來啟動TaskManager進程。

(7)YarnResourceManager啟動,然后從HDFS加載Jar文件等所需相關(guān)資源,在容器中啟動TaskManager,TaskManager啟動TaskExecutor

(8)TaskManager啟動后,向ResourceManager 注冊,并把自己的Slot資源情況匯報給ResourceManager。

(9)ResourceManager從等待隊列取出Slot請求,向TaskManager確認資源可用情況,并告知TaskManager將Slot分配給哪個JobMaster。

(10)TaskManager向JobMaster回復自己的一個Slot屬于你這個任務,JobMaser會將Slot緩存到SlotPool。

(11)JobMaster調(diào)度Task到TaskMnager的Slot上執(zhí)行。

14、流圖、作業(yè)圖、執(zhí)行圖三者區(qū)別?

Flink內(nèi)部Graph總覽圖,由于現(xiàn)在Flink 實行流批一體代碼,Batch API基本廢棄,就不過多介紹在Flink DataStramAPI 中,Graph內(nèi)部轉(zhuǎn)換圖如下:

以WordCount為例,流圖、作業(yè)圖、執(zhí)行圖、物理執(zhí)行圖之間的Task調(diào)度如下:

對于Flink 流計算應用,運行用戶代碼時,首先調(diào)用DataStream API ,將用戶代碼轉(zhuǎn)換為 Transformation,然后經(jīng)過:StreamGraph->JobGraph->ExecutionGraph 3層轉(zhuǎn)換(這些都是Flink內(nèi)置的數(shù)據(jù)結(jié)構(gòu)),最后經(jīng)過Flink調(diào)度執(zhí)行,在Flink 集群中啟動計算任務,形成一個物理執(zhí)行圖。

15、流圖(StreamGraph)介紹一下?

流圖 StreamGraph

流圖StreamGraph 核心對象包括兩個:StreamNode 點 和 StreamEdge 邊

1)StreamNode 點

StreamNode 點 ,從 Transformation轉(zhuǎn)換而來,可以簡單理解為 StreamNode 表示一個算子,存在實體和虛擬,可以有多個輸入和輸出,實體StreamNode 最終變成物理算子,虛擬的附著在StreamEdge 邊 上。

2)StreamEdge 邊

StreamEdge 是 StreamGraph 的邊,用來連接兩個StreamNode 點,一個StreamEdge可以有多個出邊、入邊等信息。

16、作業(yè)圖(JobGraph)介紹一下?

作業(yè)圖 JobGraph

JobGraph是由StreamGraph優(yōu)化而來,是通過OperationChain 機制將算子合并起來,在執(zhí)行時,調(diào)度在同一個Task線程上,避免數(shù)據(jù)的跨線程,跨網(wǎng)絡傳遞。

作業(yè)圖JobGraph 核心對象包括三個:

JobVertex 點 、 JobEdge 邊、IntermediateDataSet 中間數(shù)據(jù)集

1)JobVertex 點

經(jīng)過算子融合優(yōu)化后符合條件的多個StreamNode 可能會融合在一起生成一個 JobVertex,即一個JobVertex 包含一個或多個算子, JobVertex 的輸入是 JobEdge. 輸出是 IntermediateDataSet

2)JobEdge 邊

JobEdge 表示 JobGraph 中的一 個數(shù)據(jù)流轉(zhuǎn)通道, 其上游數(shù)據(jù)源是 IntermediateDataSet ,下游消費者是 JobVertex 。即數(shù)據(jù)通過 JobEdge 由IntermediateDataSet 傳遞給目標 JobVertex

JobEdge 中的數(shù)據(jù)分發(fā)模式,會直接影響執(zhí)行時 Task 之間的數(shù)據(jù)連接關(guān)系,是點對點連接還是全連接。

3)IntermediateDataSet 中間數(shù)據(jù)集

中間數(shù)據(jù)集 IntermediateDataSet 是一種邏輯結(jié)構(gòu),用來表示 JobVertex 的輸出,即經(jīng)過算子處理產(chǎn)生的數(shù)據(jù)集。不同的執(zhí)行模式下,其對應的結(jié)果分區(qū)類型不同,決 定了在執(zhí)行時刻數(shù)據(jù)交換的模式。

17、執(zhí)行圖(ExecutionGraph)介紹一下?

執(zhí)行圖 ExecutionGraph

ExecutionGraph是調(diào)度Flink 作業(yè)執(zhí)行的核心數(shù)據(jù)結(jié)構(gòu),包含了作業(yè)中所有并行執(zhí)行的Task信息、Task之間的關(guān)聯(lián)關(guān)系、數(shù)據(jù)流轉(zhuǎn)關(guān)系。

StreamGraph 和JobGraph都在Flink Client生成,然后交給Flink集群。

JobGraph 到 ExecutionGraph 在JobMaster中完成,轉(zhuǎn)換過程中重要變化如下:

加入了并行度的概念,成為真正可調(diào)度的圖結(jié)構(gòu),生成了6個核心對象。

執(zhí)行圖 ExecutionGraph 核心對象包括6個:

ExecutionJobVertex、ExecutionVertex、IntermediateResult、IntermediateResultPartition、ExecutionEdge、Execution。

1)ExecutionJobVertex

該對象和 JobGraph 中的 JobVertex 一 一對應。該對象還包含一組 ExecutionVertex, 數(shù)量 與該 JobVertex 中所包含的StreamNode 的并行度一致,假設 StreamNode 的并行度為5 ,那么ExecutionJobVertex中也會包含 5個ExecutionVertex。

ExecutionJobVertex用來將一個JobVertex 封裝成 ExecutionJobVertex,并依次創(chuàng)建 ExecutionVertex、Execution、IntermediateResult 和 IntermediateResultPartition,用于豐富ExecutionGraph。

2)ExecutionVertex

ExecutionJobVertex會對作業(yè)進行并行化處理,構(gòu)造可以并行執(zhí)行的實例,每一個并行執(zhí)行的實例就是 ExecutionVertex。

3)IntermediateResult

IntermediateResult 又叫作中間結(jié)果集,該對象是個邏輯概念 表示 ExecutionJobVertex輸出,和 JobGrap 中的IntermediateDalaSet 一 一對應,同樣 一個ExecutionJobVertex 可以有多個中間結(jié)果,取決于當前 JobVertex 有幾個出邊(JobEdge)。

4)IntermediateResultPartition

IntermediateResultPartition 又叫作中間結(jié)果分區(qū)。表示一個 ExecutionVertex分區(qū)的輸出結(jié)果,與 Execution Edge 相關(guān)聯(lián)。

5)ExecutionEdge

表示ExecutionVertex 的輸入,連接到上游產(chǎn)生的IntermediateResultPartition,一個Execution對應唯一的一個IntermediateResultPartition 和一個ExecutionVertex,一個ExecutionVertex 可以有多個ExecutionEdge。

6)Execution

ExecutionVertex 相當于每個 Task 的模板,在真正執(zhí)行的時候,會將ExecutionVertex中的信息包裝為一個Execution,執(zhí)行一個ExecutionVertex的一次嘗試。

當發(fā)生故障或者數(shù)據(jù)需要重算的情況下 ExecutionVertex 可能會有多個 ExecutionAttemptID。一個 Execution 通過 ExecutionAttemptID 來唯一標識。

JM和TM之間關(guān)于 task 的部署和 task status 的更新都是通過 ExecutionAttemptID 來確定消息接受者

小結(jié),從這些基本概念中,也可以看出以下?點:

由于每個 JobVertex 可能有多個 IntermediateDataSet,所以每個ExecutionJobVertex 可能有多個 IntermediateResult,因此,每個ExecutionVertex 也可能會包含多個 IntermediateResultPartition;

ExecutionEdge 這里主要的作?是把 ExecutionVertex 和 IntermediateResultPartition 連接起來,表示它們之間的連接關(guān)系。

18、Flink調(diào)度器的概念介紹一下?

調(diào)度器是 Flink 作業(yè)執(zhí)行的核心組件,管理作業(yè)執(zhí)行的所有相關(guān)過程,包括JobGraph到ExecutionGraph的轉(zhuǎn)換、作業(yè)生命周期管理(作業(yè)的發(fā)布、取消、停止)、作業(yè)的Task生命周期管理(Task的發(fā)布、取消、停止)、資源申請與釋放、作業(yè)和Task的Faillover等。

調(diào)度器作用:

作業(yè)的生命周期管理,如作業(yè)的發(fā)布、掛起、取消

作業(yè)執(zhí)行資源的申請、分配、釋放

作業(yè)的狀態(tài)管理,作業(yè)發(fā)布過程中的狀態(tài)變化和作業(yè)異常時的FailOver等

作業(yè)的信息提供,對外提供作業(yè)的詳細信息

調(diào)度有幾個重要的組件:

調(diào)度器:SchedulerNG及其子類、實現(xiàn)類

調(diào)度策略:SchedulingStrategy及其實現(xiàn)類

調(diào)度模式:ScheduleMode包含流和批的調(diào)度,有各自不同的調(diào)度模式

19、Flink調(diào)度行為包含幾種?

調(diào)度行為包含四種:

SchedulerStrategy接口定義了調(diào)度行為,其中包含4種行為:

1)startScheduling:調(diào)度入口,觸發(fā)調(diào)度器的調(diào)度行為

(2)restartTasks:重啟執(zhí)行失敗的Task,一般是Task執(zhí)行異常導致的。

(3)onExecutionStateChange:當Execution狀態(tài)發(fā)生改變時。

(4)onPartitionConsumable:當IntermediateResultPartition中的數(shù)據(jù)可以消費時。

20、Flink調(diào)度模式包含幾種?

調(diào)度模式包含3種:Eager模式、分階段模式(Lazy_From_Source)、分階段Slot重用模式(Lazy_From_Sources_With_Batch_Slot_Request)。

1)Eager 調(diào)度

適用于流計算。一次性申請需要的所有資源,如果資源不足,則作業(yè)啟動失敗。

2)分階段調(diào)度

LAZY_FROM_SOURCES 適用于批處理。從 SourceTask 開始分階段調(diào)度,申請資源的時候,一次性申請本階段所需要的所有資源。

上游 Task 執(zhí)行完畢后開始調(diào)度執(zhí)行下游的 Task,讀取上游的數(shù)據(jù),執(zhí)行本階段的計算任務,執(zhí)行完畢之后,調(diào)度后一個階段的 Task,依次進行調(diào)度,直到作業(yè)完成。

3)分階段 Slot 重用調(diào)度

LAZY_FROM_SOURCES_WITH_BATCH_SLOT_REQUEST 適用于批處理。與分階段調(diào)度基本一樣,區(qū)別在于該模式下使用批處理資源申請模式,可以在資源不足的情況下執(zhí)行作業(yè),但是需要確保在本階段的作業(yè)執(zhí)行中沒有 Shuffle 行為。

目前視線中的 Eager 模式和 LAZY_FROM_SOURCES 模式的資源申請邏輯一樣,LAZY_FROM_SOURCES_WITH_BATCH_SLOT_REQUEST 是單獨的資源申請邏輯。

21、Flink調(diào)度策略包含幾種?

調(diào)度策略包含3種:

調(diào)度策略全部實現(xiàn)于調(diào)度器SchedulingStrategy,有三種實現(xiàn):

EagerSchedulingStrategy:適用于流計算,同時調(diào)度所有的 task

LazyFromSourcesSchedulingStrategy:適用于批處理,當輸入數(shù)據(jù)準備好時(上游處理完)進行 vertices 調(diào)度。

PipelinedRegionSchedulingStrategy:以流水線的局部為粒度進行調(diào)度

PipelinedRegionSchedulingStrategy 是 1.11 加入的,從 1.12 開始,將以 pipelined region為單位進行調(diào)度。

pipelined region 是一組流水線連接的任務。這意味著,對于包含多個 region的流作業(yè),在開始部署任務之前,它不再等待所有任務獲取 slot。取而代之的是,一旦任何region 獲得了足夠的任務 slot 就可以部署它。對于批處理作業(yè),將不會為任務分配 slot,也不會單獨部署任務。取而代之的是,一旦某個 region 獲得了足夠的 slot,則該任務將與所有其他任務一起部署在同一區(qū)域中

22、Flink作業(yè)生命周期包含哪些狀態(tài)?

在Flink集群中,JobMaster 負責作業(yè)的生命周期管理,具體的管理行為在調(diào)度器和ExecutionGraph中實現(xiàn)。

作業(yè)的完整生命周期狀態(tài)變換如下圖所示:

(1)作業(yè)首先處于創(chuàng)建狀態(tài)(created),然后切換到運行狀態(tài)(running),并且在完成所有工作后,它將切換到完成狀態(tài)(finished)。

(2)在失敗的情況下,作業(yè)首先切換到失敗狀態(tài)(failing),取消所有正在運行任務。

如果所有節(jié)點都已達到最終狀態(tài),并且作業(yè)不可重新啟動,則狀態(tài)將轉(zhuǎn)換為失敗(failed)。

(3)如果作業(yè)可以重新啟動,那么它將進入重新啟動狀態(tài)(restarting)。一旦完成重新啟動,它將變成創(chuàng)建狀態(tài)(created)。

(4)在用戶取消作業(yè)的情況下,將進入取消狀態(tài)(cancelling),會取消所有當前正在運行的任務。一旦所有運行的任務已經(jīng)達到最終狀態(tài),該作業(yè)將轉(zhuǎn)換到已取消狀態(tài)(canceled)。

完成狀態(tài)(finished),取消狀態(tài)(canceled),失敗狀態(tài)(failed)表示一個全局的終結(jié)狀態(tài),并且觸發(fā)清理工作,而暫停狀態(tài)(suspended)僅處于本地終止狀態(tài)。意味著作業(yè)的執(zhí)行在相應的 JobManager 上終止,但集群的另一個 JobManager 可以從持久的HA存儲中恢復這個作業(yè)并重新啟動。因此,處于暫停狀態(tài)的作業(yè)將不會被完全清理。

23、Task的作業(yè)生命周期包含哪些狀態(tài)?

TaskManager 負責Task 的生命周期管理,并將狀態(tài)的變化通知到JobMaster,在ExecutionGraph中跟蹤Execution的狀態(tài)變化,一個Execution對于一個Task。

Task的生命周期如下:共8種狀態(tài)。

在執(zhí)行 ExecutionGraph 期間,每個并行任務經(jīng)過多個階段,從創(chuàng)建(created)到完成(finished)或失敗(failed) ,上圖說明了它們之間的狀態(tài) 和 可能的轉(zhuǎn)換。任務可以執(zhí)行多次(例如故障恢復)。

每個 Execution 跟蹤一個 ExecutionVertex 的執(zhí)行,每個 ExecutionVertex 都有一個當前 Execution(current execution)和一個前驅(qū) Execution(prior execution)。

24、Flink的任務調(diào)度流程講解一下?

任務調(diào)度流程圖如下

1、當Flink執(zhí)行executor會自動根據(jù)程序代碼生成DAG數(shù)據(jù)流圖 ,即 Jobgraph;

2、ActorSystem創(chuàng)建Actor將數(shù)據(jù)流圖發(fā)送給JobManager中的Actor;

3、JobManager會不斷接收TaskManager的心跳消息,從而可以獲取到有效的TaskManager;

4、JobManager通過調(diào)度器在TaskManager中調(diào)度執(zhí)行Task(在Flink中,最小的調(diào)度單元就是task,對應就是一個線程);

5、在程序運行過程中,task與task之間是可以進行數(shù)據(jù)傳輸?shù)?/p>

Job Client

主要職責是提交任務,提交后可以結(jié)束進程,也可以等待結(jié)果返回;

Job Client 不是 Flink 程序執(zhí)行的內(nèi)部部分,但它是任務執(zhí)行的起點;

Job Client 負責接受用戶的程序代碼,然后創(chuàng)建數(shù)據(jù)流,將數(shù)據(jù)流提交給JobManager 以便進一步執(zhí)行。執(zhí)行完成后,Job Client 將結(jié)果返回給用戶。

JobManager

主要職責是調(diào)度工作并協(xié)調(diào)任務做檢查點;

集群中至少要有一個 master,master 負責調(diào)度 task,協(xié)調(diào)checkpoints 和 容錯;

高可用設置的話可以有多個 master,但要保證一個是 leader,其他是stand by;

JobManager 包含 ActorSystem、Scheduler、CheckPoint三個重要的組件 ;

JobManager從客戶端接收到任務以后,首先生成優(yōu)化過的執(zhí)行計劃,再調(diào)度到TaskManager中執(zhí)行。

TaskManager

主要職責是從JobManager處接收任務,并部署和啟動任務,接收上游的數(shù) 據(jù)并處理

TaskManager 是在 JVM 中的一個或多個線程中執(zhí)行任務的工作節(jié)點。

TaskManager在創(chuàng)建之初就設置好了Slot,每個Slot可以執(zhí)行一個任務。

25、Flink的任務槽是什么意思?

每個TaskManager是一個JVM的進程, 可以在不同的線程中執(zhí)行一個或多個子任務。為了控制一個worker能接收多少個task。worker通過task slot來進行控制(一個worker 至少有一個task slot)。

1、任務槽

每個task slot表示TaskManager擁有資源的一個固定大小的子集。

一般來說:我們分配槽的個數(shù)都是和CPU的核數(shù)相等,比如8核,那么就分配8個槽。

Flink將進程的內(nèi)存劃分到多個slot中。

圖中有2個TaskManager,每個TaskManager有3個slot,每個slot占有1/3的內(nèi)存。

內(nèi)存被劃分到不同的slot之后可以獲得如下好處:

TaskManager最多能同時并發(fā)執(zhí)行的任務是可以控制的,那就是3個,因為不能超過slot的數(shù)量。任務槽的作用就是分離任務的托管內(nèi)存,不會發(fā)生cpu隔離。

slot有獨占的內(nèi)存空間,這樣在一個TaskManager中可以運行多個不同的作業(yè),作業(yè)之間不受影響。

總結(jié):task slot的個數(shù)代表TaskManager可以并行執(zhí)行的task數(shù)。

26、Flink 槽共享又是什么意思?

2、槽共享

默認情況下,Flink允許子任務共享插槽,即使它們是不同任務的子任務,只要它們來自同一個作業(yè)。結(jié)果是一個槽可以保存作業(yè)的整個管道。允許插槽共享有兩個主要好處:

只需計算Job中最高并行度(parallelism)的task slot。只要這個滿足,其他的job也都能滿足。

資源分配更加公平。如果有比較空閑的slot可以將更多的任務分配給它。圖中若沒有任務槽共享,負載不高的Source/Map等subtask將會占據(jù)許多資源,而負載較高的窗口subtask則會缺乏資源。

有了任務槽共享,可以將基本并行度(base parallelism)從2提升到6。提高了分槽資源的利用率。同時它還可以保障TaskManager給subtask的分配的slot方案更加公平。

end

Flink 從入門到精通?系列文章基于 Apache Flink 的實時監(jiān)控告警系統(tǒng) 關(guān)于數(shù)據(jù)中臺的深度思考與總結(jié)(干干貨) 日志收集Agent,陰暗潮濕的地底世界

公眾號(zhisheng)里回復?面經(jīng)、ClickHouse、ES、Flink、?Spring、Java、Kafka、監(jiān)控?等關(guān)鍵字可以查看更多關(guān)鍵字對應的文章。點個贊+在看,少個 bug?👇

總結(jié)

以上是生活随笔為你收集整理的Flink源码篇,作业提交流程、作业调度流程、作业内部转换流程图的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

免费观看mv大片高清 | 五月开心婷婷 | 午夜精品视频福利 | 中文在线亚洲 | 在线观看免费视频你懂的 | 蜜桃麻豆www久久囤产精品 | 天天射天天做 | 日韩a免费| 热热热热热色 | 99久久99热这里只有精品 | 91视频中文字幕 | 人人爽人人爽人人爽学生一级 | 国产高清视频在线播放 | 久久久久久久久免费 | 国产在线观看一 | 91高清视频在线 | 久久久精品欧美一区二区免费 | 亚洲精品456在线播放 | 日本中文在线观看 | 美女在线观看av | 中文字幕av电影下载 | 免费看的黄色录像 | 国产做爰视频 | 久热色超碰 | 久久影院中文字幕 | 国产中文字幕第一页 | 爱爱av网| 狠狠亚洲| 天天射天天爱天天干 | 欧美黄在线 | 精品亚洲一区二区三区 | 亚洲欧美日韩国产精品一区午夜 | 天天色成人 | 日韩理论视频 | 免费在线成人av电影 | 精品自拍网| 精品国精品自拍自在线 | 国产亚洲精品日韩在线tv黄 | 99久久久成人国产精品 | 国产成人精品国内自产拍免费看 | 国产亚洲综合在线 | 久久国产一区二区三区 | 欧美日韩一区二区三区在线免费观看 | 国产一二三区在线观看 | 97网| 欧美中文字幕久久 | 色婷婷激情电影 | 在线观看自拍 | 香蕉视频在线播放 | 婷婷久月 | 国产精品2020 | 特级a老妇做爰全过程 | 黄色a级片在线观看 | 国产又粗又猛又色又黄网站 | 久久综合久久久久88 | 国产一区二区成人 | 精品国产一区二区三区噜噜噜 | 国产免费观看久久黄 | 国产精品成久久久久三级 | 国产又粗又猛又黄又爽视频 | 麻豆免费观看视频 | 成人黄色毛片 | 国产一区二区在线免费 | 国色天香在线 | 久久久99国产精品免费 | 国产精品成人av在线 | 九九热视频在线免费观看 | 久久久国产一区 | 成人精品视频久久久久 | av在线网站免费观看 | 日韩在线观看视频免费 | 国产美女精品人人做人人爽 | 亚洲永久精品一区 | 欧美a级成人淫片免费看 | 亚洲三级在线 | 国产艹b视频 | 国产精品久免费的黄网站 | 天堂视频一区 | 91一区一区三区 | 91福利试看 | 亚洲精品中文字幕在线 | 一区二区精 | 久久免费视频网 | 91激情视频在线观看 | 二区三区毛片 | 亚洲精品视频免费看 | 99精品视频观看 | 成人黄色在线 | 丝袜制服天堂 | 福利一区二区 | 正在播放国产一区 | 中文字幕在线字幕中文 | 欧美极品在线播放 | 国产原创在线 | 天天色天天草天天射 | 国产最新在线视频 | 最新av免费在线观看 | 美女网站色免费 | 亚洲精品乱码久久久久久9色 | 亚洲爱爱视频 | 久久夜色精品国产欧美一区麻豆 | 色资源网免费观看视频 | 婷婷亚洲五月色综合 | 四虎影视av | 久久久高清一区二区三区 | 免费观看午夜视频 | 九草视频在线 | 97在线成人| 在线视频观看成人 | 在线观看免费成人av | 激情av资源| 激情综合一区 | 日本中文字幕在线一区 | 国产一二区免费视频 | 91香蕉视频720p | 久久综合九九 | 日韩精品在线观看视频 | 国产精品美女免费视频 | 在线激情小视频 | 国产精品电影一区二区 | 91视频免费 | 日韩电影中文 | 亚洲天堂精品视频 | 91精品色 | 成人av资源 | 黄色影院在线观看 | 亚洲成人av在线 | 99电影456麻豆 | 日韩性xxxx | 日韩在线网址 | 成人黄色毛片 | 欧美 日韩 国产 中文字幕 | 美女黄网久久 | 深爱开心激情网 | 天天曰夜夜操 | 久久成 | 一级特黄av | av成人免费在线观看 | 在线观看久久 | 午夜久久久久久久久久久 | 免费a视频 | 午夜国产在线 | 欧美日本一二三 | 国内外成人免费在线视频 | 97人人澡人人添人人爽超碰 | 99久久精品日本一区二区免费 | 亚洲一级理论片 | 久久久国产精品视频 | 美女网站视频久久 | 日日干夜夜操视频 | 免费99视频| 美女久久久久久久久久久 | 久久久免费电影 | 狠狠色丁香婷婷综合欧美 | 久久亚洲综合国产精品99麻豆的功能介绍 | 日韩欧美国产激情在线播放 | 日韩中午字幕 | 444av| 国产视频91在线 | 四虎天堂 | 久久久久久久久电影 | 在线免费成人 | 午夜精品一区二区三区可下载 | 狠狠狠综合 | 伊人天天狠天天添日日拍 | 日韩免费一级a毛片在线播放一级 | 又爽又黄又刺激的视频 | 亚洲成熟女人毛片在线 | av888av.com| 欧美久久久久久久久久久久久 | 99久久99热这里只有精品 | 精品久久久久久一区二区里番 | 欧美日韩一区二区免费在线观看 | 日本中文字幕系列 | 日韩av高清| 九热精品 | 久久精精品视频 | 六月婷操 | 亚洲日本精品 | 色播五月激情综合网 | 亚洲成人中文在线 | 欧美成年网站 | 精品一二三四在线 | 婷婷激情小说网 | 超碰97国产精品人人cao | 日韩欧美在线视频一区二区三区 | 国产第页 | 日本超碰在线 | 美女网站免费福利视频 | 在线观看国产中文字幕 | 日韩免费小视频 | 综合天天网 | 超碰公开97| 伊人伊成久久人综合网站 | 97人人看 | 国产一区二区综合 | 久久免费视频精品 | 日韩美女黄色片 | 中文成人字幕 | 久久久精品视频成人 | 97在线观看免费高清完整版在线观看 | 国产精品亚州 | 日韩精品免费在线观看 | 91精品一区在线观看 | 国产精品久久久久久超碰 | 天天干干| 成人午夜影视 | 国产精品久久久久久a | 欧美激情综合五月色丁香 | 深夜免费福利视频 | 久草精品视频在线看网站免费 | 国产视频在线一区二区 | 久久精品视频99 | 婷婷成人在线 | 色在线中文字幕 | 国产综合小视频 | 欧美了一区在线观看 | 国产69精品久久99不卡的观看体验 | 夜夜澡人模人人添人人看 | 狠狠躁夜夜a产精品视频 | 97综合在线 | 亚洲精品在线观 | 免费日韩三级 | 91插插视频| 久久歪歪 | 亚洲黑丝少妇 | 日韩精品久久久久久中文字幕8 | 久久国产综合视频 | 国产精品区二区三区日本 | 久久精品视频国产 | 网址你懂的在线观看 | 国产精品久久久久久欧美 | 国产亚洲字幕 | 国产专区视频在线观看 | 亚洲午夜精品久久久久久久久 | 在线天堂8√ | 亚洲婷婷免费 | 91精品伦理 | 免费精品在线视频 | 五月宗合网 | 99这里只有精品视频 | 亚洲成av片人久久久 | 深爱婷婷久久综合 | 天天干天天干天天 | 综合色站导航 | av电影免费看 | 国内精品久久久久影院一蜜桃 | 天天操天天操天天操天天操天天操天天操 | 国产视频精品久久 | 欧美极品一区二区三区 | 九九精品毛片 | 日本性生活免费看 | 久久新 | 色av网站 | 日本黄网站 | 人人干免费 | 肉色欧美久久久久久久免费看 | 丁香综合激情 | 999视频在线观看 | 五月天丁香综合 | 欧美色就是色 | 特级大胆西西4444www | 欧美日韩在线观看视频 | 久久系列| 成年人网站免费在线观看 | 久久99中文字幕 | 国产精品毛片一区二区在线 | 胖bbbb搡bbbb擦bbbb | 黄色精品一区 | 中文字幕一区二区三区乱码在线 | 久久精品国产免费观看 | 久久一线| 97成人精品视频在线观看 | 综合色中文 | 中文字幕一区二区三区久久 | 看全黄大色黄大片 | 麻豆传媒视频在线免费观看 | 亚洲我射av| 国产97在线播放 | 麻豆影视在线观看 | 久草在线视频首页 | 人人干网站 | 69国产精品视频免费观看 | 成人啊 v | 91精品天码美女少妇 | 天天综合网国产 | 国产高清一级 | 成人avav| av一区二区在线观看中文字幕 | 91豆花在线| 91精品视频导航 | 亚洲成av人片在线观看无 | 日韩欧三级 | 精品国模一区二区 | 亚洲人人爱 | 久久只精品99品免费久23小说 | 欧美精品二区 | 国产亲近乱来精品 | 国产精品日韩 | www中文在线 | 国产精品久久久久久久久久免费看 | 国产香蕉av | av色综合网 | 麻豆传媒在线免费看 | 一区二区高清在线 | 在线中文字幕播放 | 国产经典 欧美精品 | 黄色av网站在线观看免费 | 国产精品久久久久久久婷婷 | 欧美成年人在线视频 | 欧美黄色成人 | 精品亚洲va在线va天堂资源站 | 精品亚洲视频在线观看 | 91成人网在线播放 | 人人玩人人爽 | 91九色自拍| 激情动态 | 久久这里只有精品久久 | 91福利视频免费 | 在线观看av麻豆 | 91激情在线视频 | 一区二区精品在线 | 欧美精品久久久久a | 蜜桃视频在线观看一区 | 日韩免费小视频 | 九九九热精品 | 欧美成人黄 | 精品毛片久久久久久 | 4p变态网欧美系列 | 亚洲免费国产视频 | 成人在线视频你懂的 | 国产免费久久久久 | 在线播放第一页 | 国产午夜剧场 | 国产精品二区三区 | 91最新在线观看 | 国产在线播放不卡 | 99视频免费观看 | 日日夜夜狠狠操 | 麻豆 91 在线| 五月婷婷影院 | 又黄又爽的视频在线观看网站 | 伊甸园永久入口www 99热 精品在线 | 久久久wwww| 在线精品视频免费观看 | 香蕉网址 | 国产伦精品一区二区三区… | 亚洲精品久久久久久国 | 亚洲欧美日韩一二三区 | 麻豆成人小视频 | 蜜桃av久久久亚洲精品 | 日韩高清网站 | 91在线产啪| 在线观看香蕉视频 | 免费看污在线观看 | www五月婷婷 | 色噜噜噜 | 成人四虎| 国产精品免费久久久 | 伊人超碰在线 | 国产精品免费视频久久久 | 激情av五月婷婷 | 国产精品综合在线 | 欧美激情精品久久 | 五月丁色 | 日韩电影精品 | 久久在线影院 | 久久成人精品电影 | 久久激情视频网 | 91福利在线导航 | 久久一区91 | 欧洲亚洲女同hd | 999热视频 | 亚洲精品视频网址 | 天天色天天 | 亚洲黄色成人 | 又黄又刺激的网站 | 99久久精| 久久综合色婷婷 | 久久久精品网站 | 在线你懂 | 91久久国产综合精品女同国语 | 久久久久国产视频 | 欧美日韩一区二区视频在线观看 | 久草久热| 国产无限资源在线观看 | 免费av免费观看 | 国内精品中文字幕 | 久久久国产毛片 | 国产69熟 | 亚洲精品午夜久久久久久久久久久 | 狠狠色丁香婷婷综合 | 人人干免费 | 97在线影院 | 久久久国产精品视频 | 日韩激情影院 | 国产亚洲aⅴaaaaaa毛片 | a黄色一级 | 激情图片久久 | 国产精品一区在线观看你懂的 | 中文字幕精品一区二区精品 | 日韩成人精品一区二区三区 | 国产精品一区二区三区免费视频 | 亚洲粉嫩av | 免费看av在线 | av成人免费 | 超碰在线97免费 | 精品在线观看一区二区 | 女人高潮特级毛片 | 国产精品 999 | 久久久久草 | 日韩精品免费一区二区在线观看 | av看片网址 | 日韩欧美一区二区在线播放 | 怡红院久久 | 久久99久久99精品中文字幕 | 亚洲精品乱码久久久久久 | 国产97免费 | 久久精品观看 | 亚洲国产成人在线观看 | 国产精品久久精品国产 | 免费高清在线视频一区· | 色人久久 | 日韩久久精品一区 | 免费看黄在线 | 视频在线播放国产 | 97视频播放 | 国产日韩欧美网站 | 亚洲国产伊人 | 欧美夫妻性生活电影 | 婷婷六月中文字幕 | 国产亚洲精品久久久网站好莱 | 91亚洲夫妻 | 亚洲在线网址 | 欧美亚洲一区二区在线 | 亚洲日韩欧美一区二区在线 | a视频免费看 | 久久亚洲区 | 久久精品老司机 | a久久免费视频 | 伊人干综合 | 69国产精品视频免费观看 | 天天干天天草 | 欧美激情xxxx性bbbb | 在线va网站 | 久久成人毛片 | 国产黄色精品在线 | av中文在线影视 | 国产日产欧美在线观看 | 人人看人人艹 | 黄污视频大全 | 最近久乱中文字幕 | 久久a国产 | 成年人电影免费看 | 91在线小视频 | 69视频网站| 黄色的网站在线 | 国产精品免费大片视频 | 美女在线免费观看视频 | 日韩欧美精品一区二区三区经典 | 狠狠五月婷婷 | 久久精品毛片 | 国产在线视频导航 | 蜜臀91丨九色丨蝌蚪老版 | 国产精品com | 免费视频久久久久久久 | 精品国产视频一区 | 少妇视频一区 | 色91在线视频 | 国产在线欧美在线 | 在线播放 亚洲 | 涩涩网站在线看 | 国产精品久久久久久久久婷婷 | 91精品国产91热久久久做人人 | 综合视频在线 | 中文字幕一区二区三区久久 | 国产亚洲激情视频在线 | 97国产小视频| 国产精品一区二区白浆 | 东方av免费在线观看 | 日本久久精 | 亚洲va综合va国产va中文 | 99精品成人 | 久久歪歪| 五月婷婷中文网 | 国产一级视屏 | 久久激情五月丁香伊人 | 在线看一区二区 | 亚洲免费一级 | 91av免费看 | 日韩久久久久久久 | 激情网在线视频 | 久久综合久久八八 | 美女视频黄网站 | 1000部国产精品成人观看 | 少妇bbb搡bbbb搡bbbb | 国产精品尤物 | 韩国精品一区二区三区六区色诱 | 91网址在线 | 欧美另类激情 | 亚洲人成人99网站 | 丁香婷婷基地 | 国产精品美女久久久久久网站 | 一级黄视频 | 狠狠色丁香婷婷综合久久片 | 日本精品视频在线播放 | 久久免费看a级毛毛片 | 九九视频网站 | 国际精品久久久 | 亚洲欧美日韩精品一区二区 | 亚洲三级在线播放 | av免费网站在线观看 | 亚洲理论电影网 | 日韩免费一二三区 | 狠狠干在线播放 | 日韩欧美综合 | 国产精彩视频一区二区 | 日韩成人免费在线 | 免费99精品国产自在在线 | 国产精品一区久久久久 | 日日夜夜骑| 亚洲免费不卡 | 最新亚洲视频 | 五月天久久 | 国产亚洲精品久久网站 | 亚洲第一中文字幕 | 婷婷综合激情 | 国产精品v a免费视频 | 日韩精品在线免费播放 | 成人黄色资源 | 天堂av免费在线 | 91资源在线视频 | 亚洲国产成人av网 | 午夜.dj高清免费观看视频 | 黄色一二级片 | 国产一区二区电影在线观看 | 欧美日韩国产在线 | 国产高清不卡 | 国产美腿白丝袜足在线av | 久久免费国产 | 中文字幕在线观看视频一区 | 黄色免费看片网站 | 亚洲第一区在线观看 | 久久精品久久精品久久39 | 久久久香蕉视频 | 美女网站视频免费黄 | 国产精品一区二区久久国产 | 久热av| 91热视频| 国产韩国精品一区二区三区 | 亚洲伊人天堂 | 欧美最猛性xxxxx免费 | 夜夜视频欧洲 | 色噜噜日韩精品欧美一区二区 | 四虎在线观看 | 久久8精品 | 大型av综合网站 | 四虎影视av | 91日韩在线视频 | 欧美激情精品久久久久久免费印度 | 国产人成看黄久久久久久久久 | 国产精品欧美久久久久天天影视 | 97在线精品| 999成人精品 | 国产精品免费观看网站 | 激情综合电影网 | 日韩一区正在播放 | 在线久久 | 狠狠干天天色 | 欧美日本不卡高清 | 五月婷社区 | 一区二区中文字幕在线 | 亚洲 综合 专区 | 午夜视频免费播放 | 亚洲永久av| 国产精品久久久久av免费 | 97在线视 | 99精品国产免费久久久久久下载 | 一区二区三区高清 | 国产午夜精品免费一区二区三区视频 | 久久黄色片 | 成人免费在线电影 | 色狠狠婷婷 | 国产高清中文字幕 | 国产人成免费视频 | 在线视频 影院 | 成人免费91 | 午夜精品视频一区 | 97爱| 日韩电影中文字幕在线 | 一区二区三区视频网站 | 五月婷丁香网 | 国产午夜精品一区二区三区欧美 | 在线视频观看你懂的 | 亚洲国产中文字幕在线视频综合 | 日韩国产欧美在线播放 | 超碰av在线免费观看 | 日韩成人免费电影 | 91资源在线| 91精品国产自产老师啪 | 国产v在线| 日本少妇视频 | 日韩免费电影在线观看 | 久久综合之合合综合久久 | 成人欧美日韩国产 | 国产精品毛片久久蜜 | 中文字幕不卡在线88 | 色久av | 人人干人人上 | 91男人影院 | 99久高清在线观看视频99精品热在线观看视频 | 天天色天天综合 | 99视频久久| 美女福利视频在线 | 蜜臀av性久久久久av蜜臀三区 | 亚洲成av片人久久久 | 亚洲精品毛片一级91精品 | 激情视频二区 | 一区二区不卡视频在线观看 | 亚洲特级毛片 | 91豆花在线观看 | 超碰在线中文字幕 | 亚洲国产欧洲综合997久久, | 久草视频资源 | 九九有精品 | 91视频高清| 国产精品av免费观看 | 欧美日韩中文字幕视频 | 伊人伊成久久人综合网站 | 久草99| 色视频在线免费观看 | 操操操夜夜操 | 国产精品色视频 | 97国产在线播放 | 成人在线一区二区 | 国产精品爽爽爽 | 国产夫妻自拍av | 久久久男人的天堂 | 亚洲精品一区二区三区在线观看 | 成人午夜电影在线 | 久久成人综合 | 国产高潮久久 | 国产男男gay做爰 | 伊人天天| 91福利在线导航 | 国产欧美三级 | 国产精品久久久久久久7电影 | 成年人免费在线播放 | 日韩av一区二区三区四区 | 91成人欧美| 狠狠操操操 | 国产一二三区在线观看 | 国产黄色片久久 | 天天爽夜夜操 | 天天射日 | 国产精品成人av电影 | 亚洲蜜桃在线 | 亚洲精品影视 | 超碰97在线看 | 一区二区三区日韩视频在线观看 | 天天五月天色 | 成人国产精品久久久春色 | 亚洲精品在线视频 | av中文资源在线 | 综合久久五月天 | 国产精品国产三级国产专区53 | 久久96国产精品久久99漫画 | 成人精品一区二区三区电影免费 | 丁香视频全集免费观看 | 91香蕉视频污在线 | 天天射射天天 | 一本一本久久a久久精品综合妖精 | 中国一级片在线 | 国产乱码精品一区二区三区介绍 | 九九热中文字幕 | 免费男女羞羞的视频网站中文字幕 | 久草国产视频 | 免费黄色a网站 | 夜夜骑首页 | 一区二区三区免费 | 久久深夜| 亚洲婷婷丁香 | 久久er99热精品一区二区三区 | 亚洲欧洲久久久 | 日日麻批40分钟视频免费观看 | 国产又粗又硬又爽的视频 | 亚洲综合色av| 亚洲精品高清视频在线观看 | 久久久福利 | 欧美色就是色 | 在线免费观看成人 | 日韩av一区二区三区 | 97超碰免费 | 在线观看成年人 | 欧美激情奇米色 | 国产视频精品视频 | 精品亚洲午夜久久久久91 | 欧美午夜理伦三级在线观看 | 日本巨乳在线 | 欧美一区二视频在线免费观看 | 麻豆视频免费入口 | 黄色av一区二区三区 | 精品综合久久 | 激情xxxx | 国产不卡在线观看视频 | 亚洲天堂网视频 | 九九热视频在线免费观看 | 最新av在线播放 | 国产美女精品在线 | a黄色片在线观看 | 免费h视频| 六月激情丁香 | 国内精品美女在线观看 | 97偷拍在线视频 | 人人草在线视频 | 日日夜夜噜噜噜 | 国产91精品看黄网站 | 视频国产精品 | 免费看久久久 | 人人超碰免费 | 婷婷婷国产在线视频 | 日本99久久 | 国产美女网 | 亚洲区色| 精品久久久久一区二区国产 | 国产不卡一区二区视频 | 91 在线视频播放 | 97香蕉久久国产在线观看 | 久草影视在线观看 | 999视频在线播放 | 波多野结衣一区三区 | 色com网| 久久伦理视频 | 欧美大片aaa | 午夜视频在线观看一区二区三区 | 久久99国产精品 | 精品视频97| 成年人电影毛片 | 精品91在线 | 在线观看亚洲国产精品 | 精品免费一区二区三区 | 国产精品网站 | 亚洲精品视频大全 | 亚洲免费在线观看视频 | 亚洲四虎 | 国产黄免费 | 成人久久18免费网站 | 日韩欧美视频在线观看免费 | wwwwww黄 | 日韩视频在线不卡 | 黄网站色视频 | 色99久久 | 97精品伊人 | 成年人黄色免费视频 | 久久av中文字幕片 | 日韩成年视频 | 视频一区视频二区在线观看 | a视频在线播放 | 亚洲一区二区黄色 | 日本乱视频 | 一区中文字幕电影 | 天天操综合 | 久色伊人 | 综合网在线视频 | 欧美日韩久久久 | 久久精品日韩 | 91看片网址| 日韩av黄 | 美女视频黄免费 | 99色网站| 999免费视频| 97精品国产97久久久久久免费 | 国产视频 亚洲视频 | 99国产免费网址 | 麻豆国产视频下载 | 深夜男人影院 | 最近日本韩国中文字幕 | 国产精品密入口果冻 | 青青久草在线视频 | 国产中文字幕一区二区 | 狠狠色综合网站久久久久久久 | 婷婷六月天综合 | 久草视频中文 | 国产精品免费观看国产网曝瓜 | 免费观看成人av | 国产最新视频在线 | 天堂av免费在线 | 日本精品久久久久中文字幕 | 成年人免费电影 | 日韩成人在线免费观看 | 91av在线看 | 激情婷婷在线观看 | 天天综合在线观看 | 一区二区不卡 | 久久国产三级 | 成人免费视频观看 | 天天草天天干 | 九七人人干 | 日韩精品一区二区三区电影 | 久久人人爽人人爽人人片av软件 | 97视频免费观看 | 中文字幕在线观看视频一区 | 免费观看完整版无人区 | 国产一区麻豆 | 射射射av| 国产精品高清一区二区三区 | 亚洲成年片 | av在线免费观看网站 | 在线国产小视频 | 麻豆精品视频在线 | 精品视频一区在线 | 亚洲丁香久久久 | 在线观看 亚洲 | 日韩精品在线看 | 午夜视频在线观看一区二区三区 | 免费麻豆视频 | 成人av免费网站 | 人人爽久久涩噜噜噜网站 | 超碰在线最新地址 | 视频福利在线 | 五月天综合激情网 | 激情网在线观看 | 免费看黄在线 | 六月激情久久 | 国产99在线 | 成年一级片| 成人一区二区在线 | 国产剧情一区二区 | 成人性生爱a∨ | 国产欧美在线一区二区三区 | 麻豆综合网 | 91人人澡人人爽人人精品 | 午夜免费在线观看 | 精品在线视频一区二区三区 | 国产99久久九九精品 | 大荫蒂欧美视频另类xxxx | 国产在线观看,日本 | 色94色欧美| 在线观看国产日韩 | 狠狠色网 | 国产高清专区 | 欧美精品乱码久久久久久 | 国产在线2020 | 亚洲精品毛片一级91精品 | 久久影院中文字幕 | 日女人免费视频 | 日韩精品一区二区三区在线播放 | 91福利视频在线 | 狠狠狠操| 亚洲电影一级黄 | 18女毛片| 亚洲午夜精品在线观看 | 亚洲女欲精品久久久久久久18 | 免费一级日韩欧美性大片 | 欧美日韩精品在线观看视频 | 天天天天爽 | 91精品国产福利在线观看 | 久久久久久久久免费视频 | 国产四虎影院 | 808电影 | 精品在线观看免费 | 成人av高清在线观看 | 日韩中文字幕免费在线播放 | 免费观看一级一片 | 欧美日韩一级在线 | 国产男女无遮挡猛进猛出在线观看 | 久久午夜免费观看 | 美女视频黄网站 | 天天操天天舔天天爽 | 国产成人高清av | 天天射天天干天天 | 精品五月天 | 亚洲最新视频在线播放 | 99精品黄色片免费大全 | 日韩欧美一区二区在线播放 | 久久天天躁狠狠躁亚洲综合公司 | 免费在线观看成人小视频 | 亚洲一区二区三区四区在线视频 | 免费十分钟 | 美女黄久久 | 国产精品久久久久久99 | 狠狠操电影网 | 国产精品一区二区在线播放 | 免费在线观看一级片 | 91福利专区| 中文字幕在线观看视频免费 | 国产精品久久久久av福利动漫 | 国产永久免费 | 久久成年人视频 | 国产91精品久久久久 | 特级西西444www大精品视频免费看 | 亚洲三级黄色 | 久久久网站 | 黄色avwww| 国产精国产精品 | 国产91电影在线观看 | 国产精品手机看片 | www.久久色 | 三级av网站 | 国产男女无遮挡猛进猛出在线观看 | 在线免费观看成人 | 日本中文字幕网站 | 亚洲欧美一区二区三区孕妇写真 | 超碰在线1 | 黄色av电影在线观看 | 中文一区二区三区在线观看 | 九九热只有这里有精品 | 国产午夜精品理论片在线 | 最近中文字幕免费观看 | 99视频免费 | 97精产国品一二三产区在线 | 久草在线 | 国产精品久久久久一区二区三区共 | 亚洲精品视频网 | 久热免费在线 | 亚洲成a人片在线www | 337p日本欧洲亚洲大胆裸体艺术 | 亚洲精品网站在线 | 最近中文字幕免费大全 | 91最新视频| 亚洲精品美女视频 | 日韩高清免费无专码区 | 成人午夜精品久久久久久久3d | 亚洲dvd | 丝袜美女在线 | 日韩成人欧美 | 免费毛片aaaaaa | 欧美一进一出抽搐大尺度视频 | 日韩二三区 | 欧美aaaxxxx做受视频 | 精品福利av| 西西人体4444www高清视频 | 天天射天 | 欧美日韩国产在线观看 | 亚洲精品自在在线观看 | 天天在线免费视频 | 久久观看免费视频 | 六月丁香色婷婷 | 天天天天色综合 | 天天看天天操 | 国产成人三级在线观看 | 国产美女在线免费观看 | 国产理论一区二区三区 | 特及黄色片| 成人午夜电影久久影院 | 91色欧美| 在线导航福利 | 亚洲 综合 国产 精品 | 日批网站在线观看 | 国产五月天婷婷 | 在线不卡中文字幕播放 | 夜夜夜夜爽| 国产人成免费视频 | 在线观看91精品视频 | 手机看片99 | 在线 影视 一区 | 在线观看免费观看在线91 | 欧美日韩国产精品一区二区三区 | 人人澡人人模 | av大全在线免费观看 | 午夜久久网站 | 9992tv成人免费看片 | 亚洲精品在线视频 | 日韩在线视频线视频免费网站 | 手机av片 | 久久精品99国产精品亚洲最刺激 | 免费久久久久久 | 精品视频999 | 国产精品美女免费看 | 久久国产精品第一页 | 天天干.com| 国产二区电影 | 丁香5月婷婷| 中文字幕在线视频第一页 | 亚洲一区免费在线 | 麻豆视频入口 | 国产一区久久 | 在线va视频 | 日韩免费高清在线 | 久久久久久久国产精品 | 欧美成人性战久久 | 狠狠躁夜夜av | 懂色av一区二区在线播放 | 亚洲精品免费在线观看视频 | 色婷婷亚洲综合 | 99精品欧美一区二区三区黑人哦 | 97在线观看免费 | 99一区二区三区 | 精品自拍网 | 91麻豆精品国产自产在线游戏 | 国产精品伦一区二区三区视频 | 国产成人99av超碰超爽 | 欧美性粗大hdvideo | 一区中文字幕在线观看 | 国产精品久久久久久电影 | av观看在线观看 | 天天干人人插 | av成人亚洲 |