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

HBase Meta 元信息表修復實踐

大數據 數據庫
HBase是一款開源高可靠、高可擴展性、高性能的分布式非關系型數據庫,廣泛應用于大數據處理、實時計算、數據存儲和檢索等領域。在分布式集群中,硬件故障是一種常態,硬件故障可能導致節點或者集群級別服務中斷、meta表損壞、RIT、Region空洞、重疊等問題,如何快速修復故障恢復業務尤其重要,本文章主要是圍繞HBase meta表常見的故障以及對應解決方案進行描述。

一、背景

相信做過HBase開發、運維相關工作的朋友多多少少都有這樣感受,HBase作為分布式非關系型數據庫中的佼佼者不僅穩定、性能高、安裝擴容等運維也非常簡單,但是HBase缺乏成熟監控系統對故障排查極不友好。如果缺乏對HBase全面了解在應對日常故障經常束手無策,小編們作為運維大大小小20+個HBase集群涉及1.x~2.x等版本,經歷過meta表損壞無法正常上線、Region重疊、Region空洞、權限丟失等線上問題毒打,也帶著各種各樣問題從HBase源碼中尋求正確答案,本文是小編們多次故障中總結出的meta表常見解決方案。

二、HBase meta 元信息表

HBase meta表又稱為catalog表是一張特殊的HBase表,它存儲了HBase集群所有Region和其對應的RegionServer信息,元信息表的數據正確性對于HBase集群的正常運行至關重要,因此需要保證元信息表的數據正確是集群穩定運行的必要條件。如果meta表出現數據不一致將會導致RIT(Region In Transition)甚至出現由于HMaster 無法正常初始化導致集群無法正常啟動,由此可見meta表在HBase集群中重要性,下面我們圍繞meta表結構、數據格式、啟動流程進行解析它(本文主要圍繞HBase 2.4.8版本,也會穿插HBase 1.x版本)。

2.1 meta 表結構

meta表主要包括info、table、rep_barrier三個列族分別記錄Region信息、表狀態:

圖片

2.2 meta 表加載流程

通過上述meta表結構我們對該表有一個整體認識,做過HBase運維的朋友相信都有這種經驗有一些集群啟動比較快、有一些集群啟動比較慢,甚至有時候由于操作不當集群重啟時候一直卡在meta表加載無法繼續執行后續流程。如果我們對meta表加載流程有一個整體了解之后我們將對每一個集群啟動時間多多少少都有一個心理預期,以下是meta表加載相關流程:

圖片

通過以上meta表加載流程圖我們很好找到為什么有一些集群啟動比較慢、有一些集群啟動失敗原因了,下面我們針對兩類場景進行分析:

集群啟動慢:

通常新集群或者表數量比較少集群往往啟動速度比較快,表數量比較多的集群往往啟動相對慢很多,甚至有一些集群啟動HMaster需要15~30分鐘,有時候集群啟動時間比較長讓人不免懷疑是不是集群出現問題了,為什么那么長時間無法進入正常狀態呢?在整個加載流程中出現兩個耗時比較長地方。

預加載所有表描述符:需要把HBase數據目錄全部掃描一遍并解析出.tabledesc目錄下面數據文件存放HMaster 內存中,如果表數量比較多(超過10000張表)這一過程往往需要十來分鐘,如果我們看HMaster 頁面出現“Pre-loading table descriptors”字樣時說明該集群處于預加載階段我們只需耐心等待即可,因為還沒有到meta表加載階段。

上線業務表Region:meta表數據大小通常在幾十M到幾百M之間Region打開時間比較快(秒級),集群啟動階段需要檢查并上線Offline Region,如果想加快打開速度可以適當調整hbase.master.executor.openregion.threads(默認值為5)值。

集群啟動失敗:

meta表上線失?。?/strong>當default資源組的HRegionServer掛掉之后,重啟后機器的startcode變化之后,meta的數據分片找不到打開節點,導致集群啟動失敗。

三、如何修復 meta 表

由于HBase集群狀態主要是通過meta表去維護,如果meta表出現了損壞或錯誤,將會導致HBase集群的不可用和面臨數據丟失風險。我們知道meta表數據一致性非常重要那么什么情況會出現數據不一致呢?(HBase 2.4.8修復命令參考hbase-operator-tools工具)。

  • RegionServer宕機或異常:當RegionServer宕機或異常時,meta表中存儲的Region和RegionServer信息可能會出現錯誤或丟失。
  • 數據損壞或錯誤:當meta表中的數據損壞或錯誤時,可能會導致HBase集群的不可用和數據丟失。
  • 非法操作:當對meta表進行非法操作時,例如刪除或修改meta表中的數據,可能會導致meta表出現錯誤或丟失。

