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

Apache Hadoop最佳實踐和反模式解析

運維 系統運維 Hadoop
本文總結了一些Hadoop應用的最佳實踐。實際上,類似于設計模式,我們引進一個網格模式的的概念,來提供一個通用且可復用的針對運行在網格上的應用的解決方案。

  Apache Hadoop是一個用來構建大規模共享存儲和計算設施的軟件。Hadoop集群已經應用在多種研究和開發項目中,并且,Yahoo!, EBay, Facebook, LinkedIn, Twitter等公司,越來越多的的把它應用在生產環境中。 這些已有的經驗是技術和投入的結晶,在許多情況下至關重要。因此,適當的使用Hadoop集群可以保證我們的投入能夠獲得最佳回報。

  這篇博文簡單總結了一些Hadoop應用的最佳實踐。實際上,類似于設計模式,我們引進一個網格模式的的概念,來提供一個通用且可復用的針對運行在網格上的應用的解決方案。

  這篇博文列舉了表現良好的應用的特點并且提供了正確使用Hadoop框架的各種特性和功能的指導。這些特點很大程度上這由其本身特點而定,閱讀這篇文檔的一個好方法是從本質上理解應用,這些最佳實踐在Hadoop的多租戶環境下卓有成效,而且不會與框架本身的大多數原則和限制產生矛盾。

  博文還強調了一些Hadoop應用的反模式。

概述

  Hadoop上的數據處理應用一般使用Map-Reduce模型。

  一個Map-Reduce作業通常會把輸入的數據集拆分成許多獨立的數據段,按照完全并行的方式一個map任務處理一段。框架把map的輸出排序,然后作為reduce的輸入。通常輸入和輸出都儲存在文件系統。框架負責調度、監控任務的執行以及重啟失敗的任務。

  Map-Reduce應用可以指定輸入輸出的位置,并提供了map與reduce功能的實現,體現在Hadoop中是Mapper 和Reducer.這些只是作業配置的一部分參數。Hadoop客戶端提交作業(jar或者其他可執行的程序)和配置給JobTracker,而JobTracker負責把程序和配置分發到各個slave,調度和監控任務的執行,并返回狀態信息給客戶端。

  Map/Reduce框架的處理是基于<key, value>這樣的鍵值對,也就是說,框架吧輸入數據視作一系列<key, value>鍵值對集合,然后產出另一些鍵值對作為輸出。

  這是 Map-Reduce應用的典型數據流

  絕大多數在網格上運行的Map-Reduce應用都不會直接實現較低層次的Map-Reduce接口,而是借助于較高抽象層次的語言,例如Pig。

  Oozie 是一個非常好的網格上的工作流管理和調度方案。Oozie 支持多種應用接口 (Hadoop Map-Reduce, Pig, Hadoop Streaming, Hadoop Pipes, 等等.) 并且支持基于時間或數據可用性的調度。#p#

