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

HBase Region自動切分的所有細節都在這里了

大數據
這篇文章將會對這些細節進行基本的說明,一方面可以讓大家對HBase中Region自動切分有更加深入的理解,另一方面如果想實現類似的功能也可以參考HBase的實現方案。

[[212616]]

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

Region切分觸發策略

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

ConstantSizeRegionSplitPolicy:0.94版本前默認切分策略。這是最容易理解但也最容易產生誤解的切分策略,從字面意思來看,當region大小大于某個閾值(hbase.hregion.max.filesize)之后就會觸發切分,實際上并不是這樣,真正實現中這個閾值是對于某個store來說的,即一個region中最大store的大小大于設置閾值之后才會觸發切分。

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

IncreasingToUpperBoundRegionSplitPolicy: 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日志是可以看到這樣的日志滴:

Region核心切分流程

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

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

execute階段:切分的核心操作。見下圖(來自Hortonworks):

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文件日志如下所示:

其中reference文件名為

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

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

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

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

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

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

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

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文件名、文件內容的實際意義啦。整個流程如下圖所示:

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

定位到真實數據文件就可以在整個文件中掃描待查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表中的信息,就大概可以理解為什么會存儲這些信息了:

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

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

其中最常見的問題是 :

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

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

 

責任編輯:武曉燕 來源: 36大數據
相關推薦

2017-08-28 16:40:07

