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

HBase在淘寶的應用和優化小結

數據庫 其他數據庫
由于淘寶擁有也許是國內最大的單一hadoop集群(云梯),因此對hadoop系列的產品有比較深入的了解,也就自然希望使用hbase來做這樣一種海量數據讀寫服務。Facebook曾經詳細公布過內部使用hbase的情況,本文也將響應開源的號召,出于對社區的反饋及讓更多的人了解hbase的實際應用,將hbase部署于生產環境,對淘寶近一年來在online應用上使用和優化hbase的經驗做一次小結。

1、前言


hbase是從hadoop中分離出來的apache頂級開源項目。由于它很好地用java實現了google的bigtable系統大部分特性,因此在數據量猛增的今天非常受到歡迎。對于淘寶而言,隨著市場規模的擴大,產品與技術的發展,業務數據量越來越大,對海量數據的高效插入和讀取變得越來越重要。由于淘寶擁有也許是國內最大的單一hadoop集群(云梯),因此對hadoop系列的產品有比較深入的了解,也就自然希望使用hbase來做這樣一種海量數據讀寫服務。Facebook曾經詳細公布過內部使用hbase的情況,本文也將響應開源的號召,出于對社區的反饋及讓更多的人了解hbase的實際應用,將hbase部署于生產環境,對淘寶近一年來在online應用上使用和優化hbase的經驗做一次小結。

 

2、原因


為什么要使用hbase

淘寶在2011年之前所有的后端持久化存儲基本上都是在mysql上進行的(不排除少量oracle/bdb/tair/mongdb等),mysql由于開源,并且生態系統良好,本身擁有分庫分表等多種解決方案,因此很長一段時間內都滿足淘寶大量業務的需求。

但是由于業務的多樣化發展,有越來越多的業務系統的需求開始發生了變化。一般來說有以下幾類變化:

a) 數據量變得越來越多,事實上現在淘寶幾乎任何一個與用戶相關的在線業務的數據量都在億級別,每日系統調用次數從億到百億都有,且歷史數據不能輕易刪除。這需要有一個海量分布式文件系統,能對TB級甚至PB級別的數據提供在線服務

b) 數據量的增長很快且不一定能準確預計,大多數應用系統從上線起在一段時間內數據量都呈很快的上升趨勢,因此從成本的角度考慮對系統水平擴展能力有比較強烈的需求,且不希望存在單點制約

c) 只需要簡單的kv讀取,沒有復雜的join等需求。但對系統的并發能力以及吞吐量、響應延時有非常高的需求,并且希望系統能夠保持強一致性

d) 通常系統的寫入非常頻繁,尤其是大量系統依賴于實時的日志分析

e) 希望能夠快速讀取批量數據

f ) schema靈活多變,可能經常更新列屬性或新增列

g) 希望能夠方便使用,有良好且語義清晰的java接口

以上需求綜合在一起,我們認為hbase是一種比較適合的選擇。首先它的數據由hdfs天然地做了數據冗余,云梯三年的穩定運行,數據100%可靠己經證明了hdfs集群的安全性,以及服務于海量數據的能力。其次hbase本身的數據讀寫服務沒有單點的限制,服務能力可以隨服務器的增長而線性增長,達到幾十上百臺的規模。LSM-Tree模式的設計讓hbase的寫入性能非常良好,單次寫入通常在1-3ms內即可響應完成,且性能不隨數據量的增長而下降。region(相當于數據庫的分表)可以ms級動態的切分和移動,保證了負載均衡性。由于hbase上的數據模型是按rowkey排序存儲的,而讀取時會一次讀取連續的整塊數據做為cache,因此良好的rowkey設計可以讓批量讀取變得十分容易,甚至只需要1次io就能獲取幾十上百條用戶想要的數據。最后,淘寶大部分工程師是java背景的同學,因此hbase的api對于他們來說非常容易上手,培訓成本相對較低。

當然也必須指出,在大數據量的背景下銀彈是不存在的,hbase本身也有不適合的場景。比如,索引只支持主索引(或看成主組合索引),又比如服務是單點的,單臺機器宕機后在master恢復它期間它所負責的部分數據將無法服務等。這就要求在選型上需要對自己的應用系統有足夠了解。

3、應用情況