網格模式

  這一部分是關于網格上運行的Map-Reduce應用的最佳實踐

  輸入

  Hadoop Map-Reduce 為處理海量數據而設計。maps過程以一種高度并行的方式來處理數據, 通常一個map至少處理一個HDFS block,一般是128M。

  • 默認情況下,每個map最多處理一個HDFS 文件。 這意味著假如應用需要處理大量的文件,最好一個map能夠處理多個。可以通過一種特定的輸入格式來達成這個目的,就是MultiFileInputFormat。即使對于那些只處理很少小文件的應用,每個map處理多個文件的效率也更高。
  • 假如應用需要處理的數據量非常大,即使文件尺寸很大,每個map處理128M以上的數據也會更有效率。

  網格模式: 合并小文件以減少map數量,在處理大數據集的時候用比較大的HDFS 塊大小。

  Maps

  maps的數量通常取決于輸入大小, 也即輸入文件的block數。 因此,假如你的輸入數據有10TB,而block大小為128M,則需要82,000個map。

  因為啟動任務也需要時間,所以在一個較大的作業中,最好每個map任務的執行時間不要少于1分鐘。

  就像在上面“輸入”部分所解釋的,對于那種有大量小文件輸入的的作業來說,一個map處理多個文件會更有效率。

  如果應用處理的輸入文件尺寸較大,每個map處理一個完整的HDFS block,數據段大一點更有效率。舉個例子,讓每個map處理更多數據,方法之一是讓輸入文件有更大的HDFS block尺寸,例如512M或者更多。

  一個極端的例子是Map-Reduce開發團隊用了大約66000個map來做PetaSort,也即66000個map要處理1PB數據,平均每個map 12.5G。

  原則是大量運行時間很短的map會有損生產力。

  網格模式:除非應用的map過程是CPU密集型,否則一個應用不應該有60000-70000個map。

  當在map處理的block比較大的時候,確保有足夠的內存作為排序緩沖區是非常重要的,這可以加速map端的排序過程。假如大多數的map輸出都能在排序緩沖區中處理的話應用的性能會有極大的提升。這需要運行map過程的JVM具有更大的堆。記住反序列化輸入的內存操作不同于磁盤操作;例如,Pig應用中的某些class將硬盤上的數據載入內存之后占用的空間會是其本來尺寸的3、4倍。在這種情況下,應用需要更大的JVM堆來讓map的輸入和輸出數據能夠保留在內存中。

  網格模式:確保map的大小,使得所有的map輸出可以在排序緩沖區中通過一次排序來完成操作。

  合適的map數量有以下好處:

  • 減少了調度的負擔;更少的map意味著任務調度更簡單,集群中可用的空閑槽更多。
  • 有足夠的內存將map輸出容納在排序緩存中,這使map端更有效率;
  • 減少了需要shuffle map輸出的尋址次數,每個map產生的輸出可用于每一個reduce,因此尋址數就是map個數乘以reduce個數;
  • 每個shuffled的片段更大,這減少了建立連接的相對開銷,所謂相對開銷是指相對于在網絡中傳輸數據的過程。
  • 這使reduce端合并map輸出的過程更高效,因為合并的次數更少,因為需要合并的文件段更少了。

  上述指南需要注意,一個map處理太多的數據不利于失敗轉移,因為單個map失敗可能會造成應用的延遲。

  Combiner

  適當的使用Combiner可以優化map端的聚合。Combiner最主要的好處在于減少了shuffle過程從map端到reduce端的傳輸數據量。

  Shuffle

  適當的使用Combiner可以優化map端的聚合。Combiner最主要的好處在于減少了shuffle過程從map端到reduce端的傳輸數據量。

  Combiner 也有一個性能損失點,因為它需要一次額外的對于map輸出的序列化/反序列化過程。不能通過聚合將map端的輸出減少到20-30%的話就不適用combiner。可以用 combiner input/output records counters(譯者注:這是一個hadoop mapreduce 的counter名稱,所以采用了原名未翻譯)來衡量Combiner的效率。

  網格模式:Combiners可以減少shuffle階段的網絡流量。但是,要保證Combiner 的聚合是確實有效的。