Region切分觸發策略

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福利在线观看视频| 日本少妇高潮喷水xxxxxxx| 欧美女同一区| 久久伊99综合婷婷久久伊| 国产成人一区二区| 黑鬼狂亚洲人videos| 黑人久久a级毛片免费观看| 福利视频第一区| 在线码字幕一区| 欧美在线 | 亚洲| 青青青爽久久午夜综合久久午夜| 欧美日韩国产在线播放网站| 91传媒免费视频| 国产二区视频在线观看| 国产aⅴ综合色| 国产精品麻豆va在线播放| 麻豆疯狂做受xxxx高潮视频| 精品国产aⅴ| 亚洲成色999久久网站| 国产日韩欧美久久| 成年人国产在线观看| 国产精品美女一区二区三区| 国产欧美日韩综合一区在线观看| 一区二区三区免费高清视频| 欧洲乱码伦视频免费| 亚洲精品久久久久久下一站| 亚洲国产综合av| 全球最大av网站久久| 亚洲福利一二三区| 新呦u视频一区二区| 日韩在线视频观看免费| 国产在线视视频有精品| 国产盗摄xxxx视频xxx69| 欧美成人精品欧美一级乱黄| 午夜精品久久| 久久精品国产亚洲一区二区| 69视频在线观看免费| 日韩人体视频| 日韩福利在线播放| 一级黄色免费视频| 日韩三级网址| 欧美一区二区在线免费观看| 久久久国产欧美| 韩日成人影院| 一本色道**综合亚洲精品蜜桃冫 | 白嫩亚洲一区二区三区| 精品毛片三在线观看| 国产日本在线播放| 免费看电影在线| 夜夜嗨av一区二区三区四季av| 久久精品国产第一区二区三区最新章节 | 亚洲国产av一区二区| 精品在线免费视频| 国产精品日日摸夜夜添夜夜av| 国产精品 欧美激情| 亚洲一区二区日韩| 欧美成人第一页| 欧美三级日本三级| 欧美日韩中文| 午夜精品久久久久久久久久久久| 在线观看国产网站| 巨人精品**| 国产午夜精品理论片a级探花| 日日干夜夜操s8| 成人黄色毛片| 欧美欧美欧美欧美首页| 性欧美在线视频| 美女久久精品| 亚洲第一精品夜夜躁人人爽| 五月婷婷综合在线观看| 精品日韩在线| 久久九九免费视频| 精品欧美一区二区久久久久| 欧美午夜免费影院| 2019中文字幕免费视频| 波多野结衣一二区| 国产一区二区三区在线观看免费视频 | 91精品国产欧美一区二区18| 欧美性猛交xx| 日韩av网站在线免费观看| 亚洲日韩第一页| 亚洲人做受高潮| 国产精品99一区二区| 国模私拍一区二区三区| 波多野结衣一区二区三区在线 | 欧美亚洲国产视频| 久久精品视频5| 激情综合网最新| 激情五月综合色婷婷一区二区| 国产美女精品视频国产| 成人动漫一区二区三区| 日韩一区二区电影在线观看| 成人av福利| 亚洲国产一区二区视频| 国产理论在线播放| 中文在线综合| 中文字幕日韩高清| www.天天色| 久久国产日韩欧美精品| 久久99精品国产99久久| 日本视频不卡| 欧美日韩亚洲系列| 男女视频在线观看网站| 蜜臀av免费一区二区三区 | 成年人视频免费在线观看| 亚洲欧美二区三区| 99福利在线观看| 精品视频一区二区三区| 日韩毛片在线看| 婷婷在线精品视频| 日韩国产精品大片| 国产精品一 二 三| 免费看a在线观看| 色系网站成人免费| 国产一线在线观看| 国产精品久久久久蜜臀 | 亚洲高清视频在线观看| 丰满大乳少妇在线观看网站| 欧美日韩精品高清| 在线观看福利片| 136国产福利精品导航网址| 国产主播欧美精品| 国产小视频在线观看| 五月天激情综合| 波多野吉衣在线视频| 四虎国产精品免费观看| 欧洲一区二区视频| 五月天婷婷视频| 亚洲乱码国产乱码精品精可以看| 国产手机免费视频| 精品精品视频| 久久av在线看| 99热这里只有精品9| 国产精品欧美极品| 欧美精品aaaa| 国产成人影院| 77777亚洲午夜久久多人| 黄色一级a毛片| 亚洲一区二区三区激情| 伦伦影院午夜理论片| 午夜免费一区| 91在线视频免费| 国产在线更新| 91精品国产入口在线| 中文字幕人妻一区二| 久久精品国产99| 一区二区视频在线播放| 国产精品久久久久77777丨| 一区二区三区 在线观看视| 在线视频一区二区三区四区| 久久这里只有精品6| 国产性xxxx18免费观看视频| 国产99亚洲| 国产精品久久视频| 岛国在线大片| 7878成人国产在线观看| 永久免费看mv网站入口| 国产一区二区三区日韩| 日本国产中文字幕| 精品淫伦v久久水蜜桃| 91av在线免费观看视频| 日批视频在线播放| 欧美性xxxxxx| 国产探花视频在线播放| 麻豆一区二区在线| 伊人久久在线观看| 欧美交a欧美精品喷水| 国产成人精品av| 欧美另类极品| 欧美成人女星排行榜| 少妇一级淫片免费放中国| 久久精品夜色噜噜亚洲a∨| 天堂中文视频在线| 亚洲一区二区| 蜜桃传媒视频第一区入口在线看| 一二三四区在线观看| 精品国产一二三| 亚洲一区欧美在线| 久久亚洲欧美国产精品乐播| 亚洲人辣妹窥探嘘嘘| 欧美日韩18| 欧美日韩国产不卡在线看| 日韩福利在线观看| 国产69精品99久久久久久宅男| 99re只有精品| 欧美日韩国内自拍| 开心激情五月网| av一区二区三区四区| 国产福利影院在线观看| 欧美高清不卡| 色播五月综合| 一区二区免费| 国产精品免费一区二区三区都可以| 日本护士...精品国| 欧美精品日韩精品| 超碰中文字幕在线| 亚洲精品欧美在线| 亚洲av无码国产精品麻豆天美| 国产精品婷婷| 精品国产三级a∨在线| 网红女主播少妇精品视频| 成人免费在线视频网站| 日韩在线伦理| 欧美成人午夜剧场免费观看| 麻豆国产在线播放| 精品美女在线观看| 亚洲天堂中文网| 天天色综合成人网| 卡通动漫亚洲综合| 国产午夜精品福利| 精品视频站长推荐| 国产suv精品一区二区883| 在线观看免费成人av| 99国产一区| 欧美极品少妇无套实战| 四虎成人精品永久免费av九九| 成人福利网站在线观看| 九色porny自拍视频在线播放| 亚洲人成电影网站色…| 精品人妻一区二区三区蜜桃| 欧美日韩一二区| 亚洲欧美另类在线视频| 亚洲国产一区二区三区 | 亚洲精品亚洲人成在线观看| 91在线视频成人| 国产999精品在线观看| 国产精品人人做人人爽| 欧美性xxx| 国产999在线| 亚洲最新无码中文字幕久久| 国外成人在线直播| 暧暧视频在线免费观看| 欧美精品电影在线| 日本在线视频网址| 欧美乱大交做爰xxxⅹ性3| 好吊日视频在线观看| 精品国产一区二区三区久久久| 国 产 黄 色 大 片| 欧美一级黄色录像| 国产黄色片免费观看| 4438x亚洲最大成人网| 91国偷自产中文字幕久久| 欧美色涩在线第一页| 中文字幕日本人妻久久久免费| 国产精品乱人伦一区二区| 奇米777在线视频| 国产精品一区二区久久精品爱涩| 日日碰狠狠添天天爽超碰97| 亚洲国产综合在线看不卡| 久久99中文字幕| 99在线|亚洲一区二区| 免费不卡av在线| 香蕉久久夜色精品国产| 欧美精品第三页| 日本不卡中文字幕| 中文字幕1234区| 国产麻豆一精品一av一免费| 美女被艹视频网站| 从欧美一区二区三区| 熟女人妻在线视频| 久久免费看少妇高潮| 亚洲一二三精品| 亚洲视频在线一区| 国产第100页| 欧美午夜精品久久久久久久| 日本精品入口免费视频| 欧美日韩国产一区二区三区地区| 欧美日韩一二三四区| 在线免费视频一区二区| 中文字幕精品在线观看| 日韩一区二区视频| 亚洲色图欧美视频| 亚洲一级一级97网| 在线观看小视频| 26uuu国产精品视频| 91大神在线观看线路一区| 亚洲a在线观看| 日韩母乳在线| 成年人免费观看的视频| 激情视频一区| 男人女人黄一级| 国产成人精品在线看| 我和岳m愉情xxxⅹ视频| 国产精品久久久久久亚洲毛片| 精品无码人妻一区二区免费蜜桃 | 欧美福利第一页| 亚洲人成在线播放网站岛国| 日韩精品成人一区| 欧美视频一区在线| 六月丁香色婷婷| 色av中文字幕一区| 女厕盗摄一区二区三区| 成人精品久久久| 午夜精品福利影院| 一本大道东京热无码aⅴ| 久久精品人人做人人爽电影蜜月| 婷婷五月综合缴情在线视频| 欧美a级理论片| 91九色蝌蚪porny| 国产精品视频看| 国产成人自拍视频在线| 91麻豆精品国产91久久久使用方法| 国产永久免费视频| 日韩激情第一页| 国产在线激情| 国产精品96久久久久久| 狠狠一区二区三区| 中文字幕第50页| 视频一区视频二区中文| 污污免费在线观看| 136国产福利精品导航| 无码人妻av一区二区三区波多野| 在线精品视频一区二区| 黄色一级大片在线免费看国产| 亚洲精品www| 色呦呦在线播放| 国产在线精品自拍| 欧美精选一区二区三区| 成人在线观看你懂的| 国产成人aaa| 五月婷婷一区二区| 欧美日本一区二区三区| 国产乱视频在线观看| 欧美中文在线观看国产| 成人爽a毛片免费啪啪红桃视频| 麻豆一区区三区四区产品精品蜜桃| 欧美影院天天5g天天爽| 成人午夜免费在线视频| 国产在线精品免费| 男人晚上看的视频| 欧美午夜电影一区| av黄色在线观看| 国产精品色午夜在线观看| 色综合中文网| 日韩中文字幕二区| 国产视频一区二区三区在线观看| 懂色av懂色av粉嫩av| 欧美精品第一页| 久草免费在线| 亚洲综合在线小说| 欧美黄色一区| 韩国三级视频在线观看| 亚洲成人综合视频| 人人妻人人澡人人爽精品日本| 亚洲人成电影在线观看天堂色| 麻豆影视在线观看_| 国产精品久久二区| 久久免费精品视频在这里| 美女在线视频一区二区| 国产精品欧美精品| 99热这里只有精| 久久久久久久久久久亚洲| 成午夜精品一区二区三区软件| 亚洲国产日韩美| 久久99精品久久久久久国产越南| 在线免费播放av| 欧美日韩一区二区免费在线观看| 国产乱码精品一区二三区蜜臂| 亚洲黄色av女优在线观看| 欧美a级在线观看| 日本一区二区三不卡| 麻豆精品精品国产自在97香蕉 | 农村少妇一区二区三区四区五区| 亚洲欧美久久234| 激情成人午夜视频| 国产乱国产乱老熟300| 亚洲福利在线观看| 香蕉视频亚洲一级| 国产对白在线播放| 国产成人在线看| 亚洲欧美偷拍一区| www.日韩系列| 韩国精品福利一区二区三区| 日日碰狠狠躁久久躁婷婷| 国产精品成人免费在线| 亚洲精品久久久久久无码色欲四季| 日韩在线资源网| 91亚洲无吗| 男女曰b免费视频| 亚洲欧美在线视频观看| 免费激情视频网站| 国产精品久久久999| 欧美一区综合| 久久精品视频18| 欧美大片国产精品| 欧美日韩视频网站| 国产资源第一页| 久久日一线二线三线suv| 99热这里只有精品在线| 欧洲成人性视频| 综合久久婷婷| 中国女人特级毛片| 精品少妇一区二区| 国产在线|日韩| 国产美女在线一区| 亚洲欧美在线aaa| 国产在线黄色| 岛国视频一区免费观看| 蜜桃视频一区二区三区 | 97久久视频|