精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

聊聊Flink:Flink的運行時架構

開發 架構
Flink On YARN模式遵循YARN的官方規范,YARN只負責資源的管理和調度,運行哪種應用程序由用戶自己實現,因此可能在YARN上同時運行MapReduce程序、Spark程序、Flink程序等。

一、運行時架構

上一篇我們可以看到Flink的核心組件的Deploy層,該層主要涉及了Flink的部署模式,Flink支持多種部署模式:本地、集群(Standalone/YARN)、云(GCE/EC2)。

圖片圖片

  • Local(本地):單機模式,一般本地開發調試使用,像我們程序寫的WordCountStream那個例子,直接運行main方法啟動。
  • Cluster(集群)
  • Standalone(獨立模式):Flink自帶集群,自己管理資源調度,生產環境也會有所應用。
  • YARN(YARN模式):計算資源統一由Hadoop YARN管理,生產環境應用較多。
  • Cloud(云端):AliCloud Realtime Compute、Amazon EMR、Huawei Cloud Stream Service 等。

我們這里主要來介紹Cluster集群的兩種模式Standalone、YARN。

二、YARN集群架構

在講解Flink集群架構之前,我們先了解一下YARN集群架構,我覺得是很有必要的。YARN集群總體上是經典的主/從(Master/Slave)架構,主要由ResourceManager、NodeManager、ApplicationMaster和Container等幾個組件構成。

圖片圖片

2.1 ResourceManager

以后臺進程的形式運行,負責對集群資源進行統一管理和任務調度。ResourceManager的主要職責如下:

  • 接收來自客戶端的請求。
  • 啟動和管理各個應用程序的ApplicationMaster。
  • 接收來自ApplicationMaster的資源申請,并為其分配Container。
  • 管理NodeManager,接收來自NodeManager的資源和節點健康情況匯報。

2.2 NodeManager

集群中每個節點上的資源和任務管理器,以后臺進程的形式運行。它會定時向ResourceManager匯報本節點上的資源(內存、CPU)使用情況和各個Container的運行狀態,同時會接收并處理來自ApplicationMaster的Container啟動/停止等請求。NodeManager不會監視任務,它僅監視Container中的資源使用情況,例如。如果一個Container消耗的內存比最初分配的更多,就會結束該Container。

2.3 Task

應用程序具體執行的任務。一個應用程序可能有多個任務,例如一個MapReduce程序可以有多個Map任務和多個Reduce任務。

2.4 Container

YARN中資源分配的基本單位,封裝了CPU和內存資源的一個容器,相當于一個Task運行環境的抽象。從實現上看,Container是一個Java抽象類,定義了資源信息。應用程序的Task將會被發布到Container中運行,從而限定了Task使用的資源量。

一個應用程序所需的Container分為兩類:運行ApplicationMaster的Container和運行各類Task的Container。前者是由ResourceManager向內部的資源調度器申請和啟動的,后者是由ApplicationMaster向ResourceManager申請的,并由ApplicationMaster請求NodeManager進行啟動。

我們可以將Container類比成數據庫連接池中的連接,需要的時候進行申請,使用完畢后進行釋放,而不需要每次獨自創建。

2.5 ApplicationMaster

ApplicationMaster可在Container內運行任何類型的Task。例如,MapReduce ApplicationMaster請求一個容器來啟動Map Task或Reduce Task。也可以實現一個自定義的ApplicationMaster來運行特定的Task,以便任何分布式框架都可以受YARN支持,只要實現了相應的ApplicationMaster即可。

我們可以這樣認為:ResourceManager管理整個集群,NodeManager管理集群中的單個節點,ApplicationMaster管理單個應用程序(集群中可能同時有多個應用程序在運行,每個應用程序都有各自的ApplicationMaster)。

YARN集群中應用程序的執行流程如下圖所示:

  • 客戶端提交應用程序(可以是MapReduce程序、Spark程序等)到ResourceManager。
  • ResourceManager分配用于運行ApplicationMaster的Container,然后與NodeManager通信,要求它在該Container中啟動ApplicationMaster。ApplicationMaster啟動后,它將負責此應用程序的整個生命周期。
  • ApplicationMaster向ResourceManager注冊(注冊后可以通過ResourceManager查看應用程序的運行狀態)并請求運行應用程序各個Task所需的Container(資源請求是對一些Container的請求)。如果符合條件,ResourceManager會分配給ApplicationMaster所需的Container(表達為Container ID和主機名)。
  • ApplicationMaster請求NodeManager使用這些Container來運行應用程序的相應Task(即將Task發布到指定的Container中運行)。

