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

MapReduce操作HBase錯誤一例

數據庫 大數據
操作HBase時經常會遇到MasterNotRunningException的錯誤,那我們該如何處理這樣的錯誤呢?

運行HBase時常會遇到個錯誤,我就有這樣的經歷。

ERROR: org.apache.hadoop.hbase.MasterNotRunningException: Retried 7 times

檢查日志:org.apache.hadoop.ipc.RPC$VersionMismatch: Protocol org.apache.hadoop.hdfs.protocol.ClientProtocol version mismatch. (client = 42, server = 41)

如果是這個錯誤,說明RPC協議不一致所造成的,解決方法:將hbase/lib目錄下的hadoop-core的jar文件刪除,將hadoop目錄下的hadoop-0.20.2-core.jar拷貝到hbase/lib下面,然后重新啟動hbase即可。第二種錯誤是:沒有啟動hadoop,先啟用hadoop,再啟用hbase。

在Eclipse開發中,需要加入hadoop所有的jar包以及HBase二個jar包(hbase,zooKooper)。

HBase基礎可見帖子:http://www.cnblogs.com/liqizhou/archive/2012/05/14/2499112.html

建表,通過HBaseAdmin類中的create靜態方法來創建表。

HTable類是操作表,例如,靜態方法put可以插入數據,該類初始化時可以傳遞一個行鍵,靜態方法getScanner()可以獲得某一列上的所有數據,返回Result類,Result類中有個靜態方法getFamilyMap()可以獲得以列名為key,值為value,這剛好與hadoop中map結果是一樣的。

  1. package test;  
  2. import java.io.IOException;  
  3. import java.util.Map;  
  4. import org.apache.hadoop.conf.Configuration;  
  5. import org.apache.hadoop.hbase.HBaseConfiguration;  
  6. import org.apache.hadoop.hbase.HColumnDescriptor;  
  7. import org.apache.hadoop.hbase.HTableDescriptor;  
  8. import org.apache.hadoop.hbase.client.HBaseAdmin;  
  9. import org.apache.hadoop.hbase.client.HTable;  
  10. import org.apache.hadoop.hbase.client.Put;  
  11. import org.apache.hadoop.hbase.client.Result;  
  12.  
  13. public class Htable {  
  14.  
  15.     /**  
  16.      * @param args  
  17.      */ 
  18.     public static void main(String[] args) throws IOException {  
  19.         // TODO Auto-generated method stub  
  20.         Configuration hbaseConf = HBaseConfiguration.create();  
  21.         HBaseAdmin admin = new HBaseAdmin(hbaseConf);  
  22.         HTableDescriptor htableDescriptor = new HTableDescriptor("table" 
  23.                 .getBytes());  //set the name of table  
  24.         htableDescriptor.addFamily(new HColumnDescriptor("fam1")); //set the name of column clusters  
  25.         admin.createTable(htableDescriptor); //create a table   
  26.         HTable table = new HTable(hbaseConf, "table"); //get instance of table.  
  27.         for (int i = 0; i < 3; i++) {   //for is number of rows  
  28.             Put putRow = new Put(("row" + i).getBytes()); //the ith row  
  29.             putRow.add("fam1".getBytes(), "col1".getBytes(), "vaule1" 
  30.                     .getBytes());  //set the name of column and value.  
  31.             putRow.add("fam1".getBytes(), "col2".getBytes(), "vaule2" 
  32.                     .getBytes());  
  33.             putRow.add("fam1".getBytes(), "col3".getBytes(), "vaule3" 
  34.                     .getBytes());  
  35.             table.put(putRow);  
  36.         }  
  37.         for(Result result: table.getScanner("fam1".getBytes())){//get data of column clusters   
  38.             for(Map.Entry<byte[], byte[]> entry : result.getFamilyMap("fam1".getBytes()).entrySet()){//get collection of result  
  39.                 String column = new String(entry.getKey());  
  40.                 String value = new String(entry.getValue());  
  41.                 System.out.println(column+","+value);  
  42.             }  
  43.         }  
  44.         admin.disableTable("table".getBytes()); //disable the table  
  45.         admin.deleteTable("table".getBytes());  //drop the tbale  
  46.     }  

以上代碼不難看懂。

下面介紹一下,用mapreduce怎樣操作HBase,主要對HBase中的數據進行讀取。

現在有一些大的文件,需要存入HBase中,其思想是先把文件傳到HDFS上,利用map階段讀取<key,value>對,可在reduce把這些鍵值對上傳到HBase中。

  1. package test;  
  2. import java.io.IOException;  
  3. import java.util.Map;  
  4. import org.apache.hadoop.conf.Configuration;  
  5. import org.apache.hadoop.hbase.HBaseConfiguration;  
  6. import org.apache.hadoop.hbase.HColumnDescriptor;  
  7. import org.apache.hadoop.hbase.HTableDescriptor;  
  8. import org.apache.hadoop.hbase.client.HBaseAdmin;  
  9. import org.apache.hadoop.hbase.client.HTable;  
  10. import org.apache.hadoop.hbase.client.Put;  
  11. import org.apache.hadoop.hbase.client.Result;  
  12.  
  13. public class Htable {  
  14.  
  15.     /**  
  16.      * @param args  
  17.      */ 
  18.     public static void main(String[] args) throws IOException {  
  19.         // TODO Auto-generated method stub  
  20.         Configuration hbaseConf = HBaseConfiguration.create();  
  21.         HBaseAdmin admin = new HBaseAdmin(hbaseConf);  
  22.         HTableDescriptor htableDescriptor = new HTableDescriptor("table" 
  23.                 .getBytes());  //set the name of table  
  24.         htableDescriptor.addFamily(new HColumnDescriptor("fam1")); //set the name of column clusters  
  25.         admin.createTable(htableDescriptor); //create a table   
  26.         HTable table = new HTable(hbaseConf, "table"); //get instance of table.  
  27.         for (int i = 0; i < 3; i++) {   //for is number of rows  
  28.             Put putRow = new Put(("row" + i).getBytes()); //the ith row  
  29.             putRow.add("fam1".getBytes(), "col1".getBytes(), "vaule1" 
  30.                     .getBytes());  //set the name of column and value.  
  31.             putRow.add("fam1".getBytes(), "col2".getBytes(), "vaule2" 
  32.                     .getBytes());  
  33.             putRow.add("fam1".getBytes(), "col3".getBytes(), "vaule3" 
  34.                     .getBytes());  
  35.             table.put(putRow);  
  36.         }  
  37.         for(Result result: table.getScanner("fam1".getBytes())){//get data of column clusters   
  38.             for(Map.Entry<byte[], byte[]> entry : result.getFamilyMap("fam1".getBytes()).entrySet()){//get collection of result  
  39.                 String column = new String(entry.getKey());  
  40.                 String value = new String(entry.getValue());  
  41.                 System.out.println(column+","+value);  
  42.             }  
  43.         }  
  44.         admin.disableTable("table".getBytes()); //disable the table  
  45.         admin.deleteTable("table".getBytes());  //drop the tbale  
  46.     }  

Reduce類,主要是將鍵值傳到HBase表中

  1. package test;  
  2.  
  3. import java.io.IOException;  
  4. import org.apache.hadoop.hbase.client.Put;  
  5. import org.apache.hadoop.hbase.io.ImmutableBytesWritable;  
  6. import org.apache.hadoop.hbase.mapreduce.TableReducer;  
  7. import org.apache.hadoop.io.Text;  
  8.  
  9. public class ReducerClass extends TableReducer<Text,Text,ImmutableBytesWritable>{  
  10.     public void reduce(Text key,Iterable<Text> values,Context context){  
  11.         String k = key.toString();  
  12.         StringBuffer str=null;  
  13.         for(Text value: values){  
  14.             str.append(value.toString());  
  15.         }  
  16.         String v = new String(str);   
  17.         Put putrow = new Put(k.getBytes());  
  18.         putrow.add("fam1".getBytes(), "name".getBytes(), v.getBytes());       
  19.     }  

由上面可知ReducerClass繼承TableReduce,在hadoop里面ReducerClass繼承Reducer類。它的原型為:TableReducer<KeyIn,Values,KeyOut>可以看出,HBase里面是讀出的Key類型是ImmutableBytesWritable。

Map,Reduce,以及Job的配置分離,比較清晰,mahout也是采用這種構架。

  1. package test;  
  2.  
  3. import org.apache.hadoop.conf.Configuration;  
  4. import org.apache.hadoop.conf.Configured;  
  5. import org.apache.hadoop.fs.Path;  
  6. import org.apache.hadoop.hbase.HBaseConfiguration;  
  7. import org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil;  
  8. import org.apache.hadoop.io.Text;  
  9. import org.apache.hadoop.mapreduce.Job;  
  10. import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;  
  11. import org.apache.hadoop.mapreduce.lib.input.TextInputFormat;  
  12. import org.apache.hadoop.util.Tool;  
  13.  
  14. public class Driver extends Configured implements Tool{  
  15.  
  16.     @Override 
  17.     public static void run(String[] arg0) throws Exception {  
  18.         // TODO Auto-generated method stub  
  19.         Configuration conf = HBaseConfiguration.create();  
  20.         conf.set("hbase.zookeeper.quorum.""localhost");    
  21.           
  22.         Job job = new Job(conf,"Hbase");  
  23.         job.setJarByClass(TxtHbase.class);  
  24.           
  25.         Path in = new Path(arg0[0]);  
  26.           
  27.         job.setInputFormatClass(TextInputFormat.class);  
  28.         FileInputFormat.addInputPath(job, in);  
  29.           
  30.         job.setMapperClass(MapperClass.class);  
  31.         job.setMapOutputKeyClass(Text.class);  
  32.         job.setMapOutputValueClass(Text.class);  
  33.           
  34.         TableMapReduceUtil.initTableReducerJob("table", ReducerClass.class, job);  
  35.           
  36.        job.waitForCompletion(true);  
  37.     }  
  38.       

Driver中job配置的時候沒有設置 job.setReduceClass(); 而是用 TableMapReduceUtil.initTableReducerJob("tab1", THReducer.class, job); 來執行reduce類。

主函數

  1. package test;  
  2.  
  3. import org.apache.hadoop.conf.Configuration;  
  4. import org.apache.hadoop.util.ToolRunner;  
  5.  
  6. public class TxtHbase {  
  7.     public static void main(String [] args) throws Exception{        Driver.run(new Configuration(),new THDriver(),args);     } } 

讀取數據時比較簡單,編寫Mapper函數,讀取<key,value>值就行了。

  1. package test;  
  2.  
  3. import java.io.IOException;  
  4. import org.apache.hadoop.conf.Configuration;  
  5. import org.apache.hadoop.hbase.client.Result;  
  6. import org.apache.hadoop.hbase.io.ImmutableBytesWritable;  
  7. import org.apache.hadoop.hbase.mapred.TableMap;  
  8. import org.apache.hadoop.io.Text;  
  9. import org.apache.hadoop.mapred.MapReduceBase;  
  10. import org.apache.hadoop.mapred.OutputCollector;  
  11. import org.apache.hadoop.mapred.Reporter;  
  12.  
  13. public class MapperClass extends MapReduceBase implements 
  14.         TableMap<Text, Text> {  
  15.     static final String NAME = "GetDataFromHbaseTest";  
  16.     private Configuration conf;  
  17.  
  18.     public void map(ImmutableBytesWritable row, Result values,  
  19.             OutputCollector<Text, Text> output, Reporter reporter)  
  20.             throws IOException {  
  21.         StringBuilder sb = new StringBuilder();  
  22.         for (Entry<byte[], byte[]> value : values.getFamilyMap(  
  23.                 "fam1".getBytes()).entrySet()) {  
  24.             String cell = value.getValue().toString();  
  25.             if (cell != null) {  
  26.                 sb.append(new String(value.getKey())).append(new String(cell));  
  27.             }  
  28.         }  
  29.         output.collect(new Text(row.get()), new Text(sb.toString()));  
  30.     } 

要實現這個方法 initTableMapJob(String table, String columns, Class<? extends TableMap> mapper, Class<? extends org.apache.hadoop.io.WritableComparable> outputKeyClass, Class<? extends org.apache.hadoop.io.Writable> outputValueClass, org.apache.hadoop.mapred.JobConf job, boolean addDependencyJars)。

  1. package test;  
  2.  
  3. import org.apache.hadoop.conf.Configuration;  
  4. import org.apache.hadoop.conf.Configured;  
  5. import org.apache.hadoop.fs.Path;  
  6. import org.apache.hadoop.hbase.HBaseConfiguration;  
  7. import org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil;  
  8. import org.apache.hadoop.io.Text;  
  9. import org.apache.hadoop.mapreduce.Job;  
  10. import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;  
  11. import org.apache.hadoop.mapreduce.lib.input.TextInputFormat;  
  12. import org.apache.hadoop.util.Tool;  
  13.  
  14. public class Driver extends Configured implements Tool{  
  15.  
  16.     @Override 
  17.     public static void run(String[] arg0) throws Exception {  
  18.         // TODO Auto-generated method stub  
  19.         Configuration conf = HBaseConfiguration.create();  
  20.         conf.set("hbase.zookeeper.quorum.""localhost");    
  21.         Job job = new Job(conf,"Hbase");  
  22.         job.setJarByClass(TxtHbase.class);  
  23.         job.setInputFormatClass(TextInputFormat.class);  
  24.         job.setMapOutputKeyClass(Text.class);  
  25.         job.setMapOutputValueClass(Text.class);  
  26.         TableMapReduceUtilinitTableMapperJob("table", args0[0],MapperClass.class, job);         job.waitForCompletion(true); } } 

主函數

  1. package test;  
  2.  
  3. import org.apache.hadoop.conf.Configuration;  
  4. import org.apache.hadoop.util.ToolRunner;  
  5.  
  6. public class TxtHbase {  
  7.     public static void main(String [] args) throws Exception{  
  8.  
  9.         Driver.run(new Configuration(),new THDriver(),args);  
  10.  
  11.     }   
  12. }  
  13. -------------------------------------------------------------------------------- 

原文鏈接:http://www.cnblogs.com/liqizhou/archive/2012/05/17/2504279.html

【編輯推薦】

  1. 數據庫遷移之何去何從
  2. SQL Server數據庫遷移偏方
  3. SQL Server數據庫恢復案例分享
  4. SQL Server數據庫最小宕機遷移方案
  5. 給你大型數據庫遷移的五大建議  
     
責任編輯:彭凡 來源: 博客園
相關推薦

2014-11-19 09:22:48

云計算Dockerpython API

2012-09-24 01:01:49

NginxNginx性能Web服務器

2009-07-16 13:03:05

ibatis resu

2013-11-12 14:43:43

MySQL數據庫

2009-12-01 09:15:30

Windows 7系統激活

2009-08-07 09:57:38

2009-09-17 16:38:02

WSUS服務器

2017-01-16 15:43:54

存儲虛擬化控制器

2013-10-15 09:48:03

C++Lambda函數式編程

2021-03-08 06:29:53

微信僵尸粉移動應用

2021-07-06 12:07:27

Go 服務性能

2009-08-06 11:37:24

虛擬機NAT連接物理網絡

2020-11-10 13:42:07

Go編譯器修復

2022-12-26 09:05:35

2025-08-07 01:00:00

2017-12-08 11:28:48

Hbase木桶效應操作

2019-09-09 08:30:57

MYSQL代碼數據庫

2010-06-03 13:55:38

Hbase和Hadoo

2011-03-01 09:43:13

MapReduce架構

2009-12-28 09:58:52

ADO操作
點贊
收藏

51CTO技術棧公眾號

国产普通话bbwbbwbbw| 国产毛片欧美毛片久久久| 免费看电影在线| 成人福利视频网站| 欧美一区二区三区精品电影| 国产毛片欧美毛片久久久| 国产在线一区不卡| 懂色av一区二区三区| 亚洲日本无吗高清不卡| 精品人妻伦一区二区三区久久| 在线日韩视频| 在线亚洲国产精品网| 少妇极品熟妇人妻无码| 成人va天堂| 亚洲精品一二三| 欧美日韩一区综合| www.日韩在线观看| 免费久久精品视频| 69久久夜色精品国产69| 999福利视频| 日韩中出av| 欧美一区二区三区日韩视频| 91黄色小网站| 少妇视频在线| 中文字幕在线观看一区二区| 久久久久久久有限公司| 国产黄a三级三级看三级| 日韩成人免费看| 欧美精品精品精品精品免费| 日本爱爱小视频| 国产一区二区在线| 亚洲激情小视频| 韩国av中国字幕| 国产精品久久免费视频| 欧美影视一区二区三区| 人人妻人人添人人爽欧美一区| 黄色免费在线观看网站| 国产精品午夜在线| 免费日韩av电影| 天天操天天操天天操| 国产91在线看| wwwxx欧美| va婷婷在线免费观看| 青青草国产成人99久久| 欧美综合在线观看| 久久视频社区| 久久久久久毛片免费看 | 久久精品日产第一区二区三区精品版| 国产乱码精品一区二区三区精东| 视频在线在亚洲| 欧美怡春院一区二区三区| 国产精品不卡av| 亚洲私拍自拍| 久久久久久久久久久亚洲| 久久久久99精品成人片试看| 欧美1区免费| 欧美理论电影在线播放| 亚洲成人生活片| 你懂的国产精品| 九九热最新视频//这里只有精品 | 国产在线观看免费网站| 久久综合色一综合色88| 欧美裸体网站| 国产色在线 com| 欧美极品美女视频| 亚洲砖区区免费| 黄色网页在线观看| 夜夜嗨av一区二区三区中文字幕| 欧美视频在线第一页| 青草在线视频在线观看| 亚洲国产精品久久久久婷婷884| 日本一区午夜艳熟免费| 96av在线| 在线观看亚洲成人| 九色porny自拍| 精品亚洲二区| 亚洲国内精品在线| brazzers精品成人一区| 欧美高清视频手机在在线| 另类视频在线观看| 亚洲精品午夜久久久久久久| 中文一区二区| 国产精品香蕉av| 精品国产黄色片| 99re这里只有精品首页| 色女孩综合网| 国产一二区在线| 午夜精品视频一区| 中文字幕有码av| 一区二区三区视频免费视频观看网站| 亚洲国产一区自拍| 人人艹在线视频| 很黄很黄激情成人| 奇米成人av国产一区二区三区 | 欧美tk丨vk视频| 草草地址线路①屁屁影院成人| 欧洲杯足球赛直播| 欧美黄色片在线观看| 久久精品无码av| 黄色精品一二区| 久久99精品久久久水蜜桃| aaa日本高清在线播放免费观看| 亚洲欧美日韩在线| 国产欧美在线一区| 国产精品视频首页| 亚洲人成电影网站色xx| 中文字幕在线有码| 日韩和欧美的一区| 国产精品一区视频网站| av影片在线看| 精品久久久久久亚洲精品| 日本在线播放一区二区| 免费看成人哺乳视频网站| 久久影院资源网| 一级特黄免费视频| 99re免费视频精品全部| 在线观看污视频| 久久久久久久性潮| 国产午夜精品久久久| 欧美日韩三级在线观看| 日本91福利区| 欧美凹凸一区二区三区视频| 污污片在线免费视频| 欧美日韩一级黄| 性高潮久久久久久久| 亚洲精品视频啊美女在线直播| 91精品视频一区| 国产视频福利在线| 欧美性猛交xxxx乱大交3| 国产人妻精品午夜福利免费| 香蕉av一区二区| 国产精品久久久久久影视| 天堂在线观看免费视频| 伊人性伊人情综合网| 亚洲va综合va国产va中文| 久草精品在线| 欧美有码在线观看视频| 亚洲毛片在线播放| 亚洲伦在线观看| 伊人色在线视频| 国产精品99在线观看| 国产精品美女www| 成人亚洲性情网站www在线观看| 欧美日韩一区二区精品| 欧产日产国产精品98| 欧美日韩三级| 国产精品手机视频| 久久青青色综合| 欧美成人一区二区三区| 成人免费视频网站入口::| 国产综合色在线视频区| 自拍偷拍视频在线| 国产95亚洲| 精品中文字幕乱| 亚洲AV午夜精品| 亚洲国产一区二区三区| 中文字幕在线视频播放| 在线欧美三区| 精品国产免费一区二区三区| 九色porny视频在线观看| 日韩h在线观看| 99久久久久久久久| 欧美国产禁国产网站cc| 一本色道久久亚洲综合精品蜜桃| 91影院成人| 7777精品久久久大香线蕉小说| 影音先锋在线视频| 精品国产凹凸成av人网站| 欧美福利视频一区二区| 久久看人人爽人人| 成人黄色一区二区| 91综合久久| 国产精品久久波多野结衣| 人人草在线视频| 亚洲欧美国产精品久久久久久久| 中文字幕日本视频| 中文字幕制服丝袜成人av | 久久色在线视频| 亚洲人辣妹窥探嘘嘘| 91亚洲一区| 国产一区二区不卡视频在线观看| 在线一区av| 精品国产欧美一区二区三区成人| 99热这里只有精品5| 一区二区三区免费| 黄色工厂在线观看| 久久国产免费看| 久草免费福利在线| 国产一区二区三区四区五区传媒| 成人激情视频在线播放| av不卡高清| 亚洲天堂影视av| 国产偷人妻精品一区二区在线| 亚洲国产cao| 天美传媒免费在线观看| 成人免费毛片片v| 别急慢慢来1978如如2| 亚洲乱码电影| 欧美日韩精品久久| 亚洲日本va午夜在线电影| 欧美自拍视频在线| 伊人春色在线观看| 一区二区三区天堂av| 亚洲黄色精品视频| 欧美午夜精品理论片a级按摩| 国产亚洲精品久久久久久无几年桃| 国产欧美日韩在线看| 香蕉久久久久久av成人| 老司机一区二区| 国产超级av在线| 欧美日韩第一区| 亚洲一区二区精品在线观看| 高清日韩欧美| 成人免费网视频| 怡红院成人在线| 久久青草福利网站| av在线导航| 在线亚洲欧美视频| 男同在线观看| 亚洲精品美女久久久久| www.国产麻豆| 欧美精品一卡两卡| 青青国产在线视频| 精品magnet| 久久久久免费看| 亚洲女同女同女同女同女同69| 在线免费看黄视频| 91视视频在线直接观看在线看网页在线看| 国产高清av片| 久久黄色级2电影| 美女少妇一区二区| 视频精品一区二区| 黑森林福利视频导航| 亚洲激情二区| 国产一区二区片| 国内精品福利| 成人在线视频一区二区三区| 亚洲国产一成人久久精品| 亚洲精品9999| 波多野结衣在线播放一区| 欧美一区二区三区在线播放| 日本午夜精品| 国偷自产av一区二区三区小尤奈| 亚洲**毛片| 99re在线| 高潮按摩久久久久久av免费| 国产 高清 精品 在线 a| 伊人久久大香线蕉av超碰| 97久久精品午夜一区二区| 亚洲精品在线播放| 国产激情美女久久久久久吹潮| 99国产精品免费网站| 福利精品视频| 国产精品色呦| 久久久7777| 国产最新精品| 亚洲一区二区四区| 图片区亚洲欧美小说区| 天天综合五月天| 狠狠88综合久久久久综合网| 国产真人做爰毛片视频直播| 中国女人久久久| 激情六月丁香婷婷| 日日夜夜精品免费视频| 狠狠躁狠狠躁视频专区| 国产精品自产自拍| 国产精品99久久久精品无码| 成人久久视频在线观看| 国产伦精品一区二区三区精品| 国产99久久久精品| 免费看黄色aaaaaa 片| 久久久不卡影院| www.97视频| 午夜av一区二区三区| 69亚洲精品久久久蜜桃小说| 欧美日本国产一区| 精品人妻久久久久一区二区三区| 亚洲精品久久久久久久久| 国产在线观看黄| 久久精品亚洲精品| 成人福利电影| 国产精品99久久久久久久久 | www中文在线| 一个色在线综合| 波多野结衣高清视频| 欧美一区二区视频在线观看| 日本黄色一区二区三区| 国产一区二区日韩| 免费在线国产视频| 奇米四色中文综合久久| 精品欧美视频| 青青成人在线| 韩日视频一区| 亚洲天堂网一区| 不卡一区中文字幕| av黄色免费在线观看| 五月天丁香久久| 国产精品久久久久久久久久久久久久久久久久 | 久草精品视频| 国产一区一区三区| 亚洲一区久久| 欧美日韩一区二区区| 国产亚洲一区二区三区四区| 国产亚洲成人精品| 欧美军同video69gay| 色就是色亚洲色图| 久久亚洲春色中文字幕| 第84页国产精品| 国产超碰91| 国产精品国内免费一区二区三区| 俄罗斯av网站| 国产乱码一区二区三区| 免费视频91蜜桃| 欧美日韩国产区| 亚洲成人第一区| 色婷婷综合成人| 国产综合色区在线观看| 国产午夜精品一区| 中文在线日韩| 日本特黄a级片| 久久久精品免费网站| 国产一卡二卡在线播放| 制服丝袜成人动漫| 92国产在线视频| 国产精品第三页| 妖精视频一区二区三区| 久久久久久久久久网| 国产成人精品一区二| 欧美大片xxxx| 欧美精品久久久久久久多人混战 | 中文乱码免费一区二区三区下载| 婷婷激情四射五月天| 久久色.com| 4438国产精品一区二区| 日韩成人在线播放| 九色porny自拍视频在线播放| 国产一区二区精品免费| 欧美午夜不卡影院在线观看完整版免费| 少妇网站在线观看| 欧美经典一区二区| 亚洲视频在线观看一区二区| 在线亚洲男人天堂| 欧美成人高清视频在线观看| 性欧美精品一区二区三区在线播放 | 国产免费观看高清视频| 北条麻妃一区二区三区| 精品午夜福利视频| 亚洲成年人在线播放| 国产在线xxx| 韩国成人av| 免费在线亚洲| 国产精品815.cc红桃| 欧美性猛交xxxx富婆| 国产精品一区在线看| 国产免费一区二区三区在线观看| 91麻豆精品国产91久久久平台| 亚洲无在线观看| 依依成人综合视频| 蜜臀av免费在线观看| 97色在线视频| 西野翔中文久久精品字幕| 久久精品网站视频| 中文字幕av资源一区| 国产精品伦一区二区三区| 欧美成人久久久| 成人av激情人伦小说| 国产av国片精品| 久久综合成人精品亚洲另类欧美| 亚洲欧美一二三区| 日韩网站在线观看| 91成人噜噜噜在线播放| 免费无码毛片一区二三区| 久久亚洲精品国产精品紫薇| 中文字幕 日韩有码| 欧美尺度大的性做爰视频| 国产精品qvod| 搡女人真爽免费午夜网站| 亚洲欧美偷拍三级| 可以免费看毛片的网站| 国产第一区电影| 中文精品久久| 波多野结衣 在线| 在线成人免费视频| √最新版天堂资源网在线| 日本高清不卡三区| 国产精品一区在线观看你懂的| 毛片视频网站在线观看| 最新国产精品拍自在线播放| 91在线一区| 欧美一级片中文字幕| 亚洲日本在线看| 亚洲欧洲精品视频| 91精品国产综合久久男男 | 欧美日韩色图| 无码人妻丰满熟妇啪啪网站| 日本高清不卡视频| 婷婷色在线资源| 亚洲福利av| www.亚洲激情.com| 国产又爽又黄免费软件|