我們從2011年3月開始研究hbase如何用于在線服務。盡管之前在一淘搜索中己經有了幾十節點的離線服務。這是因為hbase早期版本的目標就是一個海量數據中的離線服務。2009年9月發布的0.20.0版本是一個里程碑,online應用正式成為了hbase的目標,為此hbase引入了zookeeper來做為backupmaster以及regionserver的管理。2011年1月0.90.0版本是另一個里程碑,基本上我們今天看到的各大網站,如facebook/ebay/yahoo內所使用于生產的hbase都是基于這一個版本(fb所采用的0.89版本結構與0.90.x相近)。bloomfilter等諸多屬性加入了進來,性能也有極大提升。基于此,淘寶也選用了0.90.x分支作為線上版本的基礎。

第一個上線的應用是數據魔方中的prom。prom原先是基于redis構建的,因為數據量持續增大以及需求的變化,因此我們用hbase重構了它的存儲層。準確的說prom更適合0.92版本的hbase,因為它不僅需要高速的在線讀寫,更需要count/group by等復雜應用。但由于當時0.92版本尚未成熟,因此我們自己單獨實現了coprocessor。prom的數據導入是來源于云梯,因此我們每天晚上花半個小時將數據從云梯上寫入hbase所在的hdfs,然后在web層做了一個client轉發。經過一個月的數據比對,確認了速度比之redis并未有明顯下降,以及數據的準確性,因此得以順利上線。

第二個上線的應用是TimeTunnel,TimeTunnel是一個高效的、可靠的、可擴展的實時數據傳輸平臺,廣泛應用于實時日志收集、數據實時監控、廣告效果實時反饋、數據庫實時同步等領域。它與prom相比的特點是增加了在線寫。動態的數據增加使hbase上compact/balance/split/recovery等諸多特性受到了極大的挑戰。TT的寫入量大約一天20TB,讀的量約為此的1.5倍,我們為此準備了20臺regionserver的集群,當然底層的hdfs是公用的,數量更為龐大(下文會提到)。每天TT會為不同的業務在hbase上建不同的表,然后往該表上寫入數據,即使我們將region的大小上限設為1GB,最大的幾個業務也會達到數千個region這樣的規模,可以說每一分鐘都會有數次split。在TT的上線過程中,我們修復了hbase很多關于split方面的bug,有好幾個commit到了hbase社區,同時也將社區一些最新的patch打在了我們的版本上。split相關的bug應該說是hbase中會導致數據丟失最大的風險之一,這一點對于每個想使用hbase的開發者來說必須牢記。hbase由于采用了LSM-Tree模型,從架構原理上來說數據幾乎沒有丟失的可能,但是在實際使用中不小心謹慎就有丟失風險。原因后面會單獨強調。TT在預發過程中我們分別因為Meta表損壞以及split方面的bug曾經丟失過數據,因此也單獨寫了meta表恢復工具,確保今后不發生類似問題(hbase-0.90.5以后的版本都增加了類似工具)。另外,由于我們存放TT的機房并不穩定,發生過很多次宕機事故,甚至發生過假死現象。因此我們也著手修改了一些patch,以提高宕機恢復時間,以及增強了監控的強度。

CTU以及會員中心項目是兩個對在線要求比較高的項目,在這兩個項目中我們特別對hbase的慢響應問題進行了研究。hbase的慢響應現在一般歸納為四類原因:網絡原因、gc問題、命中率以及client的反序列化問題。我們現在對它們做了一些解決方案(后面會有介紹),以更好地對慢響應有控制力。

和Facebook類似,我們也使用了hbase做為實時計算類項目的存儲層。目前對內部己經上線了部分實時項目,比如實時頁面點擊系統,galaxy實時交易推薦以及直播間等內部項目,用戶則是散布到公司內各部門的運營小二們。與facebook的puma不同的是淘寶使用了多種方式做實時計算層,比如galaxy是使用類似akka的actor模式處理交易數據,同時關聯商品表等維度表計算排行(TopN),而實時頁面點擊系統則是基于twitter開源的storm進行開發,后臺通過TT獲取實時的日志數據,計算流將中間結果以及動態維表持久化到hbase上,比如我們將rowkey設計為url+userid,并讀出實時的數據,從而實現實時計算各個維度上的uv。

最后要特別提一下歷史交易訂單項目。這個項目實際上也是一個重構項目,目的是從以前的方案上遷移到hbase上來。由于它關系到己買到頁面,用戶使用頻率非常高,重要程度接近核心應用,對數據丟失以及服務中斷是零容忍。它對compact做了優化,避免大數據量的compact在服務時間內發生。新增了定制的filter來實現分頁查詢,rowkey上對應用進行了巧妙的設計以避免了冗余數據的傳輸以及90%以上的讀轉化成了順序讀。目前該集群存儲了超過百億的訂單數據以及數千億的索引數據,線上故障率為0。

