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

阿里云EMR Remote Shuffle Service在小米的實踐

開發 開發工具
阿里云EMR自2020年推出Remote Shuffle Service(RSS)以來,幫助了諸多客戶解決Spark作業的性能、穩定性問題,并使得存算分離架構得以實施,與此同時RSS也在跟合作方小米的共建下不斷演進。本文將介紹RSS的最新架構,在小米的實踐,以及開源。

阿里云EMR自2020年推出Remote Shuffle Service(RSS)以來,幫助了諸多客戶解決Spark作業的性能、穩定性問題,并使得存算分離架構得以實施,與此同時RSS也在跟合作方小米的共建下不斷演進。本文將介紹RSS的最新架構,在小米的實踐,以及開源。

一 問題回顧

Shuffle是大數據計算中最為重要的算子。首先,覆蓋率高,超過50%的作業都包含至少一個Shuffle[2]。其次,資源消耗大,阿里內部平臺Shuffle的CPU占比超過20%,LinkedIn內部Shuffle Read導致的資源浪費高達15%[1],單Shuffle數據量超100T[2]。第三,不穩定,硬件資源的穩定性CPU>內存>磁盤≈網絡,而Shuffle的資源消耗是倒序。OutOfMemory和Fetch Failure可能是Spark作業最常見的兩種錯誤,前者可以通過調參解決,而后者需要系統性重構Shuffle。

傳統Shuffle如下圖所示,Mapper把Shuffle數據按PartitionId排序寫盤后交給External Shuffle Service(ESS)管理,Reducer從每個Mapper Output中讀取屬于自己的Block。

傳統Shuffle存在以下問題。

  • 本地盤依賴限制了存算分離。存算分離是近年來興起的新型架構,它解耦了計算和存儲,可以更靈活地做機型設計:計算節點強CPU弱磁盤,存儲節點強磁盤強網絡弱CPU。計算節點無狀態,可根據負載彈性伸縮。存儲端,隨著對象存儲(OSS, S3)+數據湖格式(Delta, Iceberg, Hudi)+本地/近地緩存等方案的成熟,可當作容量無限的存儲服務。用戶通過計算彈性+存儲按量付費獲得成本節約。然而,Shuffle對本地盤的依賴限制了存算分離。
  • 寫放大。當Mapper Output數據量超過內存時觸發外排,從而引入額外磁盤IO。
  • 大量隨機讀。Mapper Output屬于某個Reducer的數據量很小,如Output 128M,Reducer并發2000,則每個Reducer只讀64K,從而導致大量小粒度隨機讀。對于HDD,隨機讀性能極差;對于SSD,會快速消耗SSD壽命。
  • 高網絡連接數,導致線程池消耗過多CPU,帶來性能和穩定性問題。
  • Shuffle數據單副本,大規模集群場景壞盤/壞節點很普遍,Shuffle數據丟失引發的Stage重算帶來性能和穩定性問題。

二 RSS發展歷程

針對Shuffle的問題,工業界嘗試了各種方法,近兩年逐漸收斂到Push Shuffle的方案。

1 Sailfish

Sailfish[3](2012)最早提出Push Shuffle + Partition數據聚合的方法,對大作業有20%-5倍的性能提升。Sailfish魔改了分布式文件系統KFS[4],不支持多副本。

2 Dataflow

Goolge BigQuery和Cloud Dataflow[5](2018)實現了Shuffle跟計算的解耦,采用多層存儲(內存+磁盤),除此之外沒有披露更多技術細節。

3 Riffle

Facebook Riffle[2](2018)采用了在Mapper端Merge的方法,物理節點上部署的Riffle服務負責把此節點上的Shuffle數據按照PartitionId做Merge,從而一定程度把小粒度的隨機讀合并成較大粒度。

4 Cosco

Facebook Cosco[6][7](2019)采用了Sailfish的方法并做了重設計,保留了Push Shuffle + Parititon數據聚合的核心方法,但使用了獨立服務。服務端采用Master-Worker架構,使用內存兩副本,用DFS做持久化。Cosco基本上定義了RSS的標準架構,但受到DFS的拖累,性能上并沒有顯著提升。

5 Zeus