此外,各個運行中的Task會通過RPC協議向ApplicationMaster匯報自己的狀態和進度,這樣一旦某個Task運行失敗,ApplicationMaster就可以對其重新啟動。當應用程序運行完成時,ApplicationMaster會向ResourceManager申請注銷自己。

圖片圖片

三、Flink Standalone模式

Flink Standalone模式為經典的主從(Master/Slave)架構,資源調度是Flink自己實現的。集群啟動后,主節點上會啟動一個JobManager進程,類似YARN集群的ResourceManager,因此主節點也稱為JobManager節點;各個從節點上會啟動一個TaskManager進程,類似YARN集群的NodeManager,因此從節點也稱為TaskManager節點。從Flink 1.6版本開始,將主節點上的進程名稱改為了StandaloneSessionClusterEntrypoint,從節點的進程名稱改為了TaskManagerRunner,在這里為了方便使用,仍然沿用之前版本的稱呼,即JobManager和TaskManager。

Client接收到Flink應用程序后,將作業提交給JobManager。JobManager要做的第一件事就是分配Task(任務)所需的資源。完成資源分配后,Task將被JobManager提交給相應的TaskManager,TaskManager會啟動線程開始執行。在執行過程中,TaskManager會持續向JobManager匯報狀態信息,例如開始執行、進行中或完成等狀態。作業執行完成后,結果將通過JobManager發送給Client。

Flink所有組件之間的通信使用的是Akka框架,組件之間的數據交互使用的是Netty框架。

圖片圖片

Client 不是運行時和程序執行的一部分,而是用于準備數據流并將其發送給 JobManager。之后,客戶端可以斷開連接(分離模式),或保持連接來接收進程報告(附加模式)。客戶端可以作為觸發執行 Java/Scala 程序的一部分運行,也可以在命令行進程./bin/flink run …中運行。

可以通過多種方式啟動 JobManager 和 TaskManager:直接在機器上作為standalone 集群啟動、在容器中啟動、或者通過YARN等資源框架管理并啟動。TaskManager 連接到 JobManagers,宣布自己可用,并被分配工作。

3.1 JobManager

JobManager 具有許多與協調 Flink 應用程序的分布式執行有關的職責:它決定何時調度下一個 task(或一組 task)、對完成的 task 或執行失敗做出反應、協調 checkpoint、并且協調從失敗中恢復等等。這個進程由三個不同的組件組成:

  • ResourceManager
    ResourceManager 負責 Flink 集群中的資源提供、回收、分配 - 它管理 task slots,這是 Flink 集群中資源調度的單位(請參考TaskManagers)。Flink 為不同的環境和資源提供者(例如 YARN、Kubernetes 和 standalone 部署)實現了對應的 ResourceManager。在 standalone 設置中,ResourceManager 只能分配可用 TaskManager 的 slots,而不能自行啟動新的 TaskManager。
  • Dispatcher
    Dispatcher 提供了一個 REST 接口,用來提交 Flink 應用程序執行,并為每個提交的作業啟動一個新的 JobMaster。它還運行 Flink WebUI 用來提供作業執行信息。
  • JobMaster
    JobMaster 負責管理單個JobGraph的執行。Flink 集群中可以同時運行多個作業,每個作業都有自己的 JobMaster。

始終至少有一個 JobManager。高可用(HA)設置中可能有多個 JobManager,其中一個始終是 leader,其他的則是 standby。

3.2 TaskManager

TaskManager是Flink集群的工作進程。Task被調度到TaskManager上執行。TaskManager相互通信,只為在后續的Task之間交換數據。

TaskManager的主要作用如下:

  • 接收JobManager分配的任務,負責具體的任務執行。
  • TaskManager會在同一個JVM進程內以多線程的方式執行任務。· 負責對應任務在每個節點上的資源申請,管理任務的啟動、停止、銷毀、異常恢復等生命周期。
  • 負責對數據進行緩存。TaskManager之間采用數據流的形式進行數據交互。

3.3 Tasks 和算子鏈

對于分布式執行,Flink 將算子的 subtasks 鏈接成 tasks。每個 task 由一個線程執行。將算子鏈接成 task 是個有用的優化:它減少線程間切換、緩沖的開銷,并且減少延遲的同時增加整體吞吐量。鏈行為是可以配置的。