隨著業務的發展,目前我們定制的hbase集群己經應用到了線上超過二十個應用,數百臺服務器上。總在線數據量接近100TB,線上每秒操作數在10萬級別。包括淘寶首頁的商品實時推薦、廣泛用于賣家的實時量子統計等應用,并且還有繼續增多以及向核心應用靠近的趨勢。

4、部署、運維和監控


Facebook之前曾經透露過Facebook的hbase架構,可以說是非常不錯的。如他們將message服務的hbase集群按用戶分為數個集群,每個集群100臺服務器,擁有一臺namenode以及分為5個機架,每個機架上一臺zookeeper。可以說對于大數據量的服務這是一種優良的架構。對于淘寶來說,由于數據量遠沒有那么大,應用也沒有那么核心,因此我們采用公用hdfs以及zookeeper集群的架構。每個hdfs集群盡量不超過100臺規模(這是為了盡量限制namenode單點問題)。在其上架設數個hbase集群,每個集群一個master以及一個backupmaster。公用hdfs的好處是可以盡量減少compact的影響,以及均攤掉硬盤的成本,因為總有集群對磁盤空間要求高,也總有集群對磁盤空間要求低,混合在一起用從成本上是比較合算的。zookeeper集群公用,每個hbase集群在zk上分屬不同的根節點。通過zk的權限機制來保證hbase集群的相互獨立。zk的公用原因則僅僅是為了運維方便。

由于是在線應用,運維和監控就變得更加重要,由于之前的經驗接近0,因此很難招到專門的hbase運維人員。我們的開發團隊和運維團隊從一開始就很重視該問題,很早就開始自行培養。以下講一些我們的運維和監控經驗。

我們定制的hbase很重要的一部分功能就是增加監控。hbase本身可以發送ganglia監控數據,只是監控項遠遠不夠,并且ganglia的展示方式并不直觀和突出。因此一方面我們在代碼中侵入式地增加了很多監控點,比如compact/split/balance/flush隊列以及各個階段的耗時、讀寫各個階段的響應時間、讀寫次數、region的open/close,以及具體到表和region級別的讀寫次數等等。仍然將它們通過socket的方式發送到ganglia中,ganglia會把它們記錄到rrd文件中,rrd文件的特點是歷史數據的精度會越來越低,因此我們自己編寫程序從rrd中讀出相應的數據并持久化到其它地方,然后自己用js實現了一套監控界面,將我們關心的數據以趨勢圖、餅圖等各種方式重點匯總和顯示出來,并且可以無精度損失地查看任意歷史數據。在顯示的同時會把部分非常重要的數據,如讀寫次數、響應時間等寫入數據庫,實現波動報警等自定義的報警。經過以上措施,保證了我們總是能先于用戶發現集群的問題并及時修復。我們利用redis高效的排序算法實時地將每個region的讀寫次數進行排序,能夠在高負載的情況下找到具體請求次數排名較高的那些region,并把它們移到空閑的regionserver上去。在高峰期我們能對上百臺機器的數十萬個region進行實時排序。

為了隔離應用的影響,我們在代碼層面實現了可以檢查不同client過來的連接,并且切斷某些client的連接,以在發生故障時,將故障隔離在某個應用內部而不擴大化。mapreduce的應用也會控制在低峰期運行,比如在白天我們會關閉jobtracker等。

此外,為了保障服務從結果上的可用,我們也會定期跑讀寫測試、建表測試、hbck等命令。hbck是一個非常有用的工具,不過要注意它也是一個很重的操作,因此盡量減少hbck的調用次數,盡量不要并行運行hbck服務。在0.90.4以前的hbck會有一些機率使hbase宕機。另外為了確保hdfs的安全性,需要定期運行fsck等以檢查hdfs的狀態,如block的replica數量等。

我們會每天根蹤所有線上服務器的日志,將錯誤日志全部找出來并且郵件給開發人員,以查明每一次error以上的問題原因和fix。直至錯誤降低為0。另外每一次的hbck結果如果有問題也會郵件給開發人員以處理掉。盡管并不是每一次error都會引發問題,甚至大部分error都只是分布式系統中的正常現象,但明白它們問題的原因是非常重要的。

5、測試與發布


因為是未知的系統,我們從一開始就非常注重測試。測試從一開始就分為性能測試和功能測試。性能測試主要是注意基準測試,分很多場景,比如不同混合讀寫比例,不同k/v大小,不同列族數,不同命中率,是否做presharding等等。每次運行都會持續數小時以得到準確的結果。因此我們寫了一套自動化系統,從web上選擇不同的場景,后臺會自動將測試參數傳到各臺服務器上去執行。由于是測試分布式系統,因此client也必須是分布式的。