meta表故障只是一直比較籠統的說法,我們可以根據類型可以大致分為長時間RIT、Region空洞、Region重疊、表描述文件丟失、meta表hdfs路徑為空、meta表數據丟失等,下面我分別對這些類型故障進行分析并進行修復:

3.1 RIT

RIT(Region In Transition)是指HBase集群中正在進行狀態轉換,以下操作都會引起HBase集群中Region的狀態發生變化,例如RegionServer宕機、Region正在進行拆分、合并等操作,Region狀態主要是包括以下十二種狀態以及轉化圖:

圖片


圖片


為了更加清晰Region狀態裝換我們根據操作類型可以分為assign、unassign、split、merge,如果操作過程出現RegionServer宕機或異常、數據損壞或錯誤都會出現RIT,RIT雖然是在HBase運維中經常遇見的問題,但是如果清楚底層邏輯將會比較容易處理RIT問題,HBase集群都具備RIT修復能力大部分情況都不需要手工介入都能正?;謴?,出現長時間RIT才需要人工介入處理,那什么是長時間RIT?為什么會出現長時間RIT呢?

如果用過HBase 1.x和HBase 2.x版本明顯感覺HBase 2.x比較少出現RIT,其實Region的操作主要是通過AssignmentManager類進行Region轉移,對比兩個版本代碼我們發現hbase.assignment.maximum.attempts參數(assign重試次數)在兩個版本的默認值不一樣,HBase 2.4.8重試次數為最大整數Integer.MAX_VALUE(而HBase 1.x中該值默認為10),這就是為什么在HBase 2.x中比較少出現長時間RIT原因。

圖片

RIT處理方法:

  1. 建刪大表都會出現RIT主要是由于Region數量比較多集群壓力比較大導致assign、unassign響應時間過長導致,針對這類問題一般不需要人工介入HBase可以自愈。
  2. 如果集群版本為1.x可以適當調整hbase.assignment.maximum.attempts值增加重試次數,如FAILED_OPEN、FAILED_CLOSE通常都可以自愈,或者手工執行assign命令一個個Region分配上線(如果Region比較多切換HMaster 修復)。
  3. 如果出現Region分配失敗,不存在RegionServer時候,手工assign都沒辦法恢復,如Region被分配到bogus.example.com,1,1節點只能通過切換HMaster 恢復。

問題思考:

為什么Region手工介入都不能正常上線切換HMaster 就能恢復呢?(參考HMaster 啟動流程TransitRegionStateProcedure、HMaster 類源碼)

3.2 Region 空洞

我們創建HBase表時如果細心去分析Region規律會奇怪發現Region startkey和endkey屬于左閉右開的連續區間,如果突然這些區間少了一塊(如下圖)將會出現什么問題呢?

圖片

出現上面情況就是我們常說的Region出現空洞,如果用HBase hbck工具檢查會看到這樣錯誤信息ERROR: There is a hole in the region chain between 01 and 02.  You need to create a new .regioninfo and region dir in hdfs to plug the hole,HBase集群出現空洞往往是沒辦法自愈需要人工干預才能恢復正常,既然我們知道少了一個Region我們如果把空白區間的Region補回去不就可以了嗎?正常做法是先把空白的Region補充回去,并檢查meta表信息是否正確,最后再上線Region,如果這一系列操作都通過手工去實現不僅僅容易出錯操作時間也很長,下面分別介紹一下不同版本HBase修復方法,其實不同版本處理方法雖然有一點差異但是處理流程都一樣。

圖片

Region空洞處理方法:

(1)HBase 1.x修復方法  

  1. HBase hbck –fixHdfsHoles:在hdfs上創建空Region文件路徑
  2. HBase hbck -fixMeta:修復該Region所在meta表數據
  3. HBase hbck –fixAssignments:上線修復之后Region
  4. 或者HBase hbck –repairHoles相當于(fixHdfsHoles、fixMeta、fixAssignments)幾個組合起來

(2)HBase 2.4.8修復方法(參考后面hbase-operator-tools工具)

