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

HBase原理–所有Region切分的細節都在這里了

開發 前端
HBase系統中Region自動切分是如何實現的?這里面涉及很多知識點,比如Region切分的觸發條件是什么?Region切分的切分點在哪里?如何切分才能最大的保證Region的可用性?如何做好切分過程中的異常處理?切分過程中要不要將數據移動?

Region自動切分是HBase能夠擁有良好擴張性的最重要因素之一,也必然是所有分布式系統追求***擴展性的一副良藥。HBase系統中Region自動切分是如何實現的?這里面涉及很多知識點,比如Region切分的觸發條件是什么?Region切分的切分點在哪里?如何切分才能***的保證Region的可用性?如何做好切分過程中的異常處理?切分過程中要不要將數據移動?等等,這篇文章將會對這些細節進行基本的說明,一方面可以讓大家對HBase中Region自動切分有更加深入的理解,另一方面如果想實現類似的功能也可以參考HBase的實現方案。

Region切分觸發策略

在***穩定版(1.2.6)中,HBase已經有多達6種切分觸發策略。當然,每種觸發策略都有各自的適用場景,用戶可以根據業務在表級別選擇不同的切分觸發策略。常見的切分策略如下圖:

HBase原理–所有Region切分的細節都在這里了

ConstantSizeRegionSplitPolicy:0.94版本前默認切分策略。這是最容易理解但也最容易產生誤解的切分策略,從字面意思來看,當region大小大于某個閾值(hbase.hregion.max.filesize)之后就會觸發切分,實際上并不是這樣,真正實現中這個閾值是對于某個store來說的,即一個region中***store的大小大于設置閾值之后才會觸發切分。另外一個大家比較關心的問題是這里所說的store大小是壓縮后的文件總大小還是未壓縮文件總大小,實際實現中store大小為壓縮后的文件大小(采用壓縮的場景)。ConstantSizeRegionSplitPolicy相對來來說最容易想到,但是在生產線上這種切分策略卻有相當大的弊端:切分策略對于大表和小表沒有明顯的區分。閾值(hbase.hregion.max.filesize)設置較大對大表比較友好,但是小表就有可能不會觸發分裂,極端情況下可能就1個,這對業務來說并不是什么好事。如果設置較小則對小表友好,但一個大表就會在整個集群產生大量的region,這對于集群的管理、資源使用、failover來說都不是一件好事。