我們判斷測試是否準確的依據是同一個場景跑多次,是否數據,以及運行曲線達到99%以上的重合度,這個工作非常煩瑣,以至于消耗了很多時間,但后來的事實證明它非常有意義。因為我們對它建立了100%的信任,這非常重要,比如后期我們的改進哪怕只提高2%的性能也能被準確捕捉到,又比如某次代碼修改使compact隊列曲線有了一些起伏而被我們看到,從而找出了程序的bug,等等。

功能測試上則主要是接口測試和異常測試。接口測試一般作用不是很明顯,因為hbase本身的單元測試己經使這部分被覆蓋到了。但異常測試非常重要,我們絕大部分bug修改都是在異常測試中發現的,這幫助我們去掉了很多生產環境中可能存在的不穩定因素,我們也提交了十幾個相應的patch到社區,并受到了重視和commit。分布式系統設計的難點和復雜度都在異常處理上,我們必須認為系統在通訊的任何時候都是不可靠的。某些難以復現的問題我們會通過查看代碼大體定位到問題以后,在代碼層面強行拋出異常來復現它。事實證明這非常有用。

為了方便和快速定位問題,我們設計了一套日志收集和處理的程序,以方便地從每臺服務器上抓取相應的日志并按一定規律匯總。這非常重要,避免浪費大量的時間到登錄不同的服務器以尋找一個bug的線索。

由于hbase社區在不停發展,以及線上或測試環境發現的新的bug,我們需要制定一套有規律的發布模式。它既要避免頻繁的發布引起的不穩定,又要避免長期不發布導致生產版本離開發版本越來越遠或是隱藏的bug爆發。我們強行規定每兩周從內部trunk上release一個版本,該版本必須通過所有的測試包括回歸測試,并且在release后在一個小型的集群上24小時不受甘擾不停地運行。每個月會有一次發布,發布時采用最新release的版本,并且將現有的集群按重要性分級發布,以確保重要應用不受新版本的潛在bug影響。事實證明自從我們引入這套發布機制后,由發布帶來的不穩定因素大大下降了,并且線上版本也能保持不落后太多。

6、改進和優化


Facebook是一家非常值得尊敬的公司,他們毫無保留地對外公布了對hbase的所有改造,并且將他們內部實際使用的版本開源到了社區。facebook線上應用的一個重要特點是他們關閉了split,以降低split帶來的風險。與facebook不同,淘寶的業務數據量相對沒有如此龐大,并且由于應用類型非常豐富,我們并們并沒有要求用戶強行選擇關閉split,而是盡量去修改split中可能存在的bug。到目前為止,雖然我們并不能說完全解決了這個問題,但是從0.90.2中暴露出來的諸多跟split以及宕機相關的可能引發的bug我們的測試環境上己經被修復到接近了0,也為社區提交了10數個穩定性相關的patch,比較重要的有以下幾個:

https://issues.apache.org/jira/browse/HBASE-4562

https://issues.apache.org/jira/browse/HBASE-4563

https://issues.apache.org/jira/browse/HBASE-5152

https://issues.apache.org/jira/browse/HBASE-5100

https://issues.apache.org/jira/browse/HBASE-4880

https://issues.apache.org/jira/browse/HBASE-4878

https://issues.apache.org/jira/browse/HBASE-4899

還有其它一些,我們主要將patch提交到0.92版本,社區會有commitor幫助我們backport回0.90版本。所以社區從0.90.2一直到0.90.6一共發布了5個bugfix版本后,0.90.6版本其實己經比較穩定了。建議生產環境可以考慮這個版本。

split這是一個很重的事務,它有一個嚴重的問題就是會修改meta表(當然宕機恢復時也有這個問題)。如果在此期間發生異常,很有可能meta表、rs內存、master內存以及hdfs上的文件會發生不一致,導致之后region重新分配時發生錯誤。其中一個錯誤就是有可能同一個region被兩個以上的regionserver所服務,那么就可能出現這一個region所服務的數據會隨機分別寫到多臺rs上,讀取的時候也會分別讀取,導致數據丟失。想要恢復原狀,必須刪除掉其中一個rs上的region,這就導致了不得不主動刪掉數據,從而引發數據丟失。