Reduces

  reduces的性能很大程度上受shuffle的性能所影響。

  應用配置的reduces數量是一個決定性的因素。

  太多或者太少的reduce都不利于發揮最佳性能:

  • 太少的reduce會使得reduce運行的節點處于過度負載狀態,在極端情況下我們見過一個reduce要處理100g的數據。這對于失敗恢復有著非常致命的負面影響,因為失敗的reduce對作業的影響非常大。
  • 太多的reduce對shuffle過程有不利影響。在極端情況下會導致作業的輸出都是些小文件,這對NameNode不利,并且會影響接下來要處理這些小文件的mapreduce應用的性能。

  網格模式:在大多數情況下,應用應該保證每個reduce處理1-2g數據,最多5-10g。

  輸出

  我們需要記住一個重要的因素——應用的輸出文件數取決于配置的reduce數。從我們上文中對reduce的討論可知,reduce數的選擇十分關鍵。

  此外,還需要考慮其它一些因素:

  • 考慮采用合適的壓縮器(壓縮速度vs性能)對輸出進行壓縮,提高HDFS的寫入性能。
  • 每個reduce不要輸出多個文件,避免生成附屬文件。我們一般用附屬文件來記錄統計信息,如果這些信息不多的話,可以使用計數器。
  • 為輸出文件選擇合適的格式。對于下游消費者程序來說,用zlib/gzip/lzo等算法來對大量文本數據進行壓縮往往事與愿違。因為zlib/gzip/lzo文件是不能分割的,只能整個進行處理。這會引起惡劣的負載均衡和故障恢復問題。作為改善,可以使用SequenceFile和TFile格式,它們不但是壓縮的,而且是可以分割的。
  • 如果每個輸出文件都很大(若干GB),請考慮使用更大的輸出塊(dfs.block.size)。

  網格模式: 應該確保應用的輸出是數量不多的大文件,每個文件跨越多個HDFS塊,而且經過適當的壓縮。

  分布式緩存(Distributed Cache)

  分布式緩存可以高效的分發與具體應用相關的較大尺寸的只讀文件。這是Map/Reduce框架提供的機制,用于暫時存儲與特定應用相關的文件(如text, archives, jars等)。

  這個框架會在slave節點上執行任務之前將必要的文件拷貝到該節點。它如此高效是因為在個作業中所需要的文件只會被復制一遍,還因為它能夠緩存slave節點上的未歸檔文件。它也被作為基本軟件分發機制用于map和reduce 任務。這種機制可以把jar和本地庫放置在map/reduce任務的classpath或者本地庫路徑下。

  分布式緩存設計之初是為了分發一些尺寸不是很大,從幾M到幾十M的附件。目前實現的分布式緩存的弱點在于不能夠指定具體的附件只能應用于特定的map或者reduce。

  在極少數情況下,由具體任務本身來拷貝其所需的附件要比使用分布式緩存更合適。例如,那種reduce數很少的應用,而且需要的附屬文件尺寸非常大(超過512M)。

  網格模式:應用應該保證分布式緩存中的附件不能夠比任務本身的I/O消耗更多。

  壓縮

  Hadoop Map-Reduce 可以在應用中對map輸出的中間數據和reduce的輸出數據進行指定的壓縮。

  • 壓縮中間數據: 正如在 shuffle 部分所講的,對map輸出的中間數據進行合適的壓縮可以減少map到reduce之間的網絡數據傳輸量,從而提高性能。Lzo 壓縮格式是一個壓縮map中間數據的合理選擇,它有效利用了CPU。
  • 壓縮應用輸出:就如在 輸出 部分所講的, 使用合適的壓縮格式壓縮輸出數據能夠減少應用的運行時間。Zlib/Gzip 格式在大多數情況下都是比較適當的選擇,因為它在較高壓縮率的情況下壓縮速度也還算可以,bzip2 就慢得多了。

  全排序輸出

  抽樣

  有時候,應用需要產生全排序的輸出。在這種情況下,一個通用的反模式是只使用一個reduce,這樣就能強制數據集中在一處做聚合。很明顯,這樣做效率不高,這樣不僅加大了執行reduce的那個節點的負載,還對失敗恢復有嚴重的不良影響。

  更好的辦法是對輸入抽樣,然后以此來使用sampling partitioner 代替默認的hash partitioner。這樣可以獲得更好的負載平衡和失敗恢復。#p#