Uber Zeus[8][9](2020)同樣采用了去中心化的服務架構,但沒有類似etcd的角色維護Worker狀態,因此難以做狀態管理。Zeus通過Client雙推的方式做多副本,采用本地存儲。

6 RPMP

Intel RPMP[10](2020)依靠RDMA和PMEM的新硬件來加速Shuffle,并沒有做數據聚合。

7 Magnet

LinkedIn Magnet[1](2021)融合了本地Shuffle+Push Shuffle,其設計哲學是"盡力而為",Mapper的Output寫完本地后,Push線程會把數據推給遠端的ESS做聚合,且不保證所有數據都會聚合。受益于本地Shuffle,Magnet在容錯和AE的支持上的表現更好(直接Fallback到傳統Shuffle)。Magnet的局限包括依賴本地盤,不支持存算分離;數據合并依賴ESS,對NodeManager造成額外壓力;Shuffle Write同時寫本地和遠端,性能達不到最優。Magnet方案已經被Apache Spark接納,成為默認的開源方案。

8 FireStorm

FireStorm[11](2021)混合了Cosco和Zeus的設計,服務端采用Master-Worker架構,通過Client多寫實現多副本。FireStorm使用了本地盤+對象存儲的多層存儲,采用較大的PushBlock(默認3M)。FireStorm在存儲端保留了PushBlock的元信息,并記錄在索引文件中。FireStorm的Client緩存數據的內存由Spark MemoryManager進行管理,并通過細顆粒度的內存分配(默認3K)來盡量避免內存浪費。

從上述描述可知,當前的方案基本收斂到Push Shuffle,但在一些關鍵設計上的選擇各家不盡相同,主要體現在:

  • 集成到Spark內部還是獨立服務。
  • RSS服務側架構,選項包括:Master-Worker,含輕量級狀態管理的去中心化,完全去中心化。
  • Shuffle數據的存儲,選項包括:內存,本地盤,DFS,對象存儲。
  • 多副本的實現,選項包括:Client多推,服務端做Replication。

阿里云RSS[12][13]由2020年推出,核心設計參考了Sailfish和Cosco,并且在架構和實現層面做了改良,下文將詳細介紹。

三 阿里云RSS核心架構

針對上一節的關鍵設計,阿里云RSS的選擇如下:

  • 獨立服務。考慮到將RSS集成到Spark內部無法滿足存算分離架構,阿里云RSS將作為獨立服務提供Shuffle服務。
  • Master-Worker架構。通過Master節點做服務狀態管理非常必要,基于etcd的狀態狀態管理能力受限。
  • 多種存儲方式。目前支持本地盤/DFS等存儲方式,主打本地盤,將來會往分層存儲方向發展。
  • 服務端做Replication。Client多推會額外消耗計算節點的網絡和計算資源,在獨立部署或者服務化的場景下對計算集群不友好。

下圖展示了阿里云RSS的關鍵架構,包含Client(RSS Client, Meta Service),Master(Resource Manager)和Worker三個角色。Shuffle的過程如下:

  • Mapper在首次PushData時請求Master分配Worker資源,Worker記錄自己所需要服務的Partition列表。
  • Mapper把Shuffle數據緩存到內存,超過閾值時觸發Push。
  • 隸屬同個Partition的數據被Push到同一個Worker做合并,主Worker內存接收到數據后立即向從Worker發起Replication,數據達成內存兩副本后即向Client發送ACK,Flusher后臺線程負責刷盤。
  • Mapper Stage運行結束,MetaService向Worker發起CommitFiles命令,把殘留在內存的數據全部刷盤并返回文件列表。
  • Reducer從對應的文件列表中讀取Shuffle數據。

阿里云RSS的核心架構和容錯方面的介紹詳見[13],本文接下來介紹阿里云RSS近一年的架構演進以及不同于其他系統的特色。

1 狀態下沉