前面說到慢響應的問題歸納為網絡原因、gc問題、命中率以及client的反序列化問題。網絡原因一般是網絡不穩定引起的,不過也有可能是tcp參數設置問題,必須保證盡量減少包的延遲,如nodelay需要設置為true等,這些問題我們通過tcpdump等一系列工具專門定位過,證明tcp參數對包的組裝確實會造成慢連接。gc要根據應用的類型來,一般在讀比較多的應用中新生代不能設置得太小。命中率極大影響了響應的時間,我們會盡量將version數設為1以增加緩存的容量,良好的balance也能幫助充分應用好每臺機器的命中率。我們為此設計了表級別的balance。

由于hbase服務是單點的,即宕機一臺,則該臺機器所服務的數據在恢復前是無法讀寫的。宕機恢復速度決定了我們服務的可用率。為此主要做了幾點優化。首先是將zk的宕機發現時間盡量縮短到1分鐘,其次改進了master恢復日志為并行恢復,大大提高了master恢復日志的速度,然后我們修改了openhandler中可能出現的一些超時異常,以及死鎖,去掉了日志中可能發生的open…too long等異常。原生的hbase在宕機恢復時有可能發生10幾分鐘甚至半小時無法重啟的問題己經被修復掉了。另外,hdfs層面我們將socket.timeout時間以及重試時間也縮短了,以降低datanode宕機引起的長時間block現象。

hbase本身讀寫層面的優化我們目前并沒有做太多的工作,唯一打的patch是region增加時寫性能嚴重下降的問題。因為由于hbase本身良好的性能,我們通過大量測試找到了各種應用場景中比較優良的參數并應用于生產環境后,都基本滿足需求。不過這是我們接下來的重要工作。

7、將來計劃


我們目前維護著淘寶內基于社區0.90.x而定制的hbase版本。接下來除繼續fix它的bug外,會維護基于0.92.x修改的版本。之所以這樣,是因為0.92.x和0.90.x的兼容性并不是非常好,而且0.92.x修改掉的代碼非常多,粗略統計會超過30%。0.92中有我們非常看重的一些特性。

· 0.92版本改進了hfile為hfileV2,v2版本的特點是將索引以及bloomfilter進行了大幅改造,以支持單個大hfile文件。現有的HFile在文件大到一定程度時,index會占用大量的內存,并且加載文件的速度會因此下降非常多。而如果HFile不增大的話,region就無法擴大,從而導致region數量非常多。這是我們想盡量避免的事。

· 0.92版本改進了通訊層協議,在通訊層中增加了length,這非常重要,它讓我們可以寫出nio的客戶端,使反序列化不再成為影響client性能的地方。

· 0.92版本增加了coprocessor特性,這支持了少量想要在rs上進行count等的應用。

· 還有其它很多優化,比如改進了balance算法、改進了compact算法、改進了scan算法、compact變為CF級別、動態做ddl等等特性。

除了0.92版本外,0.94版本以及最新的trunk(0.96)也有很多不錯的特性,0.94是一個性能優化版本。它做了很多革命性工作,比如去掉root表,比如HLog進行壓縮,replication上支持多個slave集群,等等。

我們自己也有一些優化,比如自行實現的二級索引、backup策略等都會在內部版本上實現。

另外值得一提的是hdfs層面的優化也非常重要,hadoop-1.0.0以及cloudera-3u3的改進對hbase非常有幫助,比如本地化讀、checksum的改進、datanode的keepalive設置、namenode的HA策略等。我們有一支優秀的hdfs團隊來支持我們的hdfs層面工作,比如定位以及fix一些hdfs層面的bug,幫助提供一些hdfs上參數的建議,以及幫助實現namenode的HA等。最新的測試表明,3u3的checksum+本地化讀可以將隨機讀性能提升至少一倍。

我們正在做的一件有意義的事是實時監控和調整regionserver的負載,能夠動態地將負載不足的集群上的服務器挪到負載較高的集群中,而整個過程對用戶完全透明。

總的來說,我們的策略是盡量和社區合作,以推動hbase在整個apache生態鏈以及業界的發展,使其能更穩定地部署到更多的應用中去,以降低使用門檻以及使用成本。

下載: http://walkoven.com/hbase optimization and apply summary in taobao.pdf

原文鏈接:http://walkoven.com/?p=57

【編輯推薦】

  1. 讓數據庫變快的10個建議
  2. 利用Java進行MySql數據庫的導入和導出
  3. 20個數據庫設計最佳實踐
  4. 超越MySQL 對流行數據庫進行分支
  5. 迎接大數據時代,高手較量數據庫遷移實戰方案
責任編輯:林師授 來源: walk walk koven
相關推薦

2017-01-17 09:38:52

ZooKeeperHadoopHBase

2015-06-11 10:09:04

大數據HBase

2017-05-22 08:05:46

HBase阿里搜索實踐