下圖中樣例數據流用 5 個 subtask 執行,因此有 5 個并行線程。

圖片

3.4 Task Slots 和資源

每個 worker(TaskManager)都是一個 JVM 進程,可以在單獨的線程中執行一個或多個 subtask。為了控制一個 TaskManager 中接受多少個 task,就有了所謂的 task slots(至少一個)。

每個 task slot 代表 TaskManager 中資源的固定子集。例如,具有 3 個 slot 的 TaskManager,會將其托管內存 1/3 用于每個 slot。分配資源意味著 subtask 不會與其他作業的 subtask 競爭托管內存,而是具有一定數量的保留托管內存。注意此處沒有 CPU 隔離;當前 slot 僅分離 task 的托管內存。

通過調整 task slot 的數量,用戶可以定義 subtask 如何互相隔離。每個 TaskManager 有一個 slot,這意味著每個 task 組都在單獨的 JVM 中運行(例如,可以在單獨的容器中啟動)。具有多個 slot 意味著更多 subtask 共享同一 JVM。同一 JVM 中的 task 共享 TCP 連接(通過多路復用)和心跳信息。它們還可以共享數據集和數據結構,從而減少了每個 task 的開銷。

圖片圖片

默認情況下,Flink 允許 subtask 共享 slot,即便它們是不同的 task 的 subtask,只要是來自于同一作業即可。結果就是一個 slot 可以持有整個作業管道。允許 slot 共享有兩個主要優點:

  • Flink 集群所需的 task slot 和作業中使用的最大并行度恰好一樣。無需計算程序總共包含多少個 task(具有不同并行度)。
  • 容易獲得更好的資源利用。如果沒有 slot 共享,非密集 subtask(source/map())將阻塞和密集型 subtask(window) 一樣多的資源。通過 slot 共享,我們示例中的基本并行度從 2 增加到 6,可以充分利用分配的資源,同時確保繁重的 subtask 在 TaskManager 之間公平分配。

圖片圖片

四、Flink On YARN模式

Flink On YARN模式遵循YARN的官方規范,YARN只負責資源的管理和調度,運行哪種應用程序由用戶自己實現,因此可能在YARN上同時運行MapReduce程序、Spark程序、Flink程序等。YARN很好地對每一個程序實現了資源的隔離,這使得Spark、MapReduce、Flink等可以運行于同一個集群中,共享集群存儲資源與計算資源。Flink On YARN模式的運行架構如下圖所示。

圖片圖片

  • 當啟動一個Client(客戶端)會話時,Client首先會上傳Flink應用程序JAR包和配置文件到HDFS。
  • Client向ResourceManager申請用于運行ApplicationMaster的Container。
  • ResourceManager分配用于運行ApplicationMaster的Container,然后與NodeManager通信,要求它在該Container中啟動ApplicationMaster(ApplicationMaster與Flink JobManager運行于同一Container中,這樣ApplicationMaster就能知道Flink JobManager的地址)。ApplicationMaster啟動后,它將負責此應用程序的整個生命周期。另外,ApplicationMaster還提供了Flink的WebUI服務。
  • ApplicationMaster向ResourceManager注冊(注冊后可以通過ResourceManager查看應用程序的運行狀態)并請求運行Flink TaskManager所需的Container(資源請求是對一些Container的請求)。如果符合條件,ResourceManager會分配給ApplicationMaster所需的Container(表達為Container ID和主機名)。ApplicationMaster請求NodeManager使用這些Container來運行Flink TaskManager。各個NodeManager從HDFS中下載Flink JAR包和配置文件。至此,Flink相關任務就可以運行了。

此外,各個運行中的Flink TaskManager會通過RPC協議向ApplicationMaster匯報自己的狀態和進度。

責任編輯:武曉燕 來源: 老周聊架構
相關推薦

2024-02-27 08:05:32

Flink分區機制數據傳輸

2022-01-19 08:50:53

設備樹Linux文件系統

2023-07-28 10:42:43

2024-04-09 07:50:59

Flink語義Watermark

2015-07-20 15:44:46

Swift框架MJExtension反射

2020-04-21 15:20:12

微服務架構實踐

2024-03-21 09:15:58

JS運行的JavaScrip

2020-12-07 13:31:43

GoMutex開發者

2024-04-30 14:09:00

代碼APIRust