連接(join)有序數據集

  另一種網格設計模式是關于兩個有序數據集的連接,其中一個數據集的大小并非另一個的嚴格倍數。例如,一個數據集有512個buckets,另一個有200個。

  在這種情況下,確保輸入的數據集是整體有序的(全排序,如同在商議部分所提到的)意味著可以使用兩個數據集中的任意一個來作為基數。Pig 就是用這種發發來進行高效的連接。

  HDFS 操作 & JobTracker 操作

  NameNode 很重要而且負擔要比一般的節點重,所以在進行HDFS 操作的時候要注意對性能的影響。特別是,應用程序不要在map/reduce任務中做非I/O操作,也即像遍歷目錄,遞歸統計等這樣的元數據操作。

  同樣,不要在應用程序中連接JobTracker來獲得關于集群統計的數據。

  網格模式:應用不應該在代碼中執行任何文件系統的元數據操作,這種操作應該在作業提交的時候被嚴格禁止。除此以外,應用程序不應該自己連接JobTracker 。

  User Logs

  與用戶執行的任務相關的task-logs,也即 map/reduce 任務的標準輸出和錯誤信息儲存在執行這個任務的節點的本地磁盤上。

  因為每個節點都是共享存儲的一部分,所以Map-Reduce 框架對儲存在節點上的log數量實際上是有限制的。

  Web界面

  Hadoop Map-Reduce 框架提供了一個簡單的web界面來監控運行中的作業,查看已完成作業的歷史,以及其他一些從JobTracker獲得的信息

  要明白這個web界面是給人看的而不是自動程序。

  通過一些屏幕自動化軟件來從web界面獲取信息是不可行的。web界面上的某些部分,像查看歷史作業,非常消耗JobTracker 的資源,如果使用屏幕自動化軟件這么做可能會導致一些性能問題。

  假如真有這么一個自動統計匯總的需求,最好去咨詢 Map-Reduce的開發團隊。

  工作流

  Oozie 是一個適用于網格應用的非常好的工作流管理和調度系統。Oozie 可以基于時間或者數據可用性來管理和計劃工作流。使用Oozie來管理和調度的低延遲要求的,產品級的項目已經越來越多。

  設計Oozie 的時候考慮的一個重要因素是Hadoop 更適宜于批量處理大量數據。正因如此,用幾個中等規模的Map-Reduce組成處理流程,要比用更多的小型的Map-Reduce作業更好。在極端情況下一個流程可能由幾百上千個作業組成,這是很明顯的反模式。更好的做法是能夠將這些Map-Reduce作業重新組裝成較少的幾個過程,每個過程處理更多的數據,這有助于提高整個流程的性能并降低延遲。

  網格模式:工作流中一個Map-Reduce作業應該至少處理十幾G數據。

  反模式

  這部分會總結一些網格應用通用的反模式。這些東西大多數情況下都與大規模、分布式、批量數據處理系統的原則相悖。這是對應用開發人員的提醒,因為網格軟件逐漸規范化固定化,特別是即將發布的20.Fred版本,對于具有下面列出的這些反模式的應用更難容忍。

  • 不愛使用像Pig這樣的高層次抽象接口。
  • 處理幾千個小文件(小于1個block的大小,一般是128M),一個map只能處理一個小文件。
  • 處理大量數據的,但HDFS block比較小,導致產生數萬個map。
  • map數量非常多,每個map的運行時間卻非常短(例如5秒)。
  • 簡單聚合卻不用Combiner。
  • 產生的map數量多于6、7萬。
  • 處理大數據集的時候只用很少的reduce(例如只用1個)。
  • 用Pig 腳本處理大數據集的時候沒有用PARALLEL關鍵字。
  • 用1個reduce為所有輸出進行全局排序。
  • 用很多reduce來處理數據,以致每個reduce只能處理1-2G數據。
  • 輸出文件多且小。
  • 用分布式緩存分發過多的文件或過大的文件(幾百M)。
  • 一個任務有幾十上百個計數器。
  • 在map/reduce 任務理執行文件系統元數據操作(例如 listStatus)。
  • 用屏幕自動化軟件來收集web界面上的信息,作業、隊列狀態,更糟的是查看已完成作業的歷史。
  • 工作流由成百上千個小作業做成,每個都只處理少量數據。

  英文原文:Apache Hadoop: Best Practices and Anti-Patterns

責任編輯:黃丹 來源: oschina.net
相關推薦

2010-12-02 10:30:09

Apache Hado反模式Map Reduce

2023-10-30 18:59:38

REST API開發

2017-02-06 09:20:23

JavaScript實踐

2016-06-20 11:32:27

JS原型class

2009-07-01 17:44:46

Servlet和JSP

2016-10-12 09:41:45

Hadoop+Spar大數據開發

2020-08-11 07:00:00

大數據IT技術

2010-02-04 11:55:27

ibmdwDB2

2012-10-29 09:30:47

HadoopHadoop集群Hadoop生態系統包

2012-09-03 10:33:43

2011-09-01 14:36:38

敏捷

2011-08-18 11:05:21

jQuery

2023-07-21 01:12:30

Reactfalse?變量

2022-06-28 13:25:19

K8sPrometheusGrafana

2023-06-09 19:01:03

軟件開發

2012-11-05 09:27:00

VDI網絡傳輸WAN

2022-07-26 08:00:00

測試工具回歸測試軟件功能

2013-05-28 09:12:59

Hadoop 2.0

2012-08-09 09:10:56

代碼審查代碼