由于HBase 2.4.8沒有提供相關的命令去添加Region目錄操作方面相對麻煩一點,其實HBase 2.4.8里面很多工具類都提供創建Region方法,hbase-server-2.4.8-test包中HBaseTestingUtility類都提供了操作Region相關的入口,下面我們的解決方法主要是圍繞該方法進行恢復。

  1. extraRegionsInMeta -fix:首先把meta表中hdfs目錄不存在記錄先刪除
  2. HBaseTestingUtility.createLocalHRegion:創建hdfs文件路徑保證Region連續性
  3. addFsRegionsMissingInMeta:再往meta表添加新建Region信息(添加成功之后會返還Region id
  4. assigns:最后把新加入Region上線

3.3 Region 重疊

既然Region會出現空洞那么會不會存在這種情況,相同的startkey、endkey出現多個呢?答案是肯定的如果多個Region startkey、endkey是一樣的Region,那么我們將這種情況稱作Region重疊。Region重疊在HBase中比較難模擬同時也是比較難處理的一種問題。如果我們做hbck檢查時候出現這種日志ERROR: Multiple regions have the same startkey: 02

圖片

另外一種重疊Region跟相鄰的分片其中一個或兩個的rowkey范圍有交集,這類問題統稱overlap問題,針對這個比較難的場景我們通過自研工具模擬overlap問題復現并一鍵修復overlap(折疊)和hole(空洞)問題。

overlap問題模擬功能

Region重疊問題實際就是兩個不同Region,rowkey的范圍有交集,比如Region01的startkey和endkey是(01,03),同時另外一個Region02的范圍是(01,02),這樣兩個Region出現了交集(01,02),hbck檢測就會報overlap問題。

重疊問題在生產環境只有在Region分裂和機器同時掛掉情況下,才會出現overlap問題,出現條件比較苛刻,復現問題比較困難,能夠復現問題對后續修復和故障演練都很重要,overlap問題復現原理:

圖片

overlap 問題復現

1)生成一個rowkey范圍重疊的Region分片:

java -jar -Drepair.tableName=migrate:test_hole2 -Dfix.operator=createRegion -DRegion.startkey=06 -DRegion.endkey=07   hbase-meta-tool-0.0.1.jar

2) 將overlap問題Region移動到表目錄下:

sudo -uhdfs hdfs dfs -mv /tmp/.tmp/data/migrate/test_hole2/c8662e08f6ae705237e390029161f58f /hbase/data/migrate/test_hole2

圖片

3) 刪除正常的表migrate:test_hole2的meta表信息:

java -jar -Drepair.tableName=migrate:test_hole2 -Dfix.operator=delete  hbase-meta-tool-0.0.1.jar

4)重構overlap問題表元數據信息:

java -jar -Drepair.tableName=migrate:test_hole2 -Dfix.operator=fixFromHdfs  hbase-meta-tool-0.0.1.jar

5) 重啟集群后hbck報告Region重疊c8662e08f6ae705237e390029161f58f,成功復現重疊問題

圖片

方法一:一鍵修復overlap(重疊)和hole(空洞)

適用于折疊數量不超過64個情況下,利用自研工具 hbase-meta-tool可以將相鄰Region有rowkey交集的范圍合并,有空洞缺失范圍生成新的Region,這樣就能修復問題,問題修復原理如圖:

圖片

1)修復集群的重疊與空洞問題:

java -jar  -Dfix.operator= fixOverlapAndHole hbase-meta-tool-0.0.1.jar

方法二:大規模折疊修復

適用大規模折疊超過幾千個或者上萬個情況修復服務器端報異常,采取一下修復手段

1)一鍵清除有折疊問題表的元數據:

java -jar -Drepair.tableName=migrate:test1 -Dzookeeper.address=zkAddress -Dfix.operator=delete     hbase-meta-tool-0.0.1.jar

2)備份原始表數據:

hdfs dfs -mv /hbase/data/migrate/test/ /back

3)刪除原始表和導入備份數據每個Region分片:

hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles /back/test/region01-regionN  migrate:test1

3.4 meta 表數據修復

HBase線上集群我們可能會遇到下面棘手問題:

  • coprocessor配置錯誤的表,找不到協處理器路徑,加載Region過程中找不到jar,導致集群反復掛掉,drop命令也刪除不掉;
  • HBase meta表元數錯誤,startcode不對,上線過程中找不到服務器的表,表始終不能上線。