RSS采用Master-Worker架構,最初的設計中Master統一負責集群狀態管理和Shuffle生命周期管理。集群狀態包括Worker的健康度和負載;生命周期包括每個Shuffle由哪些Worker服務,每個Worker所服務的Partition列表,Shuffle所處的狀態(Shuffle Write,CommitFile,Shuffle Read),是否有數據丟失等。維護Shuffle生命周期需要較大數據量和復雜數據結構,給Master HA的實現造成阻力。同時大量生命周期管理的服務調用使Master易成為性能瓶頸,限制RSS的擴展性。

為了緩解Master壓力,我們把生命周期狀態管理下沉到Driver,由Application管理自己的Shuffle,Master只需維護RSS集群本身的狀態。這個優化大大降低Master的負載,并使得Master HA得以順利實現。

2 Adaptive Pusher

在最初的設計中,阿里云RSS跟其他系統一樣采用Hash-Based Pusher,即Client會為每個Partition維護一個(或多個[11])內存Buffer,當Buffer超過閾值時觸發推送。這種設計在并發度適中的情況下沒有問題,而在超大并發度的情況下會導致OOM。例如Reducer的并發5W,在小Buffer[13]的系統中(64K)極端內存消耗為64K*5W=3G,在大Buffer[11]的系統中(3M)極端內存消耗為3M*5W=146G,這是不可接受的。針對這個問題,我們開發了Sort-Based Pusher,緩存數據時不區分Partition,當總的數據超過閾值(i.e. 64M)時對當前數據按照PartitionId排序,然后把數據Batch后推送,從而解決內存消耗過大的問題。

Sort-Based Pusher會額外引入一次排序,性能上比Hash-Based Pusher略差。我們在ShuffleWriter初始化階段根據Reducer的并發度自動選擇合適的Pusher。

3 磁盤容錯

出于性能的考慮,阿里云RSS推薦本地盤存儲,因此處理壞/慢盤是保證服務可靠性的前提。Worker節點的DeviceMonitor線程定時對磁盤進行檢查,檢查項包括IOHang,使用量,讀寫異常等。此外Worker在所有磁盤操作處(創建文件,刷盤)都會捕捉異常并上報。IOHang、讀寫異常被認為是Critical Error,磁盤將被隔離并終止該磁盤上的存儲服務。慢盤、使用量超警戒線等異常僅將磁盤隔離,不再接受新的Partition存儲請求,但已有的Partition服務保持正常。在磁盤被隔離后,Worker的容量和負載將發生變化,這些信息將通過心跳發送給Master。

4 滾動升級

RSS作為常駐服務,有永不停服的要求,而系統本身總在向前演進,因此滾動升級是必選的功能。盡管通過Sub-Cluster部署方式可以繞過,即部署多個子集群,對子集群做灰度,灰度的集群暫停服務,但這種方式依賴調度系統感知正在灰度的集群并動態修改作業配置。我們認為RSS應該把滾動升級閉環掉,核心設計如下圖所示。Client向Master節點的Leader角色(Master實現了HA,見上文)發起滾動升級請求并把更新包上傳給Leader,Leader通過Raft協議修改狀態為滾動升級,并啟動第一階段的升級:升級Master節點。Leader首先升級所有的Follower,然后替換本地包并重啟。在Leader節點改變的情況下,升級過程不會中斷或異常。Master節點升級結束后進入第二階段:Worker節點升級。RSS采用滑動窗口做升級,窗口內的Worker盡量優雅下線,即拒絕新的Partition請求,并等待本地Shuffle結束。為了避免等待時間過長,會設置超時時間。此外,窗口內的Worker選擇會盡量避免同時包含主從兩副本以降低數據丟失的概率。

5 混亂測試框架

對于服務來說,僅依靠UT、集成測試、e2e測試等無法保證服務可靠性,因為這些測試無法覆蓋線上復雜環境,如壞盤、CPU過載、網絡過載、機器掛掉等。RSS要求在出現這些復雜情況時保持服務穩定,為了模擬線上環境,我們開發了仿真(混亂)測試框架,在測試環境中模擬線上可能出現的異常,同時保證滿足RSS運行的最小運行環境,即至少3個Master節點和2個Worker節點可用,并且每個Worker節點至少有一塊盤。我們持續對RSS做此類壓力測試。