2022-05-06 12:01:01

優化小程序

2024-07-11 07:02:01

2020-10-23 06:57:56

MySQLMaxwell代碼

2014-11-19 14:30:33

hbasenosql數據庫bigtable

2012-05-14 13:59:44

ASO移動應用應用商店

2019-12-04 10:23:33

HBase內存MemStore

2014-07-25 17:06:44

HbaseWOT2014

2024-12-17 07:41:34

Java逃逸分析

2020-05-13 15:10:04

矩陣乘法深度學習人工智能-

2022-08-31 10:04:28

模型算法

2023-11-15 18:46:49

HBase數據庫開源

2024-01-15 08:59:31

Docker優化

2012-09-11 15:43:32

HBase

2010-10-13 10:56:41

招聘

2012-11-05 13:33:08

LinuxHBase

2021-02-05 05:28:31

恢復性能優化

2009-02-20 11:05:58

PHP優化高效提速
點贊
收藏

51CTO技術棧公眾號

第一次破处视频| 成人免费观看视频在线观看| 97超碰资源站| 欧美日本一区二区视频在线观看 | 凹凸国产熟女精品视频| se在线电影| 国产成人免费在线观看不卡| 欧美在线观看日本一区| 欧美成人另类视频| 大伊香蕉精品在线品播放| 91黄色激情网站| 99久久久精品视频| aⅴ在线视频男人的天堂| 成人激情免费网站| 国产精品视频成人| 国产精品111| 91精品电影| 亚洲欧美一区二区三区在线| 99精品视频国产| 2020日本在线视频中文字幕| 国产日韩欧美精品一区| 99久久99久久| 中文字幕免费在线看| 亚洲国产一区二区精品专区| 色婷婷久久一区二区| 在线 丝袜 欧美 日韩 制服| 日韩成人在线观看视频| 欧美午夜视频网站| 欧美黄网站在线观看| 青青在线视频| 亚洲日本va在线观看| 久久亚洲午夜电影| 人妻一区二区三区| 国产大陆精品国产| 成人网在线免费看| 中国黄色一级视频| 日韩不卡一区二区三区| 57pao精品| 国产奶水涨喷在线播放| 欧美福利在线| 久热精品视频在线免费观看| 极品尤物一区二区| 欧美日韩水蜜桃| 精品亚洲永久免费精品| 国产精品麻豆入口| 久久99精品国产自在现线| 日韩视频在线永久播放| 天天色天天干天天色| 天堂综合在线播放| 欧美性色综合网| 爱情岛论坛成人| 欧美三区四区| 色天天综合色天天久久| 国产裸体舞一区二区三区| 午夜av不卡| 欧美性精品220| 青青在线视频观看| 久久uomeier| 在线观看一区二区视频| 亚洲 中文字幕 日韩 无码| 欧美极品免费| 欧美日韩国产精品自在自线| 日本中文字幕影院| 国产高清亚洲| 欧美精品一区二区三区在线| 精品国产av色一区二区深夜久久 | 国产成人福利片| 成人av影视在线| 日日躁夜夜躁白天躁晚上躁91| 成人app下载| 欧美精品免费观看二区| 成年女人的天堂在线| 中文字幕一区二区日韩精品绯色| 成人性做爰片免费视频| heyzo高清中文字幕在线| 欧美日韩中文字幕日韩欧美| 久草综合在线观看| 免费成人毛片| 精品乱码亚洲一区二区不卡| 日韩 中文字幕| 不卡中文字幕| 欧美成人午夜免费视在线看片| 精品无码一区二区三区电影桃花| 99视频精品免费观看| 国产成人aa精品一区在线播放| 亚洲 小说区 图片区| 国产乱子伦视频一区二区三区 | 99久久久久国产精品| 欧美俄罗斯性视频| 免费黄色网址在线| 黑人巨大精品欧美黑白配亚洲| 超碰97在线资源| 成人在线免费公开观看视频| 亚洲精品中文在线影院| 国产精品免费入口| 国产情侣一区在线| 日韩精品小视频| 婷婷激情四射网| 亚洲综合国产激情另类一区| 成人免费在线视频网站| 五月婷婷在线播放| 亚洲欧洲精品一区二区精品久久久 | 中文字幕99页| 日韩www.| 97超级碰碰碰| 精品久久人妻av中文字幕| 91丨九色丨国产丨porny| 综合网五月天| 澳门成人av网| 欧美不卡激情三级在线观看| 韩国三级hd中文字幕| 欧美日韩精品一本二本三本 | 国产日产欧美视频| 欧美一区在线观看视频| 一区二区亚洲精品国产| 人人干人人干人人干| 国模娜娜一区二区三区| 欧洲精品码一区二区三区免费看| 影音先锋在线视频| 欧美视频你懂的| 91黄色免费视频| 欧美亚洲不卡| 国产欧美在线播放| 欧美69xxxxx| 午夜激情一区二区| 亚洲一级片免费观看| 欧美日韩国产免费观看视频| 77777亚洲午夜久久多人| 国产www视频| 亚洲欧美在线高清| 国产天堂在线播放| 九九在线高清精品视频| 午夜精品在线视频| 成人午夜免费在线观看| 亚洲精品欧美二区三区中文字幕| 三年中国国语在线播放免费| 曰本一区二区三区视频| 青草热久免费精品视频| 色av男人的天堂免费在线| 亚洲第一福利一区| 91人妻一区二区| 欧美日韩综合| 国产乱码精品一区二区三区卡| 国产黄色小视频在线| 欧美日韩mp4| 黑人操日本美女| 精品系列免费在线观看| 一区二区不卡在线视频 午夜欧美不卡' | 粉嫩av懂色av蜜臀av分享| 欧美日韩亚洲三区| 懂色一区二区三区av片| 免费在线国产视频| 亚洲а∨天堂久久精品喷水| 国产一级二级三级视频| 成人aaaa免费全部观看| 男人天堂1024| 国产一区三区在线播放| 国产精品美女主播| 免费网站看v片在线a| 91精品在线免费观看| 色在线观看视频| 成人午夜碰碰视频| 波多野结衣家庭教师在线| 亚洲aa在线| 国产精品自拍偷拍视频| 国产三区在线观看| 欧美 亚洲 另类 激情 另类| 国产精品国产自产拍在线| 天堂av手机在线| 国语对白精品一区二区| 精品欧美一区二区在线观看视频| 韩日精品一区二区| 日韩在线视频免费观看| 国产999久久久| 精品国产91久久久| 亚洲一级淫片| 久久高清视频免费| 亚洲精品久久久久avwww潮水| 亚洲一卡二卡三卡四卡| 亚洲熟妇一区二区三区| 日本vs亚洲vs韩国一区三区二区 | 69堂成人精品免费视频| 久久婷婷一区二区| 97成人超碰视| 青青草久久伊人| 一区二区三区高清视频在线观看| 欧美主播一区二区三区美女 久久精品人| 成人国产一区二区三区精品麻豆| 欧美xxxx做受欧美| 久香视频在线观看| 日韩色在线观看| 黑人精品无码一区二区三区AV| 国产精品午夜久久| 性囗交免费视频观看| 免费看黄色91| 男女激情无遮挡| 99久久.com| 免费久久久一本精品久久区| 亚洲精品自拍| 日韩69视频在线观看| 国产区在线看| 国产亚洲美女久久| 亚洲精品国产av| 欧美日韩国产高清一区二区三区| 日本视频免费在线| 亚洲精品亚洲人成人网| 人妻少妇无码精品视频区| 国产成人综合自拍| 依人在线免费视频| 亚洲一区二区三区高清| 日韩精品一区二区三区电影| 久久av电影| 国产伦精品一区二区三区视频黑人 | 欧美成人日韩| 亚洲高清在线播放| 婷婷精品在线观看| 国产高清一区视频| 91精品国产一区二区在线观看 | 伊人精品一区二区三区| 亚洲成av人片一区二区| 中文字幕电影av| 国产精品网曝门| av小说在线观看| 99视频一区二区| 精品国产aⅴ一区二区三区东京热| 日韩国产欧美在线播放| 日韩中字在线观看| 中文字幕一区二区三区久久网站| 日韩国产高清一区| 竹菊久久久久久久| 久久影视中文粉嫩av| 给我免费播放日韩视频| 99在线首页视频| 亚洲一区二区电影| 亚洲最大激情中文字幕| 在线视频成人| 成人网中文字幕| 国产精品成人3p一区二区三区| 国产精品偷伦视频免费观看国产| 在线观看涩涩| 51视频国产精品一区二区| 是的av在线| 欧美中文字幕在线视频| 亚洲黄色免费看| 国产va免费精品高清在线观看| 伊人久久国产| 日本欧美中文字幕| 日本在线精品| 国产精品久久久久免费a∨| 成人在线网站| 国产精品手机播放| **日韩最新| 97在线电影| 成人搞黄视频| 精品午夜一区二区| 女人丝袜激情亚洲| 色女人综合av| 亚洲电影影音先锋| 激情六月天婷婷| 亚洲久久视频| 蜜臀av午夜一区二区三区| 日韩在线播放一区二区| 亚洲欧美国产中文| 国产另类ts人妖一区二区| 人妻 丝袜美腿 中文字幕| 成人av资源在线| 在线免费看黄视频| 国产精品国产三级国产三级人妇| 男女做暖暖视频| 亚洲成人av在线电影| 国产又大又黄又粗| 欧美视频精品在线观看| 超碰在线播放97| 日韩久久午夜影院| 在线免费黄色| 欧美高清激情视频| 欧美成人h版| 95av在线视频| 天海翼精品一区二区三区| 日韩欧美精品一区二区| 欧美在线高清| 日韩欧美精品在线观看视频| 精品一区二区三区久久| 亚洲激情 欧美| 国产精品天干天干在观线| 美女福利视频在线观看| 一本色道久久综合精品竹菊| 91精品国产乱码久久久| 亚洲福利视频免费观看| av男人的天堂在线| 亚洲18私人小影院| 成人精品国产亚洲| 国产伦精品一区二区三| 色婷婷热久久| 欧美亚洲另类色图| 国产一区二区三区日韩| 在线免费观看麻豆| 一级日本不卡的影视| 探花国产精品一区二区| 精品国产第一区二区三区观看体验| 国产精品天堂| 亚洲**2019国产| 麻豆精品久久| 亚洲国产午夜伦理片大全在线观看网站| 中文字幕一区二区精品区| 波多野结衣天堂| 2020国产精品自拍| 青青操国产视频| 欧美日韩国产综合一区二区三区| 天天躁日日躁狠狠躁伊人| 美日韩精品视频免费看| 黄色精品视频| 欧美日韩日本网| 亚洲麻豆视频| 在线播放第一页| 一区二区三区在线视频播放| 人妻中文字幕一区二区三区| 日韩精品极品在线观看| 女同一区二区免费aⅴ| 91久久国产精品| 日韩欧美一区免费| 国产亚洲天堂网| 97se亚洲国产综合自在线| 私库av在线播放| 91精品国产综合久久久久久久 | 欧美在线国产精品| 成人在线视频你懂的| 女人床在线观看| 国内精品自线一区二区三区视频| 一级黄色毛毛片| 91福利精品第一导航| 蜜桃视频在线观看视频| 日本精品中文字幕| 任你躁在线精品免费| 尤物av无码色av无码| 成人美女视频在线看| 国产一级免费观看| 精品成人一区二区三区| 丁香花高清在线观看完整版| 97se国产在线视频| 国产精品magnet| zjzjzjzjzj亚洲女人| 亚洲一二三区视频在线观看| 亚洲欧美另类视频| 久久久久久国产精品三级玉女聊斋| 视频免费一区二区| 国产一二三区在线播放| 成人国产亚洲欧美成人综合网 | 欧美无砖砖区免费| 91啦中文在线| 91精品啪在线观看麻豆免费| 我不卡伦不卡影院| 黄页网站在线看| 亚洲成a人片综合在线| 日韩在线观看视频网站| 992tv成人免费影院| 亚洲区小说区图片区qvod按摩| 国产淫片av片久久久久久| 国产日韩欧美一区二区三区乱码| 中文字幕 欧美激情| 久久视频在线播放| 亚洲无线观看| 北条麻妃69av| 欧美极品另类videosde| 国产精品视频无码| 久久久久久久激情视频| 欧美激情在线精品一区二区三区| 欧美午夜性生活| 亚洲乱码国产乱码精品精98午夜| 草草视频在线播放| 欧美在线视频在线播放完整版免费观看| 少妇精品久久久| 亚洲精品第三页| 亚洲国产精品欧美一二99| 欧美日韩国产中文字幕在线| 国产精品久久久久77777| 91精品动漫在线观看| 少妇精品一区二区| 欧美高清性hdvideosex| 咪咪网在线视频| 亚洲视频电影| 国产91色综合久久免费分享| 日韩电影在线观看一区二区| 久久天天躁夜夜躁狠狠躁2022| 国产女人18毛片水真多18精品| 天天天干夜夜夜操| 亚洲国产精品一区二区www在线| yjizz视频网站在线播放| 91亚色免费| 日韩av一区二区在线影视| 91精品国产高清一区二区三蜜臀| 亚洲精品久久在线| 国产激情精品一区二区三区| 116极品美女午夜一级| 亚洲欧美视频在线观看| 你懂的在线看| 99精彩视频在线观看免费| 日韩av一区二区在线影视| 日产电影一区二区三区| 久久精品成人欧美大片|