我們要在保證不影響集群其他表服務的情況下,單獨不停服修復問題表。

問題表的meta數據修復

1)假設表migrate:test1有問題,可以一鍵刪除問題表元數據:

java -jar -Drepair.tableName=migrate:test1 -Dfix.operator=delete  hbase-meta-tool-0.0.1.jar

2)讀取hdfs表的.regioninfo文件夾內容,一鍵重構正確的元數據:

java -jar -Drepair.tableName=migrate:test1 -Dfix.operator=fixFromHdfs  hbase-meta-tool-0.0.1.jar

3.5 meta 損壞

上述5種情況都是在meta表正常上線的前提下面修復,如果meta表數據損壞無法上線我們應該怎么修復呢?通常我們都會想到重建meta表再把Region信息寫入meta表,如果集群處于下線狀態HBase shell或者HBase api通常是無法執行create建表。

我們分析meta表初始化類InitMetaProcedure發現meta表創建流程大致分兩步走:

1)創建Region目錄已經.tabledesc文件

 2)分配Region并上線。

InitMetaProcedure核心源碼:

InitMetaProcedure

protected Flow executeFromState(MasterProcedureEnv env, InitMetaState state) throws ProcedureSuspendedException, ProcedureYieldException, InterruptedException {
    try {
      switch (state) {
        case INIT_META_WRITE_FS_LAYOUT:
          Configuration conf = env.getMasterConfiguration();
          Path rootDir = CommonFSUtils.getRootDir(conf);
          TableDescriptor td = writeFsLayout(rootDir, conf);
          env.getMasterServices().getTableDescriptors().update(td, true);
          setNextState(InitMetaState.INIT_META_ASSIGN_META);
          return Flow.HAS_MORE_STATE;
        case INIT_META_ASSIGN_META:
          addChildProcedure(env.getAssignmentManager().createAssignProcedures(Arrays.asList(RegionInfoBuilder.FIRST_META_RegionINFO)));
          return Flow.NO_MORE_STATE;
        default:
          throw new UnsupportedOperationException("unhandled state=" + state);
      }
    } catch (IOException e) {
}
private static TableDescriptor writeFsLayout(Path rootDir, Configuration conf) throws IOException {
    LOG.info("BOOTSTRAP: creating hbase:meta region");
    FileSystem fs = rootDir.getFileSystem(conf);
    Path tableDir = CommonFSUtils.getTableDir(rootDir, TableName.META_TABLE_NAME);
    if (fs.exists(tableDir) && !fs.delete(tableDir, true)) {
      LOG.warn("Can not delete partial created meta table, continue...");
    }
    TableDescriptor metaDescriptor = FSTableDescriptors.tryUpdateAndGetMetaTableDescriptor(conf, fs, rootDir);
    HRegion.createHRegion(RegionInfoBuilder.FIRST_META_RegionINFO, rootDir, conf, metaDescriptor, null).close();
    return metaDescriptor;
}

我們可以參照InitMetaProcedure代碼邏輯編寫相應工具進行建表上線操作,meta表上線之后我們只需要把每張表Region信息寫入meta并對所有Region進行assign上線即可恢復集群正常狀態。通過以上流程我們發現meta表修復流程也并非那么復雜,但是如果生產環境表數量比較多或者個別大表Region數成千上萬那么手工添加就變的非常耗時,我們下面介紹一直相對比較簡單的解決方法(HBase 1.x hbck工具、HBase 2.x hbase-operator-tools),下面我們看一下離線修復處理流程。

圖片

HBase 1.x修復方法 

  • 停止HBase集群
  • sudo -u hbase hbase org.apache.hadoop.hbase.
    util.hbck.OfflineMetaRepair -fix
  • 重啟集群完成修復。

HBase 2.4.8修復方法(hbase-operator-tools工具)

1)根據hdfs路徑自動生成meta表

  • 停止HBase集群
  • sudo -u hbase hbase org.apache.hbase.
    hbck1.OfflineMetaRepair -fix
  • 重啟集群完成修復。

2)單表修復方法

  • 刪除zookeeper中HBase根目錄
  • 刪除HMaster 、RegionServer所在hdfs WALs目錄
  • 重啟集群此時meta沒有數據,集群無法進入正常狀態
  • 執行添加Region命令把hbase:namespace、hbase:quota、hbase:rsgroup、hbase:acl四字表添加到集群,添加完成之后日志將會打印assigns后面跟隨這幾張表的Region,需要記錄下這些Region以便下一步assign操作。