2014-06-09 15:50:08

點贊
收藏

51CTO技術棧公眾號

91免费在线看| 亚洲天堂偷拍| 欧美成人官网二区| 精品少妇一区二区三区在线| 深夜福利视频在线免费观看| 欧美资源在线| 欧美成人一区在线| 日韩精品无码一区二区三区久久久| 欧美大电影免费观看| 国产精品第五页| 久久综合一区| 精品人妻一区二区三区三区四区| 国产欧美日本| 欧美精品日韩www.p站| 中国美女乱淫免费看视频| 成人免费91| 91国内精品野花午夜精品| av动漫在线免费观看| 国产一区二区影视| 福利电影一区二区三区| 国产精品免费视频久久久| 国产一级黄色av| 欧美一区2区| 亚洲黄色在线看| 色戒在线免费观看| 麻豆网站免费在线观看| 一区二区三区四区不卡在线| 亚洲第一导航| 国产天堂素人系列在线视频| 国产精品91一区二区| 国产精品免费观看在线| 亚洲精品午夜国产va久久成人| 亚洲一区二区三区| 在线成人激情视频| 精品夜夜澡人妻无码av| 最新国产精品精品视频| 欧美一区二区视频在线观看2020| 韩国视频一区二区三区| 欧美xxx视频| 日韩欧美aⅴ综合网站发布| 人人妻人人澡人人爽欧美一区双 | 国产午夜精品免费一区二区三区| 中文字幕天堂av| 136导航精品福利| 日韩一区二区高清| 4438x全国最大成人| 亚洲ww精品| 欧美一区二区福利视频| 伊人免费视频二| 久久久国产精品入口麻豆| 在线不卡一区二区| 极品粉嫩美女露脸啪啪| 日本在线一区二区| 欧美一区二区三区男人的天堂| 午夜免费看视频| 日韩欧乱色一区二区三区在线| 欧美日韩久久久| 中文字幕一区久久| 伊人久久大香线蕉av超碰| 精品奇米国产一区二区三区| 野战少妇38p| 欧美美女在线直播| 日韩精品小视频| 加勒比一区二区| 日韩精品一卡| 另类美女黄大片| 久久久久无码国产精品不卡| 日韩图片一区| 国产精品99久久久久久www| 中文亚洲av片在线观看| 久久机这里只有精品| 91综合免费在线| 日韩专区第一页| 国产视频一区在线观看| 亚洲日本精品国产第一区| 国产精品传媒精东影业在线 | 精品日本视频| 亚洲成人av电影| 国产一区二区在线视频播放| 免费观看亚洲| 欧美美女一区二区三区| 特级特黄刘亦菲aaa级| 精品视频在线你懂得| 亚洲欧洲国产一区| 91传媒免费观看| 亚洲大胆av| 国产精品老女人精品视频| 国产99对白在线播放| 99re成人精品视频| 正义之心1992免费观看全集完整版| √天堂8在线网| 一本久道中文字幕精品亚洲嫩| 午夜宅男在线视频| 91精品尤物| 国产一区二区三区在线| 欧美日韩在线观看免费| 国产精品视频久久一区| 国产在线高清精品| 日韩一区免费视频| 亚洲欧洲av一区二区三区久久| 日本手机在线视频| 欧美日韩卡一| 亚洲激情免费观看| 欧美做爰爽爽爽爽爽爽| 免费亚洲网站| 2020国产精品久久精品不卡| 日韩a在线观看| 亚洲黄色av一区| 国产又粗又长又大的视频| 亚洲精品在线a| 伊人亚洲福利一区二区三区| 精品午夜福利视频| 国内精品伊人久久久久av一坑| 久久九九视频| 超鹏97在线| 欧美日韩一级二级| jizz日本免费| 精久久久久久| 97人人模人人爽人人少妇| jizz在线观看| 色综合网站在线| 朝桐光av一区二区三区| 欧美日韩精品免费观看视频完整| 国产精品久久久久av| 一区二区三区日韩视频| 天堂地址在线www| 欧美性猛交xxxx免费看久久久| 日韩av成人网| 欧美高清日韩| 亚洲iv一区二区三区| 在线国产91| 欧美亚洲一区三区| 成人片黄网站色大片免费毛片| 亚洲手机视频| 国产精品日韩一区二区三区 | 热久久免费国产视频| 欧美一区二区三区黄片| 亚洲综合激情网| 久久发布国产伦子伦精品| 小说区亚洲自拍另类图片专区 | 成人综合视频在线| 精品日产乱码久久久久久仙踪林| 色与欲影视天天看综合网| 国产农村妇女毛片精品久久| 国产精品久久久久aaaa| 手机看片一级片| 日韩大片在线| 成人淫片在线看| 成人影欧美片| 日韩欧美色电影| 国产奶水涨喷在线播放| av一二三不卡影片| 午夜肉伦伦影院| 啪啪亚洲精品| 国产久一一精品| 黄色动漫在线观看| 日韩免费电影网站| 国产精品7777777| 26uuu另类欧美| 中文字幕第36页| 91高清一区| 豆国产97在线| 日韩免费福利视频| 色琪琪综合男人的天堂aⅴ视频| 最近日韩免费视频| 亚洲视频香蕉人妖| 久久人妻少妇嫩草av蜜桃| 黄色亚洲在线| 欧美日韩精品综合| 青青伊人久久| 欧美高清自拍一区| 蜜桃成人在线视频| 日本精品不卡| 精品欧美乱码久久久久久1区2区| 日韩欧美亚洲国产| 国产女主播在线一区二区| 久久精品久久99| 一区二区久久| 亚洲欧美日韩国产yyy| 亚洲国产视频二区| 日韩av不卡在线| 国产日产一区二区三区| 亚洲精品理论电影| 一卡二卡三卡在线| 亚洲大片在线观看| 亚洲毛片亚洲毛片亚洲毛片| 国产成人午夜精品影院观看视频| 黄色国产精品视频| 一区二区三区在线电影| 精品无人乱码一区二区三区的优势 | 欧美激情一区二区三区四区| 污免费在线观看| 国产农村妇女精品一二区| 亚洲一区二区在| 欧美久久香蕉| 5566av亚洲| 日韩在线免费| 97国产精品免费视频| 在线播放日本| 日韩成人黄色av| 国产深喉视频一区二区| 欧美日韩国产精品一区二区不卡中文| 国产精品一区二区亚洲| 91老师国产黑色丝袜在线| 91精品999| 久久精品毛片| 国产精品久久..4399| 外国成人激情视频| 日本高清久久一区二区三区| 99久久人爽人人添人人澡| 国产精品高清在线观看| 黄色aa久久| 欧美成在线视频| 最新97超碰在线| 亚洲三级 欧美三级| 好吊色一区二区| 91精品国产综合久久久久久| 久久久久亚洲视频| 日韩欧美亚洲一二三区| 日本在线免费观看| 亚洲综合在线第一页| 婷婷社区五月天| 国产欧美日韩麻豆91| 国产精品探花一区二区在线观看| 美女国产在线| 一本大道久久精品懂色aⅴ| 久久香蕉精品视频| 亚洲伦在线观看| 糖心vlog免费在线观看| 国产欧美精品一区二区三区四区| 日韩精品人妻中文字幕有码| 国产美女一区二区| 亚洲五月激情网| 国内一区二区在线| 做a视频在线观看| 久久激情五月激情| 91视频这里只有精品| 麻豆91精品91久久久的内涵| 中文字幕第80页| 男女性色大片免费观看一区二区 | 高清欧美日韩| 国产精品天天狠天天看| 懂色aⅴ精品一区二区三区| 国产精品欧美激情在线播放| 九色成人搞黄网站| 国产美女久久久| 永久免费观看精品视频| 成人性教育视频在线观看| 伊人久久一区| 99re国产视频| 久久97久久97精品免视看秋霞| 国产精品v欧美精品v日韩| 9l亚洲国产成人精品一区二三| 成人动漫视频在线观看免费| 爱爱精品视频| 免费中文日韩| 成人婷婷网色偷偷亚洲男人的天堂| 亚洲va韩国va欧美va精四季| 日本在线电影一区二区三区| 中文字幕日韩一区二区三区| 亚洲成av人片乱码色午夜| 国产专区在线视频| 国产欧美日本| 亚洲77777| 国产伦精品一区二区三区免费迷 | av天在线观看| 久久中文字幕视频| 国产盗摄一区二区| 欧美在线视频在线播放完整版免费观看 | 一区二区在线看| 日韩av黄色片| 在线观看日韩电影| 亚洲一区二区三区欧美| 日韩欧美午夜| 国产又粗又长又爽视频| 亚洲日本欧美| 亚洲激情在线观看视频| 国产精品18久久久久久久久久久久 | 国产精彩视频一区二区| 久久久久91| 在线免费黄色小视频| av不卡在线观看| 一级片黄色录像| 亚洲一区二区三区四区的| 日本高清不卡码| 91麻豆精品国产91久久久久久 | 中国china体内裑精亚洲片| 在线看三级电影| 欧洲一区二区视频| 精品国产一区二区三区2021| 久久精品magnetxturnbtih| 久久免费大视频| 91好吊色国产欧美日韩在线| 麻豆精品一二三| 自拍视频一区二区| 18欧美亚洲精品| 黄色片网站在线免费观看| 欧美一区二区三区人| 成人资源www网在线最新版| 欧美丰满少妇xxxx| 精品久久福利| 看欧美日韩国产| 欧美日韩影院| 亚洲久久中文字幕| 久久综合999| 九九九免费视频| 欧美视频三区在线播放| 熟妇高潮一区二区高潮| 久久这里有精品视频| 香蕉成人影院| 久久天堂国产精品| 精品69视频一区二区三区Q| 色噜噜狠狠一区二区三区狼国成人| 久久免费偷拍视频| 日本熟妇毛茸茸丰满| 91精品婷婷国产综合久久竹菊| 经典三级在线| 9.1国产丝袜在线观看| 午夜久久av| 黄色网址在线免费看| 久久99久久久久| 欧美福利第一页| 色哟哟一区二区三区| 日本免费不卡视频| 欧美激情一区二区三级高清视频 | 亚洲成人激情图| 亚洲91av| 99在线观看| 午夜精品电影| 亚洲精品在线网址| 成人免费在线视频| 国产女人爽到高潮a毛片| 97色伦图片97综合影院| 日本福利视频网站| 国产成人免费视频一区| 杨钰莹一级淫片aaaaaa播放| 欧美久久高跟鞋激| 黄网站在线免费看| 亚洲最大福利网站| 欧美不卡视频| 师生出轨h灌满了1v1| 亚洲综合丝袜美腿| 成人免费视频国产免费麻豆| 欧美激情18p| 国产精品主播在线观看| 妞干网在线视频观看| 99久久婷婷国产综合精品| 日韩三级小视频| 亚洲欧美国产一区二区三区| 偷拍中文亚洲欧美动漫| 亚洲国产精品一区在线观看不卡 | 欧美视频一区二区三区四区| avtt亚洲| 亚洲aaaaaa| 在线视频观看日韩| 一二三不卡视频| 欧美视频在线一区| 在线观看操人| 久久一区二区三区av| 久久久精品网| 成人欧美一区二区三区黑人一| 欧美日韩亚洲综合一区| 宅男网站在线免费观看| 精品国产免费人成电影在线观...| 亚洲欧美日韩综合国产aⅴ| 人成免费在线视频| 日韩视频在线观看一区二区| 暧暧视频在线免费观看| 欧美日韩一区二区三区在线视频 | 欧美三级在线| 蜜桃精品一区二区| 欧美日本精品一区二区三区| 天堂va在线| 欧美日韩喷水| 国产在线精品一区二区不卡了| 精品一区二区三区人妻| 亚洲性猛交xxxxwww| 麻豆精品国产| 欧美日韩黄色一级片| 国产精品乱码妇女bbbb| 免费a视频在线观看| 国产精品福利网| 欧美成人中文| a资源在线观看| 精品久久久久久久久久久久包黑料| 伊人久久视频| 少妇高潮大叫好爽喷水| 91啪亚洲精品| 国产suv一区二区| 国产精品福利在线观看| 欧美fxxxxxx另类| 亚洲а∨天堂久久精品2021| 日韩三级高清在线| 成人亚洲免费| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 国产精品福利一区| 欧美另类自拍| 国产日韩精品久久| 国产麻豆一精品一av一免费| 亚洲黄网在线观看|