仿真測試框架架構如下圖所示,首先定義測試Plan來描述事件類型、事件觸發的順序及持續時間,事件類型包括節點異常,磁盤異常,IO異常,CPU過載等。客戶端將Plan提交給Scheduler,Scheduler根據Plan的描述給每個節點的Runner發送具體的Operation,Runner負責具體執行并匯報當前節點的狀態。在觸發Operation之前,Scheduler會推演該事件發生產生的后果,若導致無法滿足RSS的最小可運行環境,將拒絕此事件。

我們認為仿真測試框架的思路是通用設計,可以推廣到更多的服務測試中。

6 多引擎支持

Shuffle是通用操作,不跟引擎綁定,因此我們嘗試了多引擎支持。當前我們支持了Hive+RSS,同時也在探索跟流計算引擎(Flink),MPP引擎(Presto)結合的可能性。盡管Hive和Spark都是批計算引擎,但Shuffle的行為并不一致,最大的差異是Hive在Mapper端做排序,Reducer只做Merge,而Spark在Reducer端做排序。由于RSS暫未支持計算,因此需要改造Tez支持Reducer排序。此外,Spark有干凈的Shuffle插件接口,RSS只需在外圍擴展,而Tez沒有類似抽象,在這方面也有一定侵入性。

當前大多數引擎都沒有Shuffle插件化的抽象,需要一定程度的引擎修改。此外,流計算和MPP都是上游即時Push給下游的模式,而RSS是上游Push,下游Pull的模式,這兩者如何結合也是需要探索的。

7 測試

我們對比了阿里云RSS、Magent及開源系統X。由于大家的系統還在向前演進,因此測試結果僅代表當前。

測試環境

Header * 1: ecs.g6e.4xlarge, 16 * 2.5GHz/3.2GHz, 64GiB, 10Gbps

Worker * 3: ecs.g6e.8xlarge, 32 * 2.5GHz/3.2GHz, 128GiB, 10Gbps

阿里云RSS vs. Magnet

5T Terasort的性能測試如下圖所示,如上文描述,Magent的Shuffle Write有額外開銷,差于RSS和傳統做法。Magent的Shuffle Read有提升,但差于RSS。在這個Benchmark下,RSS明顯優于另外兩個,Magent的e2e時間略好于傳統Shuffle。

阿里云RSS vs. 開源系統X

RSS跟開源系統X在TPCDS-3T的性能對比如下,總時間RSS快了20%。

穩定性

在穩定性方面,我們測試了Reducer大規模并發的場景,Magnet可以跑通但時間比RSS慢了數倍,System X在Shuffle Write階段報錯。

四 阿里云RSS在小米的實踐

1 現狀及痛點

小米的離線集群以Yarn+HDFS為主,NodeManager和DataNode混合部署。Spark是主要的離線引擎,支撐著核心計算任務。Spark作業當前最大的痛點集中在Shuffle導致的穩定性差,性能差和對存算分離架構的限制。在進行資源保證和作業調優后,作業失敗原因主要歸結為Fetch Failure,如下圖所示。由于大部分集群使用的是HDD,傳統Shuffle的高隨機讀和高網絡連接導致性能很差,低穩定性帶來的Stage重算會進一步加劇性能回退。此外,小米一直在嘗試利用存算分離架構的計算彈性降低成本,但Shuffle對本地盤的依賴造成了阻礙。

2 RSS在小米的落地

小米一直在關注Shuffle優化相關技術,21年1月份跟阿里云EMR團隊就RSS項目建立了共創關系,3月份第一個生產集群上線,開始接入作業,6月份第一個HA集群上線,規模達100+節點,9月份第一個300+節點上線,集群默認開啟RSS,后續規劃會進一步擴展RSS的灰度規模。

在落地的過程,小米主導了磁盤容錯的開發,大大提高了RSS的服務穩定性,技術細節如上文所述。此外,在前期RSS還未完全穩定階段,小米在多個環節對RSS的作業進行了容錯。在調度端,若開啟RSS的Spark作業因Shuffle報錯,則Yarn的下次重試會回退到ESS。在ShuffleWriter初始化階段,小米主導了自適應Fallback機制,根據當前RSS集群的負載和作業的特征(如Reducer并發是否過大)自動選擇RSS或ESS,從而提升穩定性。

3 效果

接入RSS后,Spark作業的穩定性、性能都取得了顯著提升。之前因Fetch Failure失敗的作業幾乎不再失敗,性能平均有20%的提升。下圖展示了接入RSS前后作業穩定性的對比。

ESS:

RSS:

下圖展示了接入RSS前后作業運行時間的對比。

ESS:

RSS:

在存算分離方面,小米海外某集群接入RSS后,成功上線了1600+ Core的彈性集群,且作業運行穩定。

在阿里云EMR團隊及小米Spark團隊的共同努力下,RSS帶來的穩定性和性能提升得到了充分的驗證。后續小米將會持續擴大RSS集群規模以及作業規模,并且在彈性資源伸縮場景下發揮更大的作用。

五 開源

重要的事說三遍:“阿里云RSS開源啦!” X 3

git地址: https://github.com/alibaba/RemoteShuffleService

開源代碼包含核心功能及容錯,滿足生產要求。

計劃中的重要Feature:

  • AE
  • Spark多版本支持
  • Better 流控
  • Better 監控
  • Better HA
  • 多引擎支持

歡迎各路開發者共建!

六 Reference

[1]Min Shen, Ye Zhou, Chandni Singh. Magnet: Push-based Shuffle Service for Large-scale Data Processing. VLDB 2020.

[2]Haoyu Zhang, Brian Cho, Ergin Seyfe, Avery Ching, Michael J. Freedman. Riffle: Optimized Shuffle Service for Large-Scale Data Analytics. EuroSys 2018.

[3]Sriram Rao, Raghu Ramakrishnan, Adam Silberstein. Sailfish: A Framework For Large Scale Data Processing. SoCC 2012.

[4]KFS. http://code.google.com/p/kosmosfs/

[5]Google Dataflow Shuffle. https://cloud.google.com/blog/products/data-analytics/how-distributed-shuffle-improves-scalability-and-performance-cloud-dataflow-pipelines

[6]Cosco: An Efficient Facebook-Scale Shuffle Service. https://databricks.com/session/cosco-an-efficient-facebook-scale-shuffle-service

[7]Flash for Apache Spark Shuffle with Cosco. https://databricks.com/session_na20/flash-for-apache-spark-shuffle-with-cosco

[8]Uber Zeus. https://databricks.com/session_na20/zeus-ubers-highly-scalable-and-distributed-shuffle-as-a-service

[9]Uber Zeus. https://github.com/uber/RemoteShuffleService

[10]Intel RPMP. https://databricks.com/session_na20/accelerating-apache-spark-shuffle-for-data-analytics-on-the-cloud-with-remote-persistent-memory-pools

[11]Tencent FireStorm. https://github.com/Tencent/Firestorm

[12]Aliyun RSS在趣頭條的實踐. https://developer.aliyun.com/article/779686

 

[13]Aliyun RSS架構. https://developer.aliyun.com/article/772329

 

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2021-08-02 09:40:57

Dapr阿里云Service Mes

2012-11-19 10:35:18

阿里云云計算

2021-06-08 09:45:46

大數據云原生EMR Spark o

2021-04-12 10:07:06

云計算邊緣云阿里云

2022-08-25 18:48:29

字節跳動CSS開源

2023-08-07 08:40:24

2013-01-10 12:29:59

阿里云年度盤點云計算實踐元年

2023-10-08 07:33:24

Presto數據分析

2017-05-22 08:05:46

HBase阿里搜索實踐

2022-09-16 08:23:22

Flink數據湖優化

2023-11-20 07:27:00

云原生Spark

2022-12-23 16:52:22

Lakehouse數據湖

2020-04-29 14:43:32

VMware

2021-03-12 18:18:17

云計算阿里云

2018-10-09 15:59:42

數據庫SQL SeverAlwaysOn

2022-09-08 10:08:31

阿里云可觀測云原生

2010-08-26 10:43:34

馬云阿里

2023-05-29 08:04:08

2023-08-31 22:40:01

2023-07-31 07:49:03

點贊
收藏

51CTO技術棧公眾號

精品人伦一区二区色婷婷| 国产毛片精品一区| 精品小视频在线| 国产97色在线 | 日韩| 欧美私人网站| 福利91精品一区二区三区| 欧美在线观看视频| 国产破处视频在线观看| 一区二区三区在线免费看 | 日韩综合在线视频| 精品国产一区二区三区久久狼5月 精品国产一区二区三区久久久狼 精品国产一区二区三区久久久 | 欧美性久久久久| 秋霞a级毛片在线看| 成人晚上爱看视频| 国产精品久久久久久婷婷天堂| 国产精品 欧美激情| 亚洲精品进入| 日韩精品资源二区在线| 少妇人妻互换不带套| 最新黄网在线观看| 国产女人18水真多18精品一级做| 亚洲va欧美va国产综合久久| 久久久久亚洲av成人毛片韩| 欧美一区激情| 在线看欧美日韩| 成人午夜精品无码区| 四虎影视国产精品| 91福利社在线观看| 免费观看美女裸体网站| 国产乱色在线观看| 中文字幕第一区二区| 精品免费日产一区一区三区免费| 国产精品一区二区av白丝下载| 在线一区免费观看| 色综合久久久888| 少妇视频在线播放| 精品一区欧美| 亚洲黄色成人网| 日韩精品――色哟哟| 四虎成人精品一区二区免费网站| 色综合久久中文综合久久97| 免费观看国产精品视频| 亚洲精品一线| 亚洲男人电影天堂| 不卡中文字幕在线| 日本在线人成| 国产日韩欧美不卡| 欧美日产一区二区三区在线观看| 日日躁夜夜躁白天躁晚上躁91| 国产毛片精品国产一区二区三区| 国产精品私拍pans大尺度在线| 99精品人妻国产毛片| 一区二区三区福利| 午夜精品视频在线| 日韩精品久久久久久久酒店| 激情91久久| 国外成人在线直播| 男人的天堂一区二区| 亚洲一级网站| 久久久免费av| 亚洲天堂日韩av| 99综合在线| 国产97在线|日韩| 亚洲av无码乱码国产精品fc2| 日韩高清在线一区| 国产免费亚洲高清| 99国产精品久久久久99打野战| 国产综合成人久久大片91| 91香蕉国产在线观看| 国产成人a人亚洲精品无码| 国产成人亚洲精品青草天美 | 秋霞影院一区二区三区| 日韩精品在线第一页| 97伦伦午夜电影理伦片| av中文一区| 久久亚洲精品毛片| 精品午夜福利在线观看| 亚洲永久免费精品| 国产精品日韩在线一区| 国产免费一区二区三区免费视频| 国产成人精品综合在线观看| 国产一区二区久久久| 国产在线免费观看| 17c精品麻豆一区二区免费| 黑人巨茎大战欧美白妇| 激情国产在线| 欧美日韩综合一区| 国产成人av片| 国产精品免费不| 久久久av网站| 欧美三级午夜理伦| 久久狠狠亚洲综合| 国产三区二区一区久久| av小片在线| 亚洲一区二区三区四区中文字幕| 男女午夜激情视频| 麻豆一区在线| 亚洲欧洲日本专区| 欧美日韩激情在线观看| 久久福利影视| 1卡2卡3卡精品视频| 色视频在线看| 一卡二卡欧美日韩| 黄色av免费在线播放| 综合激情网...| 在线看日韩欧美| 亚洲日本韩国在线| 精品亚洲porn| 日韩久久久久久久| www.综合网.com| 欧美精品色综合| 久久久久久久久免费看无码 | 久久久久久av无码免费看大片| 国产福利电影一区二区三区| 亚洲7777| 少妇淫片在线影院| 欧美一级精品在线| jizz日本在线播放| 午夜一级在线看亚洲| 99c视频在线| 国产特黄在线| 欧美午夜精品在线| 亚洲熟女一区二区三区| 天天射综合网视频| 国产精品日韩在线播放| 经典三级在线| 欧美日韩国产一区在线| 老司机av网站| 仙踪林久久久久久久999| 国产成人精品优优av| 凸凹人妻人人澡人人添| 精品中文一区| h视频在线免费观看| 激情av一区| 国产精品一久久香蕉国产线看观看| 97免费观看视频| 老熟妻内射精品一区| 中文字幕在线中文| 久久久久99精品成人片三人毛片| 岳的好大精品一区二区三区| 色噜噜狠狠成人网p站| 男人的天堂免费| 成人激情诱惑| 国产精品久久久久久久久久免费| 三级视频在线| 亚洲制服欧美中文字幕中文字幕| 黄色片子免费看| 一区二区三区午夜视频| 91精品综合视频| 久久久精品高清| 国产美女18xxxx免费视频| 免费成人直播| 国产午夜精品久久久| 97免费在线观看视频| 成人国产精品视频| 妞干网在线视频观看| 国产精品视屏| 欧美在线精品免播放器视频| 少妇被狂c下部羞羞漫画| ccyy激情综合| 性欧美视频videos6一9| 无码精品在线观看| 欧美日韩中国免费专区在线看| 香港三级日本三级| 亚洲免费中文| 日韩电影免费观看高清完整| www.国产精品| 久久婷婷国产麻豆91天堂| 国产高中女学生第一次| 亚洲资源在线观看| 在线观看日韩精品视频| 日韩不卡手机在线v区| 一区二区三区四区免费视频| 国产精品1区在线| 欧美激情奇米色| 天堂中文资源在线| 日本精品视频一区二区三区| 欧美一区二区三区粗大| 国产一区在线观看视频| 婷婷无套内射影院| 免费欧美视频| 成人精品一区二区三区| 高h视频在线播放| 2021中文字幕在线| 黑丝一区二区| 91成人精品网站| 久久久久久女乱国产| 欧美日本精品一区二区三区| 精品99在线观看| 91啪亚洲精品| 天天干天天操天天玩| 国产精品草草| 日本高清不卡一区二区三| 99精品美女视频在线观看热舞 | 中文字幕在线播放视频| 玖玖玖国产精品| 熟女视频一区二区三区| 欧美精品密入口播放| 国产精品十八以下禁看| 欧美巨大xxxx做受沙滩| 国产一区二区成人| 亚洲风情第一页| 日本精品一级二级| 国产污视频在线看| 中文字幕精品在线不卡| 人妻体内射精一区二区三区| 另类调教123区| 国产午夜福利100集发布| 天天做天天爱天天综合网2021| 国产精品国产一区二区| 国产成人毛片| 欧洲成人在线视频| 免费在线播放电影| 日韩在线欧美在线| 亚洲日本香蕉视频| 日韩午夜av电影| 中文字幕乱码无码人妻系列蜜桃| 亚洲不卡在线观看| 五月综合色婷婷| 国产女人18水真多18精品一级做 | 91av久久久| 色综合久久久久网| 国产系列精品av| 亚洲女与黑人做爰| 蜜桃av免费观看| 国产亚洲成年网址在线观看| 大桥未久恸哭の女教师| 国产精一品亚洲二区在线视频| 四季av一区二区| 久久九九精品| 97超碰青青草| 在线亚洲伦理| 黄色一级视频在线播放| 国产精品v亚洲精品v日韩精品| 亚洲欧洲一区二区福利| 欧洲激情综合| 日韩欧美一区二区视频在线播放| 欧美国产极品| 久久99精品久久久久久久青青日本 | 日本中文字幕电影在线观看| 亚洲电影在线看| 亚洲精品成人电影| 精品国产亚洲一区二区三区在线观看| 国产视频在线观看免费| 9191国产精品| av中文在线观看| 日韩一区二区在线看片| 国产情侣自拍小视频| 欧美一区二区三区免费视频 | 我爱我色成人网| 日本精品在线视频 | 成人黄色av播放免费| 日韩成人综合网| 国产在线高清精品| 99国内精品久久久久| 亚洲最大激情中文字幕| 在线精品国产亚洲| 国产精品久久九九| 天堂av一区二区三区在线播放| 久久久久久久久四区三区| 网友自拍区视频精品| 日本一区二区在线视频| 精品国产一级毛片| 在线视频精品一区| 牛夜精品久久久久久久99黑人| 特级西西人体www高清大胆| 激情综合自拍| 人妻少妇精品久久| 午夜亚洲伦理| 爱爱爱爱免费视频| 成人小视频在线观看| 30一40一50老女人毛片| 欧美韩国日本一区| 精品国产乱码久久久久久鸭王1| 夜夜嗨av一区二区三区四季av| www.youjizz.com亚洲| 色综合久久六月婷婷中文字幕| www.av88| 日韩一区二区在线免费观看| 手机福利小视频在线播放| 一区二区三区精品99久久| 黄色免费在线观看| 国外色69视频在线观看| 91国拍精品国产粉嫩亚洲一区| 亚洲aa中文字幕| 亚洲免费毛片| 97超碰免费观看| 中文亚洲欧美| 女人高潮一级片| 9色porny自拍视频一区二区| 阿v天堂2014| 亚洲成人av一区二区三区| 无码日韩精品一区二区| 日韩欧美在线123| 久久米奇亚洲| 久久久久久久久久av| 日本欧美不卡| 国产精品日韩欧美一区二区三区| 精品国产123区| www.日本在线视频| 久色婷婷小香蕉久久| 这里只有精品在线观看视频| 中文字幕高清一区| 亚洲黄色小说图片| 日韩一区二区三区视频在线| 国产私拍精品| 97avcom| 国产精品一级在线观看| 乱色588欧美| 亚洲高清二区| 天堂av在线8| 国产三级精品在线| 国产福利拍拍拍| 欧美一区二区三区小说| 国模吧精品人体gogo| 91精品国产自产91精品| 欧美电影院免费观看| 亚洲欧美日韩精品久久久| 一二三区精品| 国产伦精品一区三区精东| 综合久久国产九一剧情麻豆| 久久精品视频2| 亚洲国产欧美一区二区三区久久| 成人欧美在线| 91精品久久久久久久久| 精品国产一区一区二区三亚瑟| 丁香花在线影院观看在线播放| 国产一区 二区 三区一级| 国产毛片欧美毛片久久久| 欧美性黄网官网| 人人妻人人澡人人爽久久av | 亚洲国产精久久久久久久| fc2ppv国产精品久久| 91视频国产精品| 99久久www免费| 日本人69视频| 国产精品美女久久久久久2018| 日本天堂网在线| 日韩精品久久久久久久玫瑰园| 丁香花在线影院| av一区和二区| 影音先锋亚洲电影| 婷婷五月精品中文字幕| 亚洲成av人影院在线观看网| 理论片中文字幕| 97免费视频在线| 牛牛精品成人免费视频| 国产免费黄色av| 26uuuu精品一区二区| 中文字幕精品无码一区二区| 亚洲欧美精品一区| 欧美动物xxx| 日韩成人av电影在线| 六月婷婷色综合| 99久久精品久久亚洲精品| 91精品欧美综合在线观看最新| av黄在线观看| 国产66精品久久久久999小说| 极品日韩av| 久久久亚洲av波多野结衣| 色猫猫国产区一区二在线视频| 成年人视频在线看| 成人观看高清在线观看免费| 亚洲欧美亚洲| 国产精品福利导航| 91福利社在线观看| 国产三级在线播放| 国产欧美丝袜| 久久深夜福利| www.av免费| 欧美精品一区二区高清在线观看| 中文在线中文资源| 日韩欧美第二区在线观看| 精品无人区卡一卡二卡三乱码免费卡| 一区二区三区影视| 亚洲成人a级网| 欧美在线va视频| 激情六月天婷婷| 91看片淫黄大片一级| 成人黄色片在线观看| 欧美日韩国产成人在线观看| 夜夜春成人影院| 福利片一区二区三区| 午夜激情一区二区三区| 精品视频一二区| 91蜜桃网站免费观看| 久久国产高清| 强制高潮抽搐sm调教高h| 精品va天堂亚洲国产| 青青热久免费精品视频在线18| 欧美日韩亚洲国产成人| 99久久国产综合精品麻豆| 伊人影院中文字幕| 韩日精品中文字幕| 欧美丰满老妇| 中文字幕 亚洲一区| 制服丝袜亚洲播放| 成人性教育av免费网址| 国内自拍中文字幕| 国产欧美一区二区精品婷婷|