sudo -u hbase hbase --config /etc/hbase/conf hbck -j hbase-tools.jar addFsRegionsMissingInMeta hbase:namespace hbase:quota hbase:rsgroup hbase:acl
  • 把上一步添加打印Region上線
sudo -u hbase hbase --config /etc/hbase/conf hbck -j  hbase-hbck2.jar assigns regionid
  • 業務表上線(只需要重復4-5步驟把業務表逐步上線)

注意事項

(如果業務表Region比較多第5不assign不能把Region全部上線成功,需要把表現disable再enable就可以正常上線)

備注:hbase-operator-tools OfflineMetaRepair工具存在以下幾個bug需要修復。

1、HBaseFsck createNewMeta方法創建meta表缺少.tabledesc文件

修改前:

TableDescriptor td = new FSTableDescriptors(getConf()).get(TableName.META_TABLE_NAME);

修改后:

FileSystem fs = rootdir.getFileSystem(conf);
TableDescriptor metaDescriptor = FSTableDescriptors.tryUpdateAndGetMetaTableDescriptor(getConf(), fs, rootdir);

2、HBaseFsck generatePuts默認Region狀態為CLOSED因為HMaster 重啟時候只上線OFFLINE狀態Region(如果為CLOSED需要手工一個個Region上線工作量非常龐大)

修改前:

addRegionStateToPut(p, org.apache.hadoop.hbase.master.RegionState.State.CLOSED);

修改后:

addRegionStateToPut(p, org.apache.hadoop.hbase.master.RegionState.State.OFFLINE);

缺點

1)離線修復需要停止集群服務,停止時長根據修復時間而定(大概在10-15分鐘左右)。

2)如果其中存在Region重疊、空洞等問題需要手工處理完成再執行OfflineMetaRepair離線修復命令。

四、hbase-operator-tools工具

hbase-operator-tools是HBase中的一組工具,用于協助HBase管理員管理和維護HBase集群。hbase-operator-tools提供了一系列工具,包括備份和恢復工具、Region管理工具、數據壓縮和移動工具等,可以幫助管理員更好地管理HBase集群,提高集群的穩定性和可靠性。需要編譯源碼之后才可以使用,源碼git地址。常見命令如下:

圖片


五、總結

HBase meta表的數據正確性對于HBase集群的正常運行至關重要,如何保證meta表數據正確以及數據損壞之后快速修復變的極為重要,如果對meta沒有全面認識每次集群出現故障將會措手無策。本文主要是圍繞meta表結構加載流程、常見問題以及相關的修復方法分析,針對以上修復方法我們可以粗略分為以下兩大類:

  • 在線修復:meta表可以正常通過hbck、自研工具進行meta表數據修復保證數據完整性。
  • 離線修復:meta表無法正常上線根據hdfs中Region信息重構meta表恢復HBase服務。

如果集群規模比較大離線修復時間比較長集群需要長時間停止服務,大部分情況業務是不能容忍可以結合實際情況進行表級別修復(除非meta表文件損壞不能正常上線),建議定時對集群做hbck檢查一旦出現元信息不一致情況盡快修復避免問題擴散(如元信已經錯亂做集群重啟錯亂Region將會由于assign失敗導致其他Region無法正常上線),如果定時巡檢發現有業務表出現元信息錯亂情況直接重meta表把該表信息刪除并根據根據hdfs路徑信息重新把Region加回meta表(addFsRegions-

MissingInMeta命令可以根據hdfs路徑把Region正確添加到meta表)。

參考文章:

責任編輯:龐桂玉 來源: vivo互聯網技術
相關推薦

2018-05-03 10:00:23

HBase運維數據

2022-04-26 23:35:52

元宇宙Meta數據隱私

2022-02-24 12:46:03

3D元宇宙AI

2022-02-28 14:54:40

FacebookMeta元宇宙

2021-11-05 11:01:47

人工智能元宇宙面部識別

2022-05-09 10:53:31

虛擬元宇宙

2023-02-13 08:01:56

2017-05-03 13:50:38

2016-11-17 09:00:46

HBase優化策略

2017-03-01 20:53:56

HBase實踐

2017-01-17 10:25:06

HBase集群運維

2009-02-02 13:16:23

修復數據表MySQL