2019-07-12 09:30:12

DashboardDockerDNS

2021-09-11 15:38:23

容器運行鏡像開放

2022-12-08 07:17:49

2023-08-27 21:07:02

2023-08-21 09:37:57

MySQL工具MariaDB

2024-03-27 10:08:05

Flink觸發器Trigger

2021-09-05 17:46:21

云計算No.jsio_uringJS

2021-08-27 00:21:19

JSJust源碼

2023-08-29 08:20:35

Kubernete跨云容器

2023-02-12 12:00:57

2022-12-30 08:08:30

點贊
收藏

51CTO技術棧公眾號

日本不卡久久| 国产精品高潮呻吟久久av野狼| 怡红院一区二区| 欧美男人天堂| 国产精品女同一区二区三区| 99在线观看视频| 国产成人无码专区| 欧美国产专区| 亚洲美女中文字幕| 99久久99精品| 自拍一区在线观看| 日韩一区在线免费观看| 精品人伦一区二区三区 | 亚洲国产精品久久久久秋霞影院| 欧美精品久久久| 成人高潮片免费视频| 久久久噜噜噜久久狠狠50岁| 另类视频在线观看| 中文字幕免费视频| 136福利精品导航| 欧美日韩一区二区三区四区| 欧美深夜福利视频| 成人在线免费看黄| 日本一区二区成人| 美乳视频一区二区| 亚洲免费黄色片| 久久91精品国产91久久小草| 日本一本a高清免费不卡| 久久综合久久鬼| 天天射天天综合网| 一区二区三区四区视频| 国产ts丝袜人妖系列视频| 视频精品一区二区三区| 欧美日韩mp4| 久久久久久久少妇| 吉吉日韩欧美| 日韩欧美在线一区| 成人黄色av片| 51精品视频| 一区二区三区色| 国产又粗又硬又长| 久久77777| 亚洲欧洲av色图| 欧美日韩视频免费在线观看| 91青青在线视频| 国产亚洲精品超碰| 日本高清不卡一区二区三| 四虎国产精品永远| 99精品国产热久久91蜜凸| 国产在线一区二区三区四区| 欧美一级做性受免费大片免费| 国产白丝精品91爽爽久久| 91牛牛免费视频| 国产三级三级在线观看| 国产真实乱偷精品视频免| 91色精品视频在线| 国产欧美一级片| 国产精品99久久久久| 亚洲在线第一页| 国产成人毛毛毛片| 成人午夜视频在线观看| 国产精品久久久久免费| 国产成人三级在线观看视频| 不卡一区二区三区四区| 久久精品欧美| 黄网在线观看| 亚洲欧洲色图综合| 欧美日韩午夜爽爽| 国产探花视频在线观看| 精品久久久久久国产91| 老熟妇仑乱视频一区二区| 三级成人在线| 欧美二区在线观看| 无码人妻精品一区二区三区99不卡| 盗摄系列偷拍视频精品tp| 亚洲精品www久久久| 久久久久久国产精品无码| 国产成人三级| 久久亚洲国产成人| 日韩和一区二区| 日韩国产精品91| 成人网页在线免费观看| 欧美 日韩 国产 在线| 91蜜桃在线观看| 伊人av成人| 成人免费高清观看| 色播五月激情综合网| 国产乱叫456| 欧美大奶一区二区| www.亚洲男人天堂| 亚洲精品77777| 免播放器亚洲一区| 国产激情一区二区三区在线观看 | 亚洲av永久纯肉无码精品动漫| 99久久精品国产一区| 亚洲国产欧洲综合997久久| 直接在线观看的三级网址| 午夜精品一区二区三区三上悠亚 | 国产一级黄色av| 久久动漫亚洲| 亚洲自拍偷拍在线| 国产专区在线播放| 亚洲一区二区三区视频在线| 91小视频网站| 亚洲成aⅴ人片久久青草影院| 日韩有码在线电影| 亚洲午夜18毛片在线看| 国产一区二区h| 日韩一区不卡| 三级在线看中文字幕完整版| 欧美一区二区在线看| 久久精品视频18| 亚洲国产高清一区二区三区| 91丝袜美腿美女视频网站| 欧美日韩国产亚洲沙发| 夜夜操天天操亚洲| 久热在线视频观看| 国产一区2区| 97人人做人人爱| 精品人妻午夜一区二区三区四区| 国产嫩草影院久久久久| 无码人妻丰满熟妇区96| 亚洲超碰在线观看| 久久亚洲精品小早川怜子66| 成人黄色三级视频| 91亚洲国产成人精品一区二区三 | 非洲一级黄色片| 一区在线视频观看| 亚洲xxx视频| 久久精品视频免费看| 精品视频999| 欧美大波大乳巨大乳| 亚洲一区二区毛片| 国内精品久久国产| 韩国日本一区| 精品日韩一区二区三区免费视频| 加勒比婷婷色综合久久| 久久99国产精品成人| 亚洲高清乱码| 成人国产精品入口免费视频| 亚洲欧洲免费视频| www.欧美色| 久久久久久亚洲综合| 91免费视频网站在线观看| 黄色成人美女网站| 69久久夜色精品国产69乱青草| 亚洲欧美强伦一区二区| 亚洲国产成人高清精品| 人妻体内射精一区二区三区| 最新亚洲激情| 鲁丝一区二区三区免费| 成人影院入口| 中文字幕在线日韩| 国产精品嫩草影院桃色| 1区2区3区欧美| 蜜桃视频无码区在线观看| 午夜精品久久| 国产伦精品一区二区三区在线| 欧美伦理免费在线| 亚洲精品国产拍免费91在线| jizz国产在线观看| 国产精品福利一区| 日本wwwxx| 亚洲精一区二区三区| 欧美日韩在线精品一区二区三区| 电影一区电影二区| 日韩资源在线观看| 性一交一乱一乱一视频| 欧美日韩在线视频首页| 日本一区二区视频在线播放| 久久狠狠亚洲综合| 妞干网在线播放| 香蕉久久精品| 国产精品一区二区久久久久| 国产成人无吗| 精品视频偷偷看在线观看| 中文字幕日韩经典| 亚洲综合在线观看视频| 偷拍女澡堂一区二区三区| 视频在线观看91| 男女啪啪的视频| 国产精品jk白丝蜜臀av小说| 国产国语videosex另类| 搞黄网站在线观看| 日韩国产精品一区| 夜夜狠狠擅视频| 五月天激情小说综合| 精品亚洲aⅴ无码一区二区三区| 国产综合成人久久大片91| 欧美视频在线播放一区| 99成人在线视频| 久久精品国产精品青草色艺| 亚洲一区二区小说| 91精品国产91久久久久久久久 | 97精品国产97久久久久久春色| aiai在线| 亚洲精品美女久久| 一区二区三区精| 精品女厕一区二区三区| 99鲁鲁精品一区二区三区| 91亚洲国产成人精品一区二三 | 九九精品视频在线| 免费在线视频你懂得| 日韩视频123| 特级西西444www大胆免费看| 香蕉成人伊视频在线观看| 久久久久麻豆v国产| 99国产欧美另类久久久精品| 成人高清在线观看视频| 日本美女一区二区三区视频| ww国产内射精品后入国产| 天堂美国久久| 日韩欧美精品久久| 日本欧美高清| 国产精品视频在线免费观看 | 精品一区二区日本| 久久天堂久久| 国产日产亚洲精品| 日韩高清不卡| 日本成人精品在线| 欧美另类老肥妇| 久久久在线视频| gogogogo高清视频在线| 色一区av在线| 91在线网址| 尤物tv国产一区| 国产永久免费高清在线观看| 亚洲美女av在线播放| 天天干在线观看| 亚洲成人网久久久| 精品人妻一区二区三区浪潮在线| 欧美乱妇23p| 中文字幕免费高清网站| 欧美午夜激情在线| 久久久久久久久影院| 午夜欧美在线一二页| 精品无码久久久久| 亚洲最新在线观看| 欧美日韩成人免费观看| 亚洲精品福利视频网站| 人妻久久一区二区| 亚洲卡通欧美制服中文| 国产人妻精品一区二区三区不卡| 中文字幕一区二区三区色视频 | 亚洲一区二区在线免费| 丰满亚洲少妇av| 亚洲一区和二区| 粉嫩av亚洲一区二区图片| 精品人妻无码中文字幕18禁| 国产成人免费视| 天堂www中文在线资源| 99精品热视频| 精品无码人妻一区| 欧美激情综合在线| 青青青手机在线视频| 亚洲私人黄色宅男| 一区视频免费观看| 亚洲永久免费视频| 91av在线免费视频| 日韩欧美精品在线观看| www.久久网| 91麻豆精品国产自产在线观看一区| 国产男男gay体育生白袜| 日韩三级免费观看| 日韩一级免费视频| 亚洲欧洲高清在线| 欧美猛烈性xbxbxbxb| 欧美成人合集magnet| 1区2区3区在线| 国产成人精品视频| 国产成人久久精品一区二区三区| 丁香五月网久久综合| 天美av一区二区三区久久| 日韩中文字幕av在线| 中文一区一区三区免费在线观看| 91丨porny丨探花| 日韩电影在线观看电影| 尤物网站在线看| 91在线视频在线| 丰满的亚洲女人毛茸茸| 一区二区三区产品免费精品久久75| 日韩av在线播放观看| 欧美日韩亚洲高清一区二区| 亚洲a视频在线观看| 亚洲人成啪啪网站| 曰本三级在线| 国产精品999| 99久热这里只有精品视频免费观看| 欧美国产一区二区在线| 久久久久免费av| 欧洲黄色一级视频| 久久国产精品99精品国产| 水蜜桃av无码| 中文字幕一区二区视频| 国产精品第5页| 日韩区在线观看| 成年人视频在线看| 91精品国产91久久久| 国产乱码精品一区二区三区亚洲人| 国产精品区一区二区三含羞草| 日韩av在线中文字幕| 国精产品一区一区三区视频| 精品影院一区二区久久久| 久久久久国产精品区片区无码| 亚洲三级电影网站| 中文字幕天堂在线| 亚洲国产欧美一区| 成人高清免费在线| 国产精品爱久久久久久久| 果冻天美麻豆一区二区国产| 青春草在线视频免费观看| 日本特黄久久久高潮| 自拍视频一区二区| 一区二区三区免费| 亚洲网站在线免费观看| 国产性色av一区二区| 黄色18在线观看| 99re6热在线精品视频播放速度| 日韩成人免费| 成人免费xxxxx在线视频| 成人免费观看av| 免费一级a毛片夜夜看| 欧美疯狂性受xxxxx喷水图片| 国产大学生校花援交在线播放| 亚洲18私人小影院| 一区二区三区四区视频免费观看| 色撸撸在线观看| 精品一区二区免费看| 久久婷婷五月综合| 色综合久久中文综合久久牛| 天堂8在线视频| 久久男人的天堂| h视频久久久| 亚洲人成无码网站久久99热国产| 国产精品乡下勾搭老头1| 国产97免费视频| 91精品欧美福利在线观看| 精品51国产黑色丝袜高跟鞋| 国产欧美在线视频| 999国产精品| 特级西西444www| 成人免费视频在线观看| 国产麻豆免费观看| 久久国产精品电影| 亚洲午夜免费| 97干在线视频| av电影天堂一区二区在线| 日韩成人一区二区三区| 亚洲精选中文字幕| 二区三区不卡| 视频在线99re| 美女视频黄a大片欧美| www深夜成人a√在线| 日韩一级免费观看| 欧美大胆的人体xxxx| 国语精品中文字幕| 久久五月激情| 麻豆视频免费在线播放| 欧美精品在欧美一区二区少妇| 老司机在线视频二区| 97人人干人人| 亚洲专区一区二区三区| 怡红院一区二区三区| 欧美日韩国产bt| 国产精品偷拍| 鲁丝一区二区三区免费| 免费观看日韩av| 免费在线观看亚洲| 日韩精品视频在线播放| jizz亚洲女人高潮大叫| 国产911在线观看| 91片在线免费观看| 一本一道人人妻人人妻αv | 久久99久久99精品免观看软件| 亚洲看片网站| 粉嫩嫩av羞羞动漫久久久| av资源免费观看| 日韩中文字幕在线观看| 波多野结衣欧美| 国产自偷自偷免费一区| 亚洲女女做受ⅹxx高潮| 深爱激情五月婷婷| 国产女人精品视频| 亚洲精品婷婷| 日韩国产第一页| 亚洲精品久久久久中文字幕欢迎你| 日韩一级二级| 91.com在线| 国产欧美久久久精品影院| 懂色av成人一区二区三区| 国产精品大陆在线观看| 欧美午夜在线视频| 中文字幕第24页| 亚洲国产精品系列| 欧美日韩破处视频| 日本黄色三级大片| 亚洲九九爱视频| 国产福利小视频在线观看| 国产乱码一区| 韩国视频一区二区|