I ncreasingToUpperBoundRegionSplitPolicy : 0.94版本~2.0版本默認切分策略。這種切分策略微微有些復雜,總體來看和ConstantSizeRegionSplitPolicy思路相同,一個region中***store大小大于設置閾值就會觸發切分。但是這個閾值并不像ConstantSizeRegionSplitPolicy是一個固定的值,而是會在一定條件下不斷調整,調整規則和region所屬表在當前regionserver上的region個數有關系 :(#regions) * (#regions) * (#regions) * flush size * 2,當然閾值并不會***增大,***值為用戶設置的MaxRegionFileSize。這種切分策略很好的彌補了ConstantSizeRegionSplitPolicy的短板,能夠自適應大表和小表。而且在大集群條件下對于很多大表來說表現很優秀,但并不***,這種策略下很多小表會在大集群中產生大量小region,分散在整個集群中。而且在發生region遷移時也可能會觸發region分裂。

SteppingSplitPolicy: 2.0版本默認切分策略。這種切分策略的切分閾值又發生了變化,相比 IncreasingToUpperBoundRegionSplitPolicy 簡單了一些,依然和待分裂region所屬表在當前regionserver上的region個數有關系,如果region個數等于1,切分閾值為flush size * 2,否則為MaxRegionFileSize。這種切分策略對于大集群中的大表、小表會比 IncreasingToUpperBoundRegionSplitPolicy 更加友好,小表不會再產生大量的小region,而是適可而止。

另外,還有一些其他分裂策略,比如使用DisableSplitPolicy:可以禁止region發生分裂;而KeyPrefixRegionSplitPolicy,DelimitedKeyPrefixRegionSplitPolicy對于切分策略依然依據默認切分策略,但對于切分點有自己的看法,比如KeyPrefixRegionSplitPolicy要求必須讓相同的PrefixKey待在一個region中。

在用法上,一般情況下使用默認切分策略即可,也可以在cf級別設置region切分策略,命令為:

  1. create ’table’, {NAME => ‘cf’, SPLIT_POLICY => ‘org.apache.hadoop.hbase.regionserver. ConstantSizeRegionSplitPolicy'} 

Region切分準備工作-尋找SplitPoint

region切分策略會觸發region切分,切分開始之后的***件事是尋找切分點-splitpoint。所有默認切分策略,無論是ConstantSizeRegionSplitPolicy、 IncreasingToUpperBoundRegionSplitPolicy 抑或是SteppingSplitPolicy,對于切分點的定義都是一致的。當然,用戶手動執行切分時是可以指定切分點進行切分的,這里并不討論這種情況。

那切分點是如何定位的呢? 整個region中***store中的***文件中最中心的一個block的***rowkey 。這是一句比較消耗腦力的語句,需要細細品味。另外,HBase還規定,如果定位到的rowkey是整個文件的***rowkey或者***一個rowkey的話,就認為沒有切分點。

什么情況下會出現沒有切分點的場景呢?最常見的就是一個文件只有一個block,執行split的時候就會發現無法切分。很多新同學在測試split的時候往往都是新建一張新表,然后往新表中插入幾條數據并執行一下flush,再執行split,奇跡般地發現數據表并沒有真正執行切分。原因就在這里,這個時候仔細的話你翻看debug日志是可以看到這樣的日志滴:

HBase原理–所有Region切分的細節都在這里了

Region核心切分流程

HBase將整個切分過程包裝成了一個事務,意圖能夠保證切分事務的原子性。整個分裂事務過程分為三個階段:prepare – execute – (rollback) ,操作模版如下:

HBase原理–所有Region切分的細節都在這里了

  • prepare階段:在內存中初始化兩個子region,具體是生成兩個HRegionInfo對象,包含tableName、regionName、startkey、endkey等。同時會生成一個transaction journal,這個對象用來記錄切分的進展,具體見rollback階段。
  • execute階段:切分的核心操作。見下圖(來自 Hortonworks ):

HBase原理–所有Region切分的細節都在這里了

  1. regionserver 更改ZK節點 /region-in-transition 中該region的狀態為SPLITING。
  2. master通過watch節點/region-in-transition檢測到region狀態改變,并修改內存中region的狀態,在master頁面RIT模塊就可以看到region執行split的狀態信息。
  3. 在父存儲目錄下新建臨時文件夾.split保存split后的daughter region信息。
  4. 關閉parent region:parent region關閉數據寫入并觸發flush操作,將寫入region的數據全部持久化到磁盤。此后短時間內客戶端落在父region上的請求都會拋出異常NotServingRegionException。
  5. 核心分裂步驟:在.split文件夾下新建兩個子文件夾,稱之為daughter A、daughter B,并在文件夾中生成reference文件,分別指向父region中對應文件。這個步驟是所有步驟中最核心的一個環節,生成reference文件日志如下所示:
  1. 2017-08-12 11:53:38,158 DEBUG [StoreOpener-0155388346c3c919d3f05d7188e885e0-1] regionserver.StoreFileInfo: reference 'hdfs://hdfscluster/hbase-rsgroup/data/default/music/0155388346c3c919d3f05d7188e885e0/cf/d24415c4fb44427b8f698143e5c4d9dc.00bb6239169411e4d0ecb6ddfdbacf66' to region=00bb6239169411e4d0ecb6ddfdbacf66 hfile=d24415c4fb44427b8f698143e5c4d9dc。 

其中reference文件名為d24415c4fb44427b8f698143e5c4d9dc.00bb6239169411e4d0ecb6ddfdbacf66,格式看起來比較特殊,那這種文件名具體什么含義呢?那來看看該reference文件指向的父region文件,根據日志可以看到,切分的父region是00bb6239169411e4d0ecb6ddfdbacf66,對應的切分文件是d24415c4fb44427b8f698143e5c4d9dc,可見reference文件名是個信息量很大的命名方式,如下所示:

HBase原理–所有Region切分的細節都在這里了

除此之外,還需要關注reference文件的文件內容,reference文件是一個引用文件(并非linux鏈接文件),文件內容很顯然不是用戶數據。文件內容其實非常簡單,主要有兩部分構成:其一是切分點 splitkey,其二是一個boolean類型的變量(true或者false),true表示該reference文件引用的是父文件的上半部分(top),而false表示引用的是下半部分 (bottom)。為什么存儲的是這兩部分內容?且聽下文分解。

看官可以使用hadoop命令 親自來查看reference文件的具體內容:

  1. hadoop dfs -cat /hbase-rsgroup/data/default/music/0155388346c3c919d3f05d7188e885e0/cf/d24415c4fb44427b8f698143e5c4d9dc.00bb6239169411e4d0ecb6ddfdbacf66 

6. 父region分裂為兩個子region后, 將daughter A、daughter B拷貝到HBase根目錄下,形成兩個新的region。

7. parent region通知修改 hbase.meta 表后下線,不再提供服務。下線后parent region在meta表中的信息并不會馬上刪除,而是標注split列、offline列為true,并記錄兩個子region。為什么不立馬刪除?且聽下文分解。

HBase原理–所有Region切分的細節都在這里了

8. 開啟daughter A、daughter B兩個子region。通知修改 hbase.meta 表,正式對外提供服務。

HBase原理–所有Region切分的細節都在這里了

rollback階段:如果execute階段出現異常,則執行rollback操作。為了實現回滾,整個切分過程被分為很多子階段,回滾程序會根據當前進展到哪個子階段清理對應的垃圾數據。代碼中使用 JournalEntryType 來表征各個子階段,具體見下圖:

HBase原理–所有Region切分的細節都在這里了

Region切分事務性保證

整個region切分是一個比較復雜的過程,涉及到父region中HFile文件的切分、兩個子region的生成、系統meta元數據的更改等很多子步驟,因此必須保證整個切分過程的事務性,即要么切分完全成功,要么切分完全未開始,在任何情況下也不能出現切分只完成一半的情況。

為了實現事務性,hbase設計了使用狀態機(見SplitTransaction類)的方式保存切分過程中的每個子步驟狀態,這樣一旦出現異常,系統可以根據當前所處的狀態決定是否回滾,以及如何回滾。遺憾的是,目前實現中這些中間狀態都只存儲在內存中,因此一旦在切分過程中出現regionserver宕機的情況,有可能會出現切分處于中間狀態的情況,也就是RIT狀態。這種情況下需要使用hbck工具進行具體查看并分析解決方案。在2.0版本之后,HBase實現了新的分布式事務框架Procedure V2(HBASE-12439),新框架將會使用HLog存儲這種單機事務(DDL操作、Split操作、Move操作等)的中間狀態,因此可以保證即使在事務執行過程中參與者發生了宕機,依然可以使用HLog作為協調者對事務進行回滾操作或者重試提交,大大減少甚至杜絕RIT現象。這也是是2.0在可用性方面最值得期待的一個亮點!!!

Region切分對其他模塊的影響

通過region切分流程的了解,我們知道整個region切分過程并沒有涉及數據的移動,所以切分成本本身并不是很高,可以很快完成。切分后子region的文件實際沒有任何用戶數據,文件中存儲的僅是一些元數據信息-切分點rowkey等,那通過引用文件如何查找數據呢?子region的數據實際在什么時候完成真正遷移?數據遷移完成之后父region什么時候會被刪掉?

1. 通過reference文件如何查找數據?

這里就會看到reference文件名、文件內容的實際意義啦。整個流程如下圖所示:

HBase原理–所有Region切分的細節都在這里了

(1)根據reference文件名(region名+真實文件名)定位到真實數據所在文件路徑

(2)定位到真實數據文件就可以在整個文件中掃描待查KV了么?非也。因為reference文件通常都只引用了數據文件的一半數據,以切分點為界,要么上半部分文件數據,要么下半部分數據。那到底哪部分數據?切分點又是哪個點?還記得上文又提到reference文件的文件內容吧,沒錯,就記錄在文件中。

2. 父region的數據什么時候會遷移到子region目錄?

答案是子region發生major_compaction時。我們知道compaction的執行實際上是將store中所有小文件一個KV一個KV從小到大讀出來之后再順序寫入一個大文件,完成之后再將小文件刪掉,因此compaction本身就需要讀取并寫入大量數據。子region執行major_compaction后會將父目錄中屬于該子region的所有數據讀出來并寫入子region目錄數據文件中。可見將數據遷移放到compaction這個階段來做,是一件順便的事。

3. 父region什么時候會被刪除?

實際上HMaster會啟動一個線程定期遍歷檢查所有處于splitting狀態的父region,確定檢查父region是否可以被清理。檢測線程首先會在meta表中揪出所有split列為true的region,并加載出其分裂后生成的兩個子region(meta表中splitA列和splitB列), 只需要檢查此兩個子region是否還存在引用文件,如果都不存在引用文件就可以認為該父region對應的文件可以被刪除。現在再來看看上文中父目錄在meta表中的信息,就大概可以理解為什么會存儲這些信息了:

 

 

HBase原理–所有Region切分的細節都在這里了

4. split模塊在生產線的一些坑?

有些時候會有同學反饋說集群中部分region處于長時間RIT,region狀態為spliting。通常情況下都會建議使用hbck看下什么報錯,然后再根據hbck提供的一些工具進行修復,hbck提供了部分命令對處于split狀態的rit region進行修復,主要的命令如下:

 

  1. -fixSplitParents  Try to force offline split parents to be online. 
  2.   -removeParents    Try to offline and sideline lingering parents and keep daughter regions. 
  3.   -fixReferenceFiles  Try to offline lingering reference store files 

其中最常見的問題是 :

  1. ERROR: Found lingering reference file hdfs://mycluster/hbase/news_user_actions/3b3ae24c65fc5094bc2acfebaa7a56de/meta/0f47cda55fa44cf9aa2599079894aed6.b7b3faab86527b88a92f2a248a54d3dc” 

簡單解釋一下,這個錯誤是說reference文件所引用的父region文件不存在了,如果查看日志的話有可能看到如下異常:

  1. java.io.IOException: java.io.IOException: java.io.FileNotFoundException: File does not exist:/hbase/news_user_actions/b7b3faab86527b88a92f2a248a54d3dc/meta/0f47cda55fa44cf9aa2599079894aed 

父region文件為什么會莫名其妙不存在?經過和朋友的討論,確認有可能是因為官方bug導致,詳見HBASE-13331。這個jira是說HMaster在確認父目錄是否可以被刪除時,如果檢查引用文件(檢查是否存在、檢查是否可以正常打開)拋出IOException異常,函數就會返回沒有引用文件,導致父region被刪掉。正常情況下應該保險起見返回存在引用文件,保留父region,并打印日志手工介入查看。如果大家也遇到類似的問題,可以看看這個問題,也可以將修復patch打到線上版本或者升級版本。

責任編輯:未麗燕 來源: 有態度的HBase
相關推薦

2017-12-08 10:42:49

HBase切分細節

2016-05-20 11:26:54

客戶端優化 直播推流

2016-05-20 11:14:55

內容緩存 傳輸策略優

2017-09-19 14:55:27

Android字體修改

2016-05-12 14:54:39

UCloud

2016-05-16 12:08:08

UCloud 直播云

2016-05-16 14:00:39

UCloud 直播云

2025-05-16 09:34:10

2017-10-24 14:57:58

AI人工智能機器學習

2018-03-19 14:43:28

2019-11-04 09:07:48

DevOps互聯網IT

2023-12-11 21:59:01

時序分析深度學習自回歸模型

2021-10-06 16:21:32

類型對象Typescript

2019-12-04 07:57:22

6G5G網絡

2019-07-21 08:10:21

技術研發優化

2022-03-02 10:36:37

Linux性能優化

2025-09-16 09:05:00

2017-02-24 12:29:20

Android Thi開發板硬件

2018-11-28 10:39:01

5G網絡運營商

2024-07-02 11:16:21

點贊
收藏

51CTO技術棧公眾號

91麻豆精品成人一区二区| 性刺激的欧美三级视频| 中文字幕avav| 日本高清成人vr专区| 成人午夜av电影| 日韩免费av片在线观看| 国产精品视频一区二区在线观看| 色综合视频一区二区三区日韩 | 国产精品www爽爽爽| 国产精品麻豆| 在线免费不卡电影| 国产成人艳妇aa视频在线 | 久久激情五月丁香伊人| 性色av蜜臀av浪潮av老女人| 国产欧美在线观看免费| 图片区小说区国产精品视频| 亚洲一区二区精品在线观看| 色呦呦中文字幕| 精品影视av免费| 亲爱的老师9免费观看全集电视剧| 欧美丰满熟妇bbbbbb| 国产成人3p视频免费观看| 日韩欧美成人激情| 亚洲老女人av| 波多视频一区| 亚洲一区二区黄色| 一区二区三区欧美成人| 嫩草精品影院| 丁香六月久久综合狠狠色| 国产精品中文在线| 日本丰满少妇做爰爽爽| 亚洲精品日本| 久久99青青精品免费观看| 国精产品一区一区| 精品一区二区三区在线| 精品亚洲夜色av98在线观看| 国产精品亚洲一区二区无码| 电影一区二区三区久久免费观看| 色www精品视频在线观看| 免费看欧美黑人毛片| 国产原创视频在线观看| 国产精品久久久久精k8| 日韩欧美精品在线不卡| 青青久在线视频| 成人激情av网| 好吊色欧美一区二区三区四区| 精品久久久久中文慕人妻| 久久国产精品无码网站| 国产精品一区二区久久久| 久久久久久在线观看| 国产精品日韩久久久| 97婷婷大伊香蕉精品视频| 九九九免费视频| 综合av在线| 久久这里有精品| 国产一二三区精品| 欧美福利电影在线观看| 久久在线精品视频| 欧美精品一区二区蜜桃| 狠狠入ady亚洲精品经典电影| 欧美激情xxxxx| 国产精品50页| 一区二区三区四区五区精品视频 | 亚洲欧美精品suv| 欧美bbbbb性bbbbb视频| 亚洲精品蜜桃乱晃| 国产亚洲免费的视频看| 天天干天天操天天拍| 99九九热只有国产精品| 欧美老少做受xxxx高潮| 久久精品欧美一区二区| 国产视频一区在线观看一区免费| 欧美亚洲视频在线看网址| 加勒比在线一区| 麻豆免费看一区二区三区| 亚洲一区二区三区四区视频| www香蕉视频| 91一区二区在线观看| 日本午夜精品一区二区| 国产二区三区在线| 亚洲aⅴ怡春院| 看欧美ab黄色大片视频免费 | xxxx在线视频| 一本到不卡精品视频在线观看| 中文字幕网av| 91蜜桃臀久久一区二区| 亚洲男人天堂古典| 熟女av一区二区| 在线国产欧美| 国产精品吹潮在线观看| 国产成年妇视频| 久久品道一品道久久精品| 亚洲一区二区三区欧美| av中文字幕电影在线看| 欧美视频一区二区在线观看| 性生交大片免费看l| 中文字幕av一区二区三区人| 日韩在线观看免费av| 精品91久久久| 国产综合成人久久大片91| aa成人免费视频| 国产黄色片在线播放| 一区二区三区加勒比av| 粉嫩虎白女毛片人体| 日韩中文字幕视频网| 亚洲色图国产精品| 国产一级做a爰片在线看免费| 日韩av中文字幕一区二区| 999国内精品视频在线| 不卡在线视频| 精品久久中文字幕久久av| 男人午夜视频在线观看| 国产欧美日韩精品高清二区综合区| 麻豆国产精品va在线观看不卡| 伊人手机在线视频| 国产成人丝袜美腿| 一区二区三视频| 羞羞影院欧美| 日韩av网站大全| 清纯粉嫩极品夜夜嗨av| 久久精品国产精品亚洲精品| 鲁丝一区鲁丝二区鲁丝三区| 男男gaygays亚洲| 欧美群妇大交群的观看方式| 在线免费观看日韩av| 黄色精品网站| 亚洲综合在线中文字幕| 午夜视频在线看| 91电影在线观看| 国产特级黄色录像| 亚洲美女一区| 97人人干人人| 欧洲中文在线| 日韩欧美激情在线| 久久久精品视频免费观看| 蜜臀精品一区二区三区在线观看| 日本免费高清一区二区| 绿色成人影院| 日韩精品免费在线视频观看| 国产无套粉嫩白浆内谢| 顶级嫩模精品视频在线看| 欧美日韩中文字幕在线播放 | 痴汉一区二区三区| 18视频在线观看网站| 777欧美精品| 色偷偷www8888| 国产揄拍国内精品对白| 国产又爽又黄ai换脸| 亚洲伊人伊成久久人综合网| www.色综合| 国产情侣激情自拍| 亚洲乱码中文字幕| 成人免费黄色av| 欧美午夜一区| 精品伦精品一区二区三区视频 | 狠狠躁夜夜躁人人爽超碰91| 影音先锋黄色资源| 性欧美精品高清| 视频一区三区| 精品国产不卡一区二区| 欧美日韩福利电影| 午夜成人免费影院| 色婷婷精品大在线视频| 黄色av片三级三级三级免费看| 精品一区二区三区在线观看| 色哟哟免费网站| 国产+成+人+亚洲欧洲在线 | 精品自拍视频| 久久久999精品| 亚洲精品字幕在线观看| 欧美色图在线视频| 国产91丝袜美女在线播放| 激情综合亚洲精品| 国产欧美一区二区三区视频 | 国产成人啪免费观看软件| 日韩精品一区二区在线视频| 久久99偷拍| 国产精品电影观看| 91高清在线观看视频| 亚洲精品久久久一区二区三区| 加勒比在线一区| 一个色在线综合| 蜜桃无码一区二区三区| 国产一区二区三区在线观看精品| 秋霞无码一区二区| 日韩精品一卡| 国产一区再线| 青娱乐极品盛宴一区二区| 欧美极品少妇xxxxx| 久久精品蜜桃| 日韩视频一区二区三区| 中文在线第一页| 亚洲视频综合在线| 亚洲自拍偷拍一区二区| 国产精品一区在线观看你懂的| 18岁网站在线观看| 天天操夜夜操国产精品| 精品国产乱码久久久久久久软件| 韩国精品视频在线观看 | 日韩人妻精品一区二区三区| 久久视频在线观看| 成人午夜一级二级三级| 一本大道色婷婷在线| 欧美成人午夜剧场免费观看| 久香视频在线观看| 精品久久一区二区| 97超碰人人草| 久久久久久久久久久久久久久99| 欧美一级视频在线| 久久最新视频| 国产69精品久久久久久久| 婷婷精品进入| 五月天久久狠狠| 日韩电影在线观看完整免费观看| 亚洲一区二区三区毛片| 欧美爱爱视频| 国产精品va在线播放我和闺蜜| eeuss鲁一区二区三区| 久久五月天综合| 一本色道久久hezyo无码| 2019年精品视频自拍| 久久久久久有精品国产| 国产黄色在线免费观看| 在线播放国产一区中文字幕剧情欧美 | 777a∨成人精品桃花网| 国产主播第一页| 日韩欧美高清视频| 日本亚洲欧美在线| 亚洲影院理伦片| 99成人在线观看| 亚洲国产精品二十页| 在线免费观看麻豆| 99re这里只有精品首页| 国产大学生视频| 岛国av在线一区| 中文字幕18页| 国产91色综合久久免费分享| 中文字幕人妻无码系列第三区| 美女国产一区二区| 538在线视频观看| 秋霞午夜av一区二区三区| 少妇高清精品毛片在线视频| 欧美综合二区| 日本va中文字幕| 日本午夜精品视频在线观看 | 国产黄人亚洲片| 91亚洲一区二区| 国产伦精一区二区三区| 亚洲精品无码久久久久久久| 国产一区二区三区国产| 亚洲欧美日韩一二三区| 国产福利一区二区三区| 黑森林av导航| 91丨九色丨蝌蚪丨老版| 欧美做受喷浆在线观看| 91老师国产黑色丝袜在线| 成人精品999| 亚洲国产激情av| 久久精品一区二区三区四区五区| ...中文天堂在线一区| 农村黄色一级片| 亚洲国产一区视频| 久久精品国产成人av| 91成人免费在线视频| 一区二区三区精彩视频| 日韩视频免费观看高清完整版在线观看 | 欧日韩免费视频| 美女尤物久久精品| 日韩一区二区三区久久| 国产精品一区二区果冻传媒| 少妇熟女视频一区二区三区| 粉嫩嫩av羞羞动漫久久久 | 禁断一区二区三区在线| 五月天亚洲综合小说网| 亚洲激情五月| 免费无遮挡无码永久视频| 日本不卡123| 69久久精品无码一区二区| www.欧美色图| 一级二级黄色片| 亚洲国产美女搞黄色| 蜜臀精品一区二区三区| 91精品综合久久久久久| 天堂网av在线播放| 北条麻妃在线一区二区| 不卡专区在线| 91精品国产综合久久男男| 国产精品极品在线观看| 亚洲国产日韩欧美| 影音先锋久久资源网| 欧美三级理论片| 成人网在线免费视频| 国产传媒在线看| 五月婷婷久久丁香| 国产又粗又黄又爽的视频| 日韩电影网在线| 91精品久久久久久粉嫩| 国产精品黄视频| 久久午夜影院| 在线免费观看成人| 久久人人超碰| 91超薄肉色丝袜交足高跟凉鞋| 欧美高清一级片在线观看| 日本午夜精品理论片a级app发布| 欧美精品日韩一本| 美女做暖暖视频免费在线观看全部网址91 | 一区二区三区短视频| 亚洲a级在线播放观看| 精品一区欧美| 三上悠亚久久精品| 国产精品996| 欧美性猛交xxxx乱大交少妇| 日韩欧美国产黄色| 色噜噜在线播放| 久久99国产精品自在自在app| 国产福利亚洲| 色一情一乱一伦一区二区三欧美| 亚洲精品欧美| 91传媒理伦片在线观看| 亚洲欧美激情视频在线观看一区二区三区 | 一区二区电影| 男生操女生视频在线观看| 亚洲影视在线| 中文字幕99页| 亚洲精品国产一区二区精华液| 在线观看xxxx| 国产亚洲欧美另类中文| 韩国成人漫画| 欧美国产一区二区在线| 亚洲精品欧美| 丝袜熟女一区二区三区| 亚洲资源中文字幕| 99在线无码精品入口| 久久韩剧网电视剧| 亚洲国产精选| www亚洲国产| 韩国欧美国产1区| 性欧美疯狂猛交69hd| 欧美日本高清视频在线观看| 国产免费av高清在线| 国产激情久久久久| 精品99久久| 一级特黄性色生活片| 国产日韩欧美a| 高潮无码精品色欲av午夜福利| 亚洲欧洲一区二区三区久久| 最新欧美色图| 亚洲成人第一| 美国欧美日韩国产在线播放| 性少妇xx生活| 91精品国产欧美一区二区| 国产三区在线观看| 99视频日韩| 日韩视频免费| 爱爱免费小视频| 在线观看不卡一区| 日本在线看片免费人成视1000| 成人免费福利视频| 欧美日韩成人| xxxxxx黄色| 在线观看视频91| 久久综合网导航| julia一区二区中文久久94| 一区二区三区国产盗摄| 国产jk精品白丝av在线观看| 欧美视频在线观看一区二区| 麻豆tv免费在线观看| 成人在线免费网站| 亚洲专区一区二区三区| x88av在线| 欧美一区二区精品| 男人久久天堂| 亚洲视频导航| 高清不卡一区二区在线| 欧美激情黑白配| 精品国产美女在线| 粉嫩一区二区三区四区公司1| www.爱色av.com| 国产精品久久久久久久久图文区 | 亚洲视频精品在线| 欧美大陆国产| 草草视频在线免费观看| 久久久久国产精品麻豆ai换脸| 一区二区久久精品66国产精品 | 一本色道久久综合狠狠躁篇的优点| 日韩城人网站| 人妻少妇精品无码专区二区| 国产日韩精品一区二区浪潮av| 国产模特av私拍大尺度| 欧美亚洲另类激情另类| 亚洲xxx拳头交| 在线观看国产网站| 欧美一区二区国产| 性欧美1819sex性高清| 三上悠亚免费在线观看| 久久久蜜桃精品| 午夜精品一二三区| 国产精品jizz在线观看麻豆| 欧美日韩一视频区二区| 嘿嘿视频在线观看|