2021-10-29 16:22:52

Facebook元宇宙虛擬環境

2022-08-16 21:10:03

RobloxMeta元宇宙

2022-07-28 14:22:50

元宇宙AI

2023-04-08 14:18:19

2010-06-03 14:08:56

Hadoop創建Hba

2022-07-21 08:03:15

云安全漏洞修復

2015-05-27 11:31:32

Apache HBas信息泄漏漏洞
點贊
收藏

51CTO技術棧公眾號

动漫性做爰视频| 久久久久久久久网| 国产精品51麻豆cm传媒 | 国产乱子伦精品| 国产五月天婷婷| av中文字幕一区二区| 91精品国产色综合久久| 黄色动漫在线免费看| 日本视频在线| 99视频有精品| 成人精品一区二区三区电影黑人| 日韩免费不卡视频| 日本高清免费电影一区| 亚洲大胆人体视频| www.久久久久久久久久久| 国产理论在线| 亚洲欧美另类综合偷拍| 日本中文不卡| 亚洲女人18毛片水真多| 久久精品国产**网站演员| 午夜免费在线观看精品视频| 青青草华人在线视频| 欧美一级色片| 精品国产91久久久久久久妲己 | 国产另类ts人妖一区二区| 国产v综合ⅴ日韩v欧美大片| 久久免费在线观看视频| 久久中文字幕二区| 亚洲欧美激情精品一区二区| 在线播放第一页| 日本欧美在线| 欧美主播一区二区三区| 国产二级片在线观看| 八戒八戒神马在线电影| 欧美激情在线免费观看| 久久偷窥视频| 手机av免费在线观看| 国产精品正在播放| 国产日韩欧美视频在线| 国产午夜无码视频在线观看| 国产精品老牛| 高清欧美电影在线| 免费一级片视频| 综合五月婷婷| 久久影院资源网| 国产第一页精品| 日韩电影免费在线观看| 一区二区欧美亚洲| 色呦呦一区二区| 精品日产乱码久久久久久仙踪林| 日韩欧美国产综合一区| 中文国产在线观看| 996久久国产精品线观看| 精品污污网站免费看| 99精品视频播放| 粉嫩一区二区| 欧美优质美女网站| 69久久久久久| 久久久久久久性潮| 91精品久久久久久久91蜜桃| 国产精品v日韩精品v在线观看| 福利一区和二区| 欧美精品在线观看一区二区| 香蕉视频999| 日韩欧美激情电影| 亚洲国产91色在线| 久久久亚洲av波多野结衣| 精品在线手机视频| 一本色道久久综合亚洲精品小说| 日本午夜精品视频| 这里只有精品在线| 午夜精品久久久久久久99黑人 | 91亚洲精品视频| 99在线观看免费| 成人亚洲精品久久久久软件| 久久国产一区| 成人一区二区不卡免费| 亚洲视频网在线直播| 国产精品久久久久久久久电影网| av在线资源| 色诱亚洲精品久久久久久| 国产精品一区二区羞羞答答| 成人污污视频| 亚洲精品久久久久中文字幕欢迎你| 91黄色免费视频| 成人激情诱惑| 欧美激情精品久久久久久蜜臀| 日韩伦人妻无码| 日本最新不卡在线| 99精彩视频在线观看免费| 神马午夜电影一区二区三区在线观看 | 日本欧美高清| 在线国产精品播放| 久草视频免费播放| 手机精品视频在线观看| 91国产在线免费观看| 国产精品国产高清国产| 国产精品不卡在线观看| 激情伊人五月天| 欧美国产视频| 日韩成人av在线播放| 99精品中文字幕| 99精品视频免费观看| 国产精品丝袜久久久久久高清 | 中文字幕一区二区三区乱码| 9999热视频在线观看| 色88888久久久久久影院按摩 | 成人在线视频国产| 国产婷婷色综合av蜜臀av| 亚洲天堂网av在线| 视频一区二区不卡| 国产伦精品一区二区三区四区视频| 久草福利在线视频| 亚洲一级在线观看| 国产精品区在线| 国产精品欧美在线观看| 欧美俄罗斯性视频| 一级特黄aa大片| 久久这里只有精品6| av 日韩 人妻 黑人 综合 无码| 欧美色片在线观看| 亚洲精品国精品久久99热一| 高h视频免费观看| 日韩电影免费在线看| 精品久久久久久亚洲| 青春草视频在线观看| 欧美精品九九99久久| 蜜乳av中文字幕| 免费在线欧美黄色| 国产一区二区中文字幕免费看| 乱人伦中文视频在线| 欧洲色大大久久| 五月婷婷综合在线观看| 欧美女人交a| 91蜜桃网站免费观看| 成人影欧美片| 欧美久久久影院| 国精产品一区一区| 日本一不卡视频| 日韩av影视| 欧美香蕉视频| 亚洲欧美精品一区二区| 亚洲另类在线观看| 2014亚洲片线观看视频免费| 无码中文字幕色专区| 国产精品久久久网站| 欧美激情精品久久久| 丰满少妇一级片| 亚洲国产精品一区二区尤物区| 中文字幕人妻熟女人妻a片| 在线看片不卡| 成人欧美视频在线| 国产盗摄精品一区二区酒店| 亚洲成人1234| 中文字幕在线观看免费视频| 成人v精品蜜桃久久一区| 无码av天堂一区二区三区| 国产精品99久久免费观看| 久久久免费精品| 日日夜夜精品免费| 欧美午夜激情视频| 亚洲av成人无码久久精品| 久久精品久久综合| 久久久久亚洲av无码专区喷水| 粉嫩av国产一区二区三区| 色综合视频网站| 天天干视频在线| 91福利精品视频| 亚洲熟女毛茸茸| 国产成人aaa| 午夜免费福利小电影| 怕怕欧美视频免费大全| 国产精品一区二区三区久久| 国产盗摄在线观看| 精品国产凹凸成av人导航| 久草手机在线视频| 国产精品护士白丝一区av| 视频区 图片区 小说区| 亚洲理论在线| 色就是色欧美| 久久国产精品免费一区二区三区| 欧美精品videosex牲欧美| 神马亚洲视频| 欧美精品三级在线观看| 久久久久久久久久久久久久免费看 | 精品国产中文字幕第一页| 91精品视频在线| av剧情在线观看| 色婷婷成人综合| 秋霞视频一区二区| 欧美日韩精品二区第二页| 免费一级特黄特色大片| 国产无人区一区二区三区| 天天av天天操| 日日骚欧美日韩| 日本精品福利视频| 成人在线亚洲| 国内精品久久国产| 亚洲色图综合| 日本久久久久久久| 天堂8中文在线| 在线观看欧美www| 天堂在线视频免费观看| 欧美丝袜丝交足nylons| 日本一级黄色录像| 中文字幕佐山爱一区二区免费| 久久久久成人精品无码中文字幕| 美女一区二区三区在线观看| av免费观看大全| 91精品综合| 日本精品一区二区三区不卡无字幕| 日韩激情精品| 国产精品视频播放| 中文在线最新版地址| 欧美日韩xxx| h狠狠躁死你h高h| 国产最新视频在线| 思思99re6国产在线播放| 色的视频在线免费看| 97人人爽人人澡人人精品| 欧洲激情一区二区| 欧美人妻精品一区二区免费看| 久久先锋影音av| 久久久久亚洲av成人网人人软件| 麻豆一区二区在线| 欧美性大战久久久久xxx| 国产在线欧美| 青青草免费在线视频观看| blacked蜜桃精品一区| 久久综合久久久| 精品少妇3p| 国产激情一区二区三区在线观看 | 99在线小视频| 欧美日韩你懂的| 真实的国产乱xxxx在线91| 欧美性xxxxxxx| 国产精品xxxx喷水欧美| 亚洲国产精品一区二区久久 | 少妇被狂c下部羞羞漫画| 国产在线一区二区综合免费视频| 国产91色在线观看| 麻豆成人免费电影| 亚洲精品一二三四五区| 日韩高清电影一区| 牛夜精品久久久久久久| 青青草伊人久久| 啊啊啊国产视频| 美女网站一区二区| 欧美成人乱码一二三四区免费| 日韩精品一二三| 色七七在线观看| 日韩激情视频在线观看| 免费午夜视频在线观看| 三级影片在线观看欧美日韩一区二区| 日本不卡在线观看视频| 久久久噜噜噜久久狠狠50岁| 白嫩少妇丰满一区二区| 三级欧美在线一区| 在线观看的毛片| 男男视频亚洲欧美| 91aaa精品| 国产精品99久久久| 性囗交免费视频观看| 91女神在线视频| 午夜在线观看一区| 国产精品国产三级国产aⅴ中文 | 波多野结衣在线免费观看| 国产一区二区三区免费观看| 特级特黄刘亦菲aaa级| 91亚洲精品一区二区乱码| 国产真实乱人偷精品人妻| 欧美国产精品中文字幕| 一区二区国产精品精华液| 亚洲线精品一区二区三区八戒| 日韩久久久久久久久| 欧美曰成人黄网| 国产免费叼嘿网站免费| 亚洲福利精品在线| 蜜桃成人在线视频| 久久精品成人欧美大片古装| 丰乳肥臀在线| 国产高清在线不卡| 视频一区视频二区欧美| 国语精品免费视频| 欧美一级本道电影免费专区| 欧美一区二区三区综合| 性色一区二区三区| 亚洲一级片av| 99精品在线免费| 国产精品一区二区亚洲| 亚洲一区二区三区小说| 国产无遮挡又黄又爽又色视频| 91麻豆精品国产自产在线观看一区 | 一道本在线观看| 亚洲欧美一区二区三区孕妇| 91精品国产乱码久久久张津瑜| 欧美日韩国产首页在线观看| 亚洲第一天堂网| 一区二区三区视频观看| 免费网站在线观看人| 国产精品九九久久久久久久| 91麻豆精品激情在线观看最新| 日本午夜精品一区二区| 欧美日韩亚洲一区三区| 成人午夜激情av| 99精品黄色片免费大全| 精品人妻伦九区久久aaa片| 色悠久久久久综合欧美99| av中文字幕免费| 在线播放国产一区二区三区| av资源在线播放| 成人精品视频在线| 欧美理论在线播放| 777777av| 成人综合在线视频| 亚洲综合图片一区| 欧美亚洲国产一区二区三区va | 4444在线观看| 日韩二区三区四区| 久久久久久久久免费看无码| 一区二区三区四区在线免费观看| a片在线免费观看| 国产午夜精品理论片a级探花| 七七成人影院| 91精品国自产在线观看| 久久看人人摘| 日韩一级片播放| 久久影院午夜片一区| 日本三级欧美三级| 精品女同一区二区| 大片免费在线看视频| 国产日韩av在线| 日韩欧美视频在线播放| 日韩欧美精品在线观看视频| 99re热视频这里只精品| 国产成人愉拍精品久久| 精品国产一区二区三区不卡| av网址在线| 亚洲一区二区在线| 91tv精品福利国产在线观看| 日韩va在线观看| 国产精品高潮呻吟| 一区二区三区www污污污网站| 国产一区二区三区四区福利| 美女18一级毛片一品久道久久综合| 久久99精品国产一区二区三区| 亚洲国产午夜| 你懂的在线观看网站| 天天综合色天天综合色h| 欧美性猛交 xxxx| 久久久久久国产精品久久| 永久免费精品视频| 久久国产精品网| 99精品视频一区二区三区| 国产精品免费av一区二区| 日韩av最新在线| 忘忧草在线日韩www影院| 欧美日韩成人一区二区三区| 老妇喷水一区二区三区| 日本成人免费视频| 欧美性欧美巨大黑白大战| 午夜激情视频在线| 成人伊人精品色xxxx视频| 欧美视频网站| 国产 xxxx| 色婷婷精品久久二区二区蜜臀av | 久久久久久日产精品| 337p粉嫩色噜噜噜大肥臀| 色综合伊人色综合网| 国产人与zoxxxx另类91| www.夜夜爱| 99re热这里只有精品免费视频 | av电影在线地址| 欧美精品一区在线| 老色鬼精品视频在线观看播放| 亚洲色图综合区| 亚洲第一中文字幕在线观看| 欧美极品免费| 7777在线视频| 不卡的av在线播放| 在线观看亚洲黄色| 美女久久久久久久久久久| 豆花视频一区二区| 免费观看成人在线视频| 亚洲色图清纯唯美| 少妇av在线播放| 国产精自产拍久久久久久| 国产精品草草| 欧美日韩中文字幕视频| 日韩一级成人av| 欧美专区福利免费| 日本黄xxxxxxxxx100| 久久久久久久综合| www.黄色小说.com| 国产精品成人av在线| 欧美国产高潮xxxx1819| a天堂中文字幕| 精品乱人伦小说| 久久亚洲精品中文字幕| 精品人妻少妇一区二区|