精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

日韩av网站在线| 91在线视频18| 欧美大片大片在线播放| av在线播放网址| 在线精品亚洲欧美日韩国产| 国产精品理伦片| 精品国产乱码久久久久软件| 中文字幕人妻一区二区在线视频 | 国产日韩欧美制服另类| 欧美成人免费va影院高清| 欧美中文字幕精品| www.黄色com| 欧美大胆a级| 欧美精品自拍偷拍| 欧美一区中文字幕| 特级黄色录像片| 天天操天天舔天天干| 毛片av一区二区| 午夜精品久久久久久久白皮肤| 欧美成人另类视频| 久久视频在线观看| 4438成人网| wwwxxx黄色片| 免费在线看电影| 国产亚洲美州欧州综合国| 91久色国产| 中国女人真人一级毛片| 在线视频精品| 欧美日本高清一区| 国产一区二区三区视频播放| 日韩高清一级| 精品美女被调教视频大全网站| 国产无色aaa| 国模私拍一区二区国模曼安| 亚洲狠狠丁香婷婷综合久久久| 亚洲国产欧美不卡在线观看 | 青草影院在线观看| 欧美亚洲在线日韩| 亚洲欧洲一区二区三区久久| 香港三日本8a三级少妇三级99| 国产精品**亚洲精品| 欧美日韩精品一区二区天天拍小说| 久久精品免费一区二区| 人狥杂交一区欧美二区| 亚洲第一激情av| av 日韩 人妻 黑人 综合 无码| 免费大片在线观看www| 中文字幕精品在线不卡| 神马影院一区二区| 最新国产在线观看| 欧美极品xxx| 婷婷久久青草热一区二区| 国产人成在线观看| 欧美国产一区二区| 亚洲成人蜜桃| 免费大片黄在线观看视频网站| 18涩涩午夜精品.www| 伊人久久av导航| 含羞草www国产在线视频| 亚洲欧洲成人精品av97| 中国成人在线视频| 色呦呦在线播放| 亚洲成av人综合在线观看| 日韩日韩日韩日韩日韩| 手机av在线| 日本道色综合久久| 中日韩av在线播放| 日本超碰一区二区| 精品久久久久av影院| 国产伦精品一区三区精东| 亚洲老女人视频免费| 国产亚洲精品久久| 激情五月深爱五月| 欧美.www| 欧美在线观看网站| 一区二区小视频| 国产高清久久久| 国产精品一区二区欧美黑人喷潮水| 亚洲人妻一区二区三区| 欧美激情一区不卡| 欧美日韩午夜爽爽| 电影在线观看一区| 欧美色涩在线第一页| 色姑娘综合天天| 欧美日韩破处| 中文字幕在线看视频国产欧美| 国产a免费视频| 一区二区三区高清视频在线观看| 国产免费一区二区三区在线观看| 亚洲精品久久久狠狠狠爱| 久久一日本道色综合| 91免费网站视频| 人在线成免费视频| 91麻豆精品91久久久久久清纯 | 国产精品特级毛片一区二区三区| 成人小视频在线观看| 日本在线观看一区二区三区| 在线免费观看a视频| 欧美午夜丰满在线18影院| 午夜宅男在线视频| 红杏视频成人| 久久精品久久久久电影| 久久一区二区三区视频| 精品综合久久久久久8888| 国内精品视频在线播放| 精品国产白色丝袜高跟鞋| 精品成人在线视频| 亚洲熟女乱综合一区二区| 狠狠色丁香婷婷综合影院| 欧美国产日本高清在线| 中文字幕在线观看1| 成人免费高清在线| 免费成人进口网站| 免费观看成人性生生活片 | 欧美日本韩国一区二区三区视频| 精品熟女一区二区三区| 91精品在线观看国产| 日本一欧美一欧美一亚洲视频| 99国产精品欲| 中文字幕乱码久久午夜不卡 | 日韩免费福利视频| 精品国产伦一区二区三区观看方式 | 亚洲成人av中文| 亚洲图片 自拍偷拍| 狠狠操综合网| 欧美亚洲在线播放| 欧日韩在线视频| 亚洲另类在线一区| 亚洲人视频在线| 国产中文字幕一区二区三区 | 男人的天堂avav| 国产欧美视频在线| 久久精品视频在线| 欧美视频xxxx| 国产午夜一区二区三区| 97成人在线观看视频| 久久精品66| 久久久久久欧美| 亚洲美女性生活| 一区二区高清免费观看影视大全| 五月六月丁香婷婷| 91久久久精品国产| 成人国内精品久久久久一区| 在线视频二区| 欧美人妖巨大在线| 欧美特黄一级片| 黄页网站大全一区二区| 天天爱天天做天天操| 成人在线日韩| 欧美日韩第一页| 亚洲第一视频在线播放| 亚洲一区av在线| 日韩精品一区二区三区高清免费| 亚洲每日更新| 欧美黑人3p| 99久久婷婷国产综合精品首页 | 免费一级suv好看的国产网站| 日本中文字幕一区二区有限公司| 日本不卡一区| 久久69成人| 欧美理论电影在线播放| 可以免费观看的毛片| 亚洲国产一区二区三区青草影视 | www.久久伊人| 亚洲国产精品久久一线不卡| 欲求不满的岳中文字幕| 亚洲欧美卡通另类91av| 四虎永久国产精品| 国产精品久久久久久久久久久久久久久 | 日韩乱码在线视频| 姑娘第5集在线观看免费好剧| 一区二区中文字幕在线| 无码人妻aⅴ一区二区三区玉蒲团| 亚洲激情国产| 日韩影院一区| 日韩黄色av| 欧美最顶级的aⅴ艳星| av免费观看一区二区| 91精品国产一区二区人妖| 国产乡下妇女做爰视频| 久久久.com| 欧美一级免费在线| 国产日韩一区| 日韩第一页在线观看| 精品精品精品| 国产精品香蕉国产| 美女精品视频| 亚洲香蕉成人av网站在线观看| 国产精品爽爽久久久久久| 欧美日韩国产一区二区| 手机免费观看av| 国产成人超碰人人澡人人澡| 波多野结衣家庭教师视频| 99国产精品免费视频观看| 国产精品视频免费一区二区三区| 日韩中文在线播放| 欧美黑人性生活视频| 成人免费在线视频网| 另类综合日韩欧美亚洲| 久久视频在线观看中文字幕| 色婷婷成人网| 57pao国产精品一区| 成人在线免费看片| 亚洲人a成www在线影院| 成人高潮片免费视频| 91极品视觉盛宴| 亚洲国产精一区二区三区性色| 欧美国产日本韩| 色婷婷免费视频| 国产一区二区三区精品视频| 亚洲乱码国产一区三区| 亚洲第一精品影视| 强开小嫩苞一区二区三区网站 | 精品无人国产偷自产在线| 国产精品亚洲lv粉色| 色婷婷av一区二区三区gif | 欧美视频精品在线| 91精品国产乱码久久久张津瑜| 亚洲天堂成人在线观看| 国产精品av久久久久久无| 久久精品国产亚洲精品2020| 成人免费一级视频| 在线播放一区二区三区| 成人毛片一区二区三区| 亚洲国产日韩一级| 天天天天天天天天操| 中文字幕免费不卡| 亚洲一区视频在线播放| 99久久精品国产精品久久| 一个人看的视频www| 久久福利资源站| 中文字幕在线观看第三页| 国产乱码精品| 国产日韩av网站| 亚洲人成久久| 免费一级特黄毛片| 亚洲激情不卡| 国产黄视频在线| 一本色道久久综合亚洲精品不卡| 欧美中日韩在线| 欧美精品不卡| 成人免费网站入口| 激情丁香综合| 三上悠亚久久精品| 日韩一级免费| 日韩中文字幕在线视频观看| av不卡免费看| 欧美牲交a欧美牲交aⅴ免费真 | www.四虎成人| 日韩福利电影在线| 黄色三级视频在线| 蜜桃视频一区二区| 污污的网站免费| 国内精品视频一区二区三区八戒| 久久精品国产露脸对白| 国产一区二区免费视频| 91av免费观看| 成人av在线播放网站| 日本护士做爰视频| xf在线a精品一区二区视频网站| 中文字幕在线看高清电影| 久久久高清一区二区三区| 亚洲黄色免费视频| 亚洲欧美在线高清| 强行糟蹋人妻hd中文| 午夜视频久久久久久| 久久亚洲天堂网| 999在线观看| 成人在线视频区| 91九色精品视频| 97视频一区| 久久久影院一区二区三区| 免费看av成人| 国产精品成人一区二区三区夜夜夜| 日本中文在线视频| 亚洲国产aⅴ成人精品无吗| 黄色片网站在线免费观看| 欧美揉bbbbb揉bbbbb| 国产熟女一区二区三区四区| 亚洲国产精品一区二区久| 国产精品无码2021在线观看| 久久艳片www.17c.com| 国产伦理精品| 国产精品一区二区三区毛片淫片| 日韩精品一区二区三区中文字幕| 久久精品国产第一区二区三区最新章节 | 精品国产乱码久久久久久1区2区 | 91在线观看下载| 国产高清一区二区三区四区| 一区二区三区中文字幕电影| 久久国产视频一区| 91麻豆精品国产91久久久久久久久 | 久久99精品国产| 国产 xxxx| 中文字幕一区二区三区在线不卡| 日韩女同强女同hd| 欧美日韩国产电影| 天天综合网天天综合| 日韩视频―中文字幕| 欧美三级网站| 91欧美精品午夜性色福利在线| 亚欧日韩另类中文欧美| 糖心vlog在线免费观看| 久久久久网站| 在线xxxxx| 亚洲免费看黄网站| 天堂网一区二区| 亚洲国产成人av在线| 免费成人黄色| 国产精品一区久久久| 欧美交a欧美精品喷水| 日本丰满少妇黄大片在线观看| 久久国产高清| 欧产日产国产精品98| 亚洲视频一区二区免费在线观看| 国产无遮挡又黄又爽又色视频| 亚洲精品一区二区三区影院| 高清免费电影在线观看| 国产精品九九九| 香蕉久久夜色精品国产更新时间| 欧美又粗又长又爽做受| 黄色小说综合网站| 亚洲不卡的av| 在线观看一区不卡| 欧洲伦理片一区 二区 三区| 久久久亚洲天堂| 亚洲综合网狠久久| 青草全福视在线| 激情综合色综合久久综合| 阿v天堂2014| 91久久精品一区二区| 日本a一级在线免费播放| 国产69精品99久久久久久宅男| 午夜免费欧美电影| 大陆极品少妇内射aaaaaa| 国产在线精品一区二区不卡了| 香蕉久久久久久久| 欧美三级三级三级爽爽爽| 黄色免费在线播放| 国产成人综合一区二区三区| 精品国产aⅴ| 国产精品天天av精麻传媒| 久久精品亚洲乱码伦伦中文| 天堂网免费视频| 亚洲人成在线电影| 日韩欧美2区| 伊人久久大香线蕉成人综合网| 美腿丝袜亚洲三区| 色偷偷男人天堂| 91精品国模一区二区三区| aa在线视频| 国产精品二区在线观看| 精品1区2区3区4区| 亚洲精品乱码久久久久久不卡 | 91麻豆一区二区| 大胆人体色综合| 97久久超碰| 成人免费观看视频在线观看| 久久久久久久国产精品影院| 蜜臀尤物一区二区三区直播| 日韩在线国产精品| 久久综合给合| 无码专区aaaaaa免费视频| 2014亚洲片线观看视频免费| 夜夜躁日日躁狠狠久久av| 色多多国产成人永久免费网站| 久久三级中文| 亚洲人精品午夜射精日韩 | 欧美精品videos极品| 欧美精品一区二区蜜臀亚洲| 在线观看欧美日韩电影| 亚洲一区二区三区加勒比 | 噜噜噜91成人网| wwwww黄色| 日韩精品一区二区三区在线观看 | 欧美日韩第一区| 第四色在线视频| 欧美三级视频在线| 精精国产xxxx视频在线中文版| 久久婷婷开心| 久久99蜜桃精品| 蜜臀av在线观看| 久久手机精品视频| 中文字幕一区二区三区中文字幕 | 日本三级视频在线观看| 亚洲综合日韩在线| 午夜一级在线看亚洲| 国产精品女主播| 久久视频在线| 亚洲国产精品狼友在线观看| 在线视频国内自拍亚洲视频| 国产精品实拍| 免费在线成人av| 国产一区二区导航在线播放| 午夜影院免费在线观看| 久久伊人免费视频| 九色精品国产蝌蚪| 男插女视频网站| 在线观看91精品国产入口| 日本在线观看高清完整版|