日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

用 Hadoop 进行分布式并行编程, 第 2 部分 程序实例与分析

發布時間:2025/3/21 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用 Hadoop 进行分布式并行编程, 第 2 部分 程序实例与分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

在上一篇文章:“用 Hadoop 進行分布式并行編程 第一部分 基本概念與安裝部署”中,介紹了 MapReduce 計算模型,分布式文件系統 HDFS,分布式并行計算等的基本原理, 并且詳細介紹了如何安裝 Hadoop,如何運行基于 Hadoop 的并行程序。在本文中,將針對一個具體的計算任務,介紹如何基于 Hadoop 編寫并行程序,如何使用 IBM 開發的 Hadoop Eclipse plugin 在 Eclipse 環境中編譯并運行程序。

分析 WordCount 程序

我們先來看看 Hadoop 自帶的示例程序 WordCount,這個程序用于統計一批文本文件中單詞出現的頻率,完整的代碼可在下載的 Hadoop 安裝包中得到(在 src/examples 目錄中)。

見代碼清單1。這個類實現 Mapper 接口中的 map 方法,輸入參數中的 value 是文本文件中的一行,利用 StringTokenizer 將這個字符串拆成單詞,然后將輸出結果 <單詞,1> 寫入到 org.apache.hadoop.mapred.OutputCollector 中。OutputCollector 由 Hadoop 框架提供, 負責收集 Mapper 和 Reducer 的輸出數據,實現 map 函數和 reduce 函數時,只需要簡單地將其輸出的 <key,value> 對往 OutputCollector 中一丟即可,剩余的事框架自會幫你處理好。

代碼中 LongWritable, IntWritable, Text 均是 Hadoop 中實現的用于封裝 Java 數據類型的類,這些類都能夠被串行化從而便于在分布式環境中進行數據交換,你可以將它們分別視為 long, int, String 的替代品。Reporter 則可用于報告整個應用的運行進度,本例中未使用。

代碼清單1
public static class MapClass extends MapReduceBaseimplements Mapper<LongWritable, Text, Text, IntWritable>{private final static IntWritable one = new IntWritable(1);private Text word = new Text();public void map(LongWritable key, Text value, OutputCollector<Text, IntWritable> output, Reporter reporter) throws IOException {String line = value.toString();StringTokenizer itr = new StringTokenizer(line);while (itr.hasMoreTokens()) {word.set(itr.nextToken());output.collect(word, one);}}}

2.實現 Reduce 類

見代碼清單 2。這個類實現 Reducer 接口中的 reduce 方法, 輸入參數中的 key, values 是由 Map 任務輸出的中間結果,values 是一個 Iterator, 遍歷這個 Iterator, 就可以得到屬于同一個 key 的所有 value. 此處,key 是一個單詞,value 是詞頻。只需要將所有的 value 相加,就可以得到這個單詞的總的出現次數。

代碼清單 2
public static class Reduce extends MapReduceBaseimplements Reducer<Text, IntWritable, Text, IntWritable> {public void reduce(Text key, Iterator<IntWritable> values,OutputCollector<Text, IntWritable> output, Reporter reporter) throws IOException {int sum = 0;while (values.hasNext()) {sum += values.next().get();}output.collect(key, new IntWritable(sum));}}

3.運行 Job

在 Hadoop 中一次計算任務稱之為一個 job, 可以通過一個 JobConf 對象設置如何運行這個 job。此處定義了輸出的 key 的類型是 Text, value 的類型是 IntWritable, 指定使用代碼清單1中實現的 MapClass 作為 Mapper 類, 使用代碼清單2中實現的 Reduce 作為 Reducer 類和 Combiner 類, 任務的輸入路徑和輸出路徑由命令行參數指定,這樣 job 運行時會處理輸入路徑下的所有文件,并將計算結果寫到輸出路徑下。

然后將 JobConf 對象作為參數,調用 JobClient 的 runJob, 開始執行這個計算任務。至于 main 方法中使用的 ToolRunner 是一個運行 MapReduce 任務的輔助工具類,依樣畫葫蘆用之即可。

代碼清單 3
public int run(String[] args) throws Exception {JobConf conf = new JobConf(getConf(), WordCount.class);conf.setJobName("wordcount");conf.setOutputKeyClass(Text.class);conf.setOutputValueClass(IntWritable.class);conf.setMapperClass(MapClass.class); conf.setCombinerClass(Reduce.class);conf.setReducerClass(Reduce.class);conf.setInputPath(new Path(args[0]));conf.setOutputPath(new Path(args[1]));JobClient.runJob(conf);return 0;}public static void main(String[] args) throws Exception {if(args.length != 2){System.err.println("Usage: WordCount <input path> <output path>");System.exit(-1);}int res = ToolRunner.run(new Configuration(), new WordCount(), args);System.exit(res);} }

以上就是 WordCount 程序的全部細節,簡單到讓人吃驚,您都不敢相信就這么幾行代碼就可以分布式運行于大規模集群上,并行處理海量數據集。

4. 通過 JobConf 定制計算任務

通過上文所述的 JobConf 對象,程序員可以設定各種參數,定制如何完成一個計算任務。這些參數很多情況下就是一個 java 接口,通過注入這些接口的特定實現,可以定義一個計算任務( job )的全部細節。了解這些參數及其缺省設置,您才能在編寫自己的并行計算程序時做到輕車熟路,游刃有余,明白哪些類是需要自己實現的,哪些類用 Hadoop 的缺省實現即可。表一是對 JobConf 對象中可以設置的一些重要參數的總結和說明,表中第一列中的參數在 JobConf 中均會有相應的 get/set 方法,對程序員來說,只有在表中第三列中的缺省值無法滿足您的需求時,才需要調用這些 set 方法,設定合適的參數值,實現自己的計算目的。針對表格中第一列中的接口,除了第三列的缺省實現之外,Hadoop 通常還會有一些其它的實現,我在表格第四列中列出了部分,您可以查閱 Hadoop 的 API 文檔或源代碼獲得更詳細的信息,在很多的情況下,您都不用實現自己的 Mapper 和 Reducer, 直接使用 Hadoop 自帶的一些實現即可。

表一 JobConf 常用可定制參數
參數 作用 缺省值 其它實現InputFormatOutputFormatOutputKeyClassOutputValueClassMapperClassCombinerClassReducerClassInputPathOutputPathMapOutputKeyClassMapOutputValueClassOutputKeyComparatorPartitionerClass
將輸入的數據集切割成小數據集 InputSplits, 每一個 InputSplit 將由一個 Mapper 負責處理。此外 InputFormat 中還提供一個 RecordReader 的實現, 將一個 InputSplit 解析成 <key,value> 對提供給 map 函數。 TextInputFormat
(針對文本文件,按行將文本文件切割成 InputSplits, 并用 LineRecordReader 將 InputSplit 解析成 <key,value> 對,key 是行在文件中的位置,value 是文件中的一行)
SequenceFileInputFormat
提供一個 RecordWriter 的實現,負責輸出最終結果 TextOutputFormat
(用 LineRecordWriter 將最終結果寫成純文件文件,每個 <key,value> 對一行,key 和 value 之間用 tab 分隔)
SequenceFileOutputFormat
輸出的最終結果中 key 的類型 LongWritable ?
輸出的最終結果中 value 的類型 Text ?
Mapper 類,實現 map 函數,完成輸入的 <key,value> 到中間結果的映射 IdentityMapper
(將輸入的 <key,value> 原封不動的輸出為中間結果)
LongSumReducer,
LogRegexMapper,
InverseMapper
實現 combine 函數,將中間結果中的重復 key 做合并 null
(不對中間結果中的重復 key 做合并)
?
Reducer 類,實現 reduce 函數,對中間結果做合并,形成最終結果 IdentityReducer
(將中間結果直接輸出為最終結果)
AccumulatingReducer, LongSumReducer
設定 job 的輸入目錄, job 運行時會處理輸入目錄下的所有文件 null ?
設定 job 的輸出目錄,job 的最終結果會寫入輸出目錄下 null ?
設定 map 函數輸出的中間結果中 key 的類型 如果用戶沒有設定的話,使用 OutputKeyClass ?
設定 map 函數輸出的中間結果中 value 的類型 如果用戶沒有設定的話,使用 OutputValuesClass ?
對結果中的 key 進行排序時的使用的比較器 WritableComparable ?
對中間結果的 key 排序后,用此 Partition 函數將其劃分為R份,每份由一個 Reducer 負責處理。 HashPartitioner
(使用 Hash 函數做 partition)
KeyFieldBasedPartitioner PipesPartitioner

改進的 WordCount 程序

現在你對 Hadoop 并行程序的細節已經有了比較深入的了解,我們來把 WordCount 程序改進一下,目標: (1)原 WordCount 程序僅按空格切分單詞,導致各類標點符號與單詞混雜在一起,改進后的程序應該能夠正確的切出單詞,并且單詞不要區分大小寫。(2)在最終結果中,按單詞出現頻率的降序進行排序。

1.修改 Mapper 類,實現目標(1)

實現很簡單,見代碼清單4中的注釋。

代碼清單 4
public static class MapClass extends MapReduceBaseimplements Mapper<LongWritable, Text, Text, IntWritable> {private final static IntWritable one = new IntWritable(1);private Text word = new Text();private String pattern="[^\\w]"; //正則表達式,代表不是0-9, a-z, A-Z的所有其它字符public void map(LongWritable key, Text value, OutputCollector<Text, IntWritable> output, Reporter reporter) throws IOException {String line = value.toString().toLowerCase(); //全部轉為小寫字母line = line.replaceAll(pattern, " "); //將非0-9, a-z, A-Z的字符替換為空格StringTokenizer itr = new StringTokenizer(line);while (itr.hasMoreTokens()) {word.set(itr.nextToken());output.collect(word, one);}}}

2.實現目標(2)

用一個并行計算任務顯然是無法同時完成單詞詞頻統計和排序的,這時我們可以利用 Hadoop 的任務管道能力,用上一個任務(詞頻統計)的輸出做為下一個任務(排序)的輸入,順序執行兩個并行計算任務。主要工作是修改代碼清單3中的 run 函數,在其中定義一個排序任務并運行之。

在 Hadoop 中要實現排序是很簡單的,因為在 MapReduce 的過程中,會把中間結果根據 key 排序并按 key 切成 R 份交給 R 個 Reduce 函數,而 Reduce 函數在處理中間結果之前也會有一個按 key 進行排序的過程,故 MapReduce 輸出的最終結果實際上已經按 key 排好序。詞頻統計任務輸出的 key 是單詞,value 是詞頻,為了實現按詞頻排序,我們指定使用 InverseMapper 類作為排序任務的 Mapper 類( sortJob.setMapperClass(InverseMapper.class );),這個類的 map 函數簡單地將輸入的 key 和 value 互換后作為中間結果輸出,在本例中即是將詞頻作為 key,單詞作為 value 輸出, 這樣自然就能得到按詞頻排好序的最終結果。我們無需指定 Reduce 類,Hadoop 會使用缺省的 IdentityReducer 類,將中間結果原樣輸出。

還有一個問題需要解決: 排序任務中的 Key 的類型是 IntWritable, (sortJob.setOutputKeyClass(IntWritable.class)), Hadoop 默認對 IntWritable 按升序排序,而我們需要的是按降序排列。因此我們實現了一個 IntWritableDecreasingComparator 類, 并指定使用這個自定義的 Comparator 類對輸出結果中的 key (詞頻)進行排序:sortJob.setOutputKeyComparatorClass(IntWritableDecreasingComparator.class)

詳見代碼清單 5 及其中的注釋。

代碼清單 5
public int run(String[] args) throws Exception {Path tempDir = new Path("wordcount-temp-" + Integer.toString(new Random().nextInt(Integer.MAX_VALUE))); //定義一個臨時目錄JobConf conf = new JobConf(getConf(), WordCount.class);try {conf.setJobName("wordcount");conf.setOutputKeyClass(Text.class);conf.setOutputValueClass(IntWritable.class);conf.setMapperClass(MapClass.class);conf.setCombinerClass(Reduce.class);conf.setReducerClass(Reduce.class);conf.setInputPath(new Path(args[0]));conf.setOutputPath(tempDir); //先將詞頻統計任務的輸出結果寫到臨時目//錄中, 下一個排序任務以臨時目錄為輸入目錄。conf.setOutputFormat(SequenceFileOutputFormat.class);JobClient.runJob(conf);JobConf sortJob = new JobConf(getConf(), WordCount.class);sortJob.setJobName("sort");sortJob.setInputPath(tempDir);sortJob.setInputFormat(SequenceFileInputFormat.class);sortJob.setMapperClass(InverseMapper.class);sortJob.setNumReduceTasks(1); //將 Reducer 的個數限定為1, 最終輸出的結果//文件就是一個。sortJob.setOutputPath(new Path(args[1]));sortJob.setOutputKeyClass(IntWritable.class);sortJob.setOutputValueClass(Text.class);sortJob.setOutputKeyComparatorClass(IntWritableDecreasingComparator.class);JobClient.runJob(sortJob);} finally {FileSystem.get(conf).delete(tempDir); //刪除臨時目錄}return 0;}private static class IntWritableDecreasingComparator extends IntWritable.Comparator {public int compare(WritableComparable a, WritableComparable b) {return -super.compare(a, b);}public int compare(byte[] b1, int s1, int l1, byte[] b2, int s2, int l2) {return -super.compare(b1, s1, l1, b2, s2, l2);}}

在 Eclipse 環境下進行開發和調試

在 Eclipse 環境下可以方便地進行 Hadoop 并行程序的開發和調試。推薦使用 IBM MapReduce Tools for Eclipse, 使用這個 Eclipse plugin 可以簡化開發和部署 Hadoop 并行程序的過程。基于這個 plugin, 可以在 Eclipse 中創建一個 Hadoop MapReduce 應用程序,并且提供了一些基于 MapReduce 框架的類開發的向導,可以打包成 JAR 文件,部署一個 Hadoop MapReduce 應用程序到一個 Hadoop 服務器(本地和遠程均可),可以通過一個專門的視圖 ( perspective ) 查看 Hadoop 服務器、Hadoop 分布式文件系統( DFS )和當前運行的任務的狀態。

可在 IBM alphaWorks 網站下載這個?MapReduce Tool, 或在本文的下載清單中下載。將下載后的壓縮包解壓到你 Eclipse 安裝目錄,重新啟動 Eclipse 即可使用了。

設置 Hadoop 主目錄

點擊 Eclipse 主菜單上 Windows->Preferences, 然后在左側選擇 Hadoop Home Directory,設定你的 Hadoop 主目錄,如圖一所示:

圖 1

創立一個 MapReduce Project

點擊 Eclipse 主菜單上 File->New->Project, 在彈出的對話框中選擇 MapReduce Project, 輸入 project name 如 wordcount, 然后點擊 Finish 即可。,如圖 2 所示:

圖 2

此后,你就可以象一個普通的 Eclipse Java project 那樣,添加入 Java 類,比如你可以定義一個 WordCount 類,然后將本文代碼清單1,2,3中的代碼寫到此類中,添加入必要的 import 語句 ( Eclipse 快捷鍵 ctrl+shift+o 可以幫你),即可形成一個完整的 wordcount 程序。

在我們這個簡單的 wordcount 程序中,我們把全部的內容都放在一個 WordCount 類中。實際上 IBM MapReduce tools 還提供了幾個實用的向導 ( wizard ) 工具,幫你創建單獨的 Mapper 類,Reducer 類,MapReduce Driver 類(就是代碼清單3中那部分內容),在編寫比較復雜的 MapReduce 程序時,將這些類獨立出來是非常有必要的,也有利于在不同的計算任務中重用你編寫的各種 Mapper 類和 Reducer 類。

在 Eclipse 中運行

如圖三所示,設定程序的運行參數:輸入目錄和輸出目錄之后,你就可以在 Eclipse 中運行 wordcount 程序了,當然,你也可以設定斷點,調試程序。

圖 3

結束語

到目前為止,我們已經介紹了 MapReduce 計算模型,分布式文件系統 HDFS,分布式并行計算等的基本原理, 如何安裝和部署單機 Hadoop 環境,實際編寫了一個 Hadoop 并行計算程序,并了解了一些重要的編程細節,了解了如何使用 IBM MapReduce Tools 在 Eclipse 環境中編譯,運行和調試你的 Hadoop 并行計算程序。但一個 Hadoop 并行計算程序,只有部署運行在分布式集群環境中,才能發揮其真正的優勢,在這篇系列文章的第 3 部分中,你將了解到如何部署你的分布式 Hadoop 環境,如何利用 IBM MapReduce Tools 將你的程序部署到分布式環境中運行等內容。

聲明:本文僅代表作者個人之觀點,不代表 IBM 公司之觀點。

下載

描述 名字 大小 改進的 wordcount 程序 IBM MapReduce Tools
wordcount.zip 8KB
mapreduce_plugin.zip 324KB

參考資料

學習

  • 訪問?Hadoop 官方網站,了解 Hadoop 及其子項目 HBase 的信息。
  • Hadoop wiki?上, 有許多 Hadoop 的用戶文檔,開發文檔,示例程序等。
  • 閱讀 Google Mapreduce 論文:?MapReduce: Simplified Data Processing on Large Clusters?, 深入了解 Mapreduce 計算模型。
  • 學習 Hadoop 分布式文件系統 HDFS:?The Hadoop Distributed File System:Architecture and Design
  • 學習 Google 文件系統 GFS:?The Google File System, Hadoop HDFS 實現了與 GFS 類似的功能。
  • 到 IBM alphaWorks 網站了解并且下載 IBM MapReduce Tools:http://www.alphaworks.ibm.com/tech/mapreducetools,
from: https://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop2/

總結

以上是生活随笔為你收集整理的用 Hadoop 进行分布式并行编程, 第 2 部分 程序实例与分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

国产一级黄色片免费看 | av高清在线 | 91片黄在线观看动漫 | 国产精品久久久久毛片大屁完整版 | 国产97在线看 | 丁香5月婷婷久久 | 久久99中文字幕 | 天堂中文在线播放 | 久久www免费视频 | 最新中文字幕在线播放 | 亚洲激情在线 | 不卡视频在线 | 免费观看国产成人 | 又黄又爽的视频在线观看网站 | 国产粉嫩在线 | 一区二区不卡在线观看 | 最新99热| 国产精品完整版 | 黄色影院在线播放 | 69久久99精品久久久久婷婷 | 97人人模人人爽人人喊中文字 | 午夜久久电影网 | 亚洲精品网址在线观看 | 国产精品久久三 | 久久精品网址 | 亚洲国产成人久久综合 | 亚洲欧美成人综合 | 国产高清免费视频 | 久久久99精品免费观看乱色 | 欧美日韩三级在线观看 | 香蕉久久久久久久 | 中文字幕高清视频 | 91看片在线免费观看 | 中文字幕在线观看不卡 | 五月开心婷婷网 | 丁香六月av | 亚洲国产操 | 久久久亚洲国产精品麻豆综合天堂 | 亚洲精品777 | 91在线亚洲 | 日本最新一区二区三区 | 中文字幕在线日本 | 亚洲一区二区黄色 | 人人擦| 在线国产福利 | 麻花豆传媒一二三产区 | 探花视频在线版播放免费观看 | 国产精品毛片一区二区三区 | 香蕉视频在线免费 | 在线观看成人福利 | 五月综合色婷婷 | 国产青草视频在线观看 | 国产丝袜 | a视频在线 | 久久亚洲综合国产精品99麻豆的功能介绍 | 亚洲精品中文字幕在线观看 | 91c网站色版视频 | 97碰碰精品嫩模在线播放 | 怡红院久久 | 亚洲一区欧美激情 | 久综合网 | 久久视频中文字幕 | 一区二区三区中文字幕在线观看 | 国产精品成人久久久久 | 欧美三级免费 | 伊人电影天堂 | 国产成人综合在线观看 | 色婷婷亚洲综合 | 91视频高清 | 中文字幕久久亚洲 | 香蕉在线影院 | 一区久久久| 99精品免费久久久久久日本 | 国产精品一区二区在线免费观看 | 91资源在线视频 | 97色在线观看免费视频 | 中文字幕中文字幕在线中文字幕三区 | 日韩免费看 | 99久久www | 亚洲激情在线 | 有没有在线观看av | 日韩欧美在线一区 | 国产精品99久久久久久宅男 | 成人黄色大片在线观看 | 九九免费在线观看视频 | 久久999精品| 国内精品久久久久久中文字幕 | 日韩高清在线一区二区 | 日本激情动作片免费看 | 亚洲国产午夜 | 丁香五月亚洲综合在线 | 亚洲精品福利在线观看 | 天天射综合网站 | 91福利视频免费观看 | av电影免费观看 | 久久久亚洲麻豆日韩精品一区三区 | 免费毛片aaaaaa| 精品一区二区三区四区在线 | 美女视频一区 | 免费高清在线视频一区· | 日韩精品中文字幕在线 | 成人理论在线观看 | 午夜电影一区 | 久久成人国产精品入口 | 超碰97免费在线 | 亚洲国产美女精品久久久久∴ | 麻花豆传媒mv在线观看网站 | 国产精品久久久久三级 | 国产在线高清精品 | 国产精品美女久久久久久免费 | 99久久精品午夜一区二区小说 | 久久女教师 | 久久夜色精品国产欧美乱极品 | 久久久久综合精品福利啪啪 | 99久久久久久久久 | 精品黄色片 | 日本精品一区二区在线观看 | 国产精品一区二区三区在线看 | 天天射射天天 | 久久精品一二三区白丝高潮 | 99riav1国产精品视频 | 久久激情视频 久久 | 97av超碰| 国产理论一区二区三区 | 国产综合视频在线观看 | 开心激情久久 | 四虎成人精品在永久免费 | 波多野结衣在线视频免费观看 | 精品欧美乱码久久久久久 | 中文乱幕日产无线码1区 | 麻豆国产露脸在线观看 | 在线观看日韩精品视频 | 欧美激情精品久久久久久免费印度 | 中文字幕成人 | 人人舔人人爽 | 日本高清xxxx| 香蕉影院在线播放 | 五月婷婷影院 | 国产九九九九九 | 久久夜色精品国产欧美一区麻豆 | 中文在线字幕免 | 免费看国产a | 免费在线观看午夜视频 | 中文字幕久久久精品 | 免费观看的黄色 | 在线免费视频一区 | 欧美性超爽 | 国产成人99av超碰超爽 | 欧美综合在线观看 | 亚洲欧美成人综合 | 超碰97人人爱 | 色中色资源站 | 国产香蕉97碰碰碰视频在线观看 | 四虎最新入口 | 久久久久久欧美二区电影网 | 国产精品视频免费在线观看 | 亚洲精品小区久久久久久 | 超碰在线中文字幕 | 中文在线资源 | 91九色在线视频 | 丁香六月婷婷开心婷婷网 | 久久久免费少妇 | 久久在草 | 激情在线网站 | 欧美亚洲免费在线一区 | 亚洲aⅴ在线观看 | 美女网站色免费 | av电影av在线| 超碰人人草人人 | 欧美淫视频| 国产69精品久久久久久久久久 | av一级在线| 欧洲亚洲女同hd | 99久久精品国产欧美主题曲 | 久久精品国产一区二区三区 | 在线视频日韩一区 | 在线国产日韩 | 在线观看中文字幕一区 | 激情电影在线观看 | 精品久久久久久久久中文字幕 | 免费午夜在线视频 | 99热官网 | 亚洲成人黄色 | 欧美日韩伦理在线 | av成人免费网站 | 国产精品久久久免费看 | 天天操网址 | 天天色天天干天天色 | 国产精品大片在线观看 | 国产少妇在线观看 | 精品亚洲视频在线 | 亚洲精品视频大全 | 夜夜夜| 国产一级黄色免费看 | 激情丁香 | av色综合网| 成人av一区二区在线观看 | 97精品超碰一区二区三区 | 亚洲综合国产精品 | 国产成人久久av免费高清密臂 | 91精品久久久久久粉嫩 | 成人国产网址 | 精品美女国产在线 | 久久综合久久综合九色 | 最近日本韩国中文字幕 | 日本精品二区 | 国产精品免费大片视频 | 亚洲视频一级 | 视频在线91 | 在线播放 日韩专区 | 亚洲国产三级在线观看 | 日韩天堂网 | 国色天香第二季 | 欧美日韩中文国产一区发布 | 日韩视频三区 | 在线精品视频免费播放 | 青青五月天| 中文字幕在线国产 | 日本中文一级片 | 日日夜色 | 欧美日在线观看 | 97超碰福利久久精品 | 欧美一二区视频 | 天天鲁天天干天天射 | 久久草在线精品 | www99久久 | 九九九热精品免费视频观看网站 | bbbb操bbbb| 超碰人人超| 国产一区二区在线免费播放 | 午夜少妇| 国产视| 色视频在线观看免费 | 久久久久国产精品视频 | 成年人av在线播放 | 欧美一级视频免费看 | 国产传媒一区在线 | 欧美在线观看视频一区二区三区 | 中文字幕精 | 欧美一级电影片 | 亚洲精品国产电影 | 国产精品刺激对白麻豆99 | 97在线观看免费观看 | 日韩成人一级大片 | 国产91丝袜在线播放动漫 | 在线成人中文字幕 | 国产在线视频一区二区 | a视频在线播放 | 黄色成人影院 | 久久99久久99精品中文字幕 | 97操碰| 免费中文字幕视频 | 99高清视频有精品视频 | 日本中文字幕在线一区 | av先锋中文字幕 | 成人性生爱a∨ | av成人在线播放 | 婷婷激情网站 | 中文字幕 二区 | 亚洲成人精品影院 | 国产你懂的在线 | 国产系列 在线观看 | 综合久久一本 | 在线天堂中文www视软件 | 五月婷视频 | 国产视| 91丨九色丨国产丨porny精品 | 天天搞天天干天天色 | 深夜激情影院 | 久草网站 | 波多野结衣电影一区二区 | 人人超在线公开视频 | 亚洲免费婷婷 | 国产一级片观看 | 亚洲区另类春色综合小说 | 国产色一区 | 91精品麻豆| 中文字幕在线久一本久 | 欧美天天干 | 天天草天天干天天 | 一二三精品视频 | 久草免费在线观看 | 成人 国产 在线 | www狠狠操 | 日韩av视屏在线观看 | 色婷婷激情综合 | 91污视频在线观看 | 九九九视频在线 | 亚洲精区二区三区四区麻豆 | 91福利区一区二区三区 | 亚洲成人家庭影院 | 最新午夜 | 午夜精选视频 | 国产精品一区二 | 国产精品99久久久久久久久 | 日韩在线观看三区 | 黄色在线网站噜噜噜 | 久久dvd| japanesefreesexvideo高潮| 久久久久国产精品午夜一区 | 久久国产精品视频观看 | 日韩黄色免费在线观看 | 国产香蕉视频在线观看 | 久久小视频 | 久久久精品国产一区二区三区 | 五月天婷婷在线视频 | 午夜免费电影院 | 波多野结衣一区二区三区中文字幕 | 欧美性黄网官网 | 欧美成人影音 | 日韩一二三在线 | 夜夜躁狠狠躁日日躁 | 一区二区三区日韩在线观看 | 亚洲乱码在线 | 黄色片视频免费 | 激情深爱| 日韩电影一区二区三区 | 国产在线黄 | 天天射天天爽 | 国产99久久九九精品 | 成人动漫一区二区三区 | av短片在线观看 | 日本三级吹潮在线 | 欧美男同视频网站 | 亚洲久草视频 | 久久久久北条麻妃免费看 | 91精品国产乱码久久桃 | av专区在线 | www.看片网站 | 成人在线免费看视频 | 天天av资源 | 婷婷在线网 | 久久在线视频在线 | 亚洲女同ⅹxx女同tv | 国产超碰在线 | 亚洲欧洲精品一区 | 一级黄色片在线免费看 | 日日干天夜夜 | 免费高清在线视频一区· | 美女免费黄网站 | 日韩福利在线观看 | 欧美精品乱码久久久久久 | 美女一二三区 | 日本女人在线观看 | 日韩免费视频 | 日韩国产精品毛片 | 97视频免费观看2区 亚洲视屏 | 日韩在线高清 | 日本女人的性生活视频 | 91久久黄色 | 一本色道久久精品 | 日韩一区二区三区高清在线观看 | 国产精品久久久久久久久久了 | 国产成人精品午夜在线播放 | 少妇bbbb搡bbbb搡bbbb | 在线观看视频一区二区三区 | 日韩网站在线播放 | 激情综合色播五月 | 狠狠操精品 | 欧美不卡视频在线 | 日韩精品亚洲专区在线观看 | 黄色午夜网站 | 亚洲午夜久久久久久久久 | 999精品 | 天天爱天天射 | 久久天天躁夜夜躁狠狠85麻豆 | 99精品乱码国产在线观看 | 91成人免费在线 | 国产黄色精品 | 欧美在线视频一区二区三区 | www.伊人色.com | 久久精品三级 | 国产精品久久久久久久久久久免费 | 亚洲精品乱码久久久久久蜜桃不爽 | 久久精品视频在线观看免费 | 伊人久久精品久久亚洲一区 | 免费观看黄色av | 九九九热精品免费视频观看网站 | 99国产精品久久久久久久久久 | 视频国产精品 | 国产精品ⅴa有声小说 | 日韩欧美国产成人 | 黄色精品免费 | 久久九九久久九九 | 欧美在线91 | 人人超碰免费 | 欧美一级电影在线观看 | 国产精品刺激对白麻豆99 | 久草国产在线观看 | 狠狠色丁香婷婷综合久小说久 | 国产精品白丝jk白祙 | 欧洲亚洲女同hd | 欧美色插 | 狠狠操综合网 | 日韩午夜小视频 | 在线精品视频在线观看高清 | 亚洲成aⅴ人片久久青草影院 | 欧美激情精品久久久久 | 91九色视频在线观看 | 日日爱网站 | 久久精品免费看 | 色综合天天综合 | 国产精品一区在线播放 | 久久电影中文字幕视频 | 99精品久久只有精品 | 在线观看免费黄视频 | 中文字幕色综合网 | 波多野结衣在线视频一区 | 色婷婷精品大在线视频 | 久久精品爱爱视频 | 亚洲深爱激情 | 成人午夜在线电影 | 亚洲伦理电影在线 | 国产精品普通话 | 国产91精品在线播放 | 国产高清专区 | av 一区二区三区 | 狠狠色丁香婷婷综合久久片 | 久99久在线视频 | 久草网站在线观看 | 欧美少妇影院 | 国产a级精品 | 欧美成人精品欧美一级乱 | 婷婷播播网 | 国产成人久久av免费高清密臂 | 国产精品精品国产色婷婷 | 欧美在线一级片 | 99久久精品免费看国产一区二区三区 | 国产成人精品久久亚洲高清不卡 | 又黄又刺激的视频 | 91av观看| 亚洲精品视频免费 | 特级a老妇做爰全过程 | 黄色av大片 | 成年人天堂com | 天天干,天天射,天天操,天天摸 | 久久激情视频免费观看 | 丁香电影小说免费视频观看 | 中文字幕日本电影 | 久久久久久久久久久久久影院 | 一级黄色大片 | 久久精品视频在线 | 中文av日韩 | 欧美日韩三区二区 | 国产高清在线精品 | 免费av小说 | 久久精品综合一区 | 国产美女精品久久久 | 亚洲人人网 | 91精选| 亚洲精品视频免费看 | 成人黄视频 | 中文字幕在线免费播放 | 人人澡av | 亚洲最大av在线播放 | 99视频在线免费观看 | 亚洲精品字幕 | 中文字幕一区二区三区在线视频 | 久久国产一区二区三区 | 91精品免费在线视频 | 性色xxxxhd | 成人小视频免费在线观看 | 国产精品久久久久久久久久久杏吧 | 国产精品美女www爽爽爽视频 | 亚洲国产偷 | 96视频免费在线观看 | 欧美黑人猛交 | 99精品久久久久久久久久综合 | 国产精品6999成人免费视频 | 欧美经典久久 | 在线观看中文字幕视频 | 五月天综合激情网 | 日韩电影一区二区三区在线观看 | 国产精品免费久久久 | 99国产精品 | 韩国av电影网 | 欧美另类亚洲 | 中文字幕一区在线观看视频 | 国产成人高清av | av导航福利 | 婷婷深爱网 | 日韩三级视频 | 激情视频区| av在线播放一区二区三区 | 中文字幕一区二区三区久久 | 中文字幕在线专区 | 99久久久国产精品免费观看 | 黄色毛片视频免费观看中文 | 国产在线视频在线观看 | 久久久免费观看视频 | 欧美影片 | 免费看的黄网站 | а中文在线天堂 | 韩国av一区二区三区在线观看 | 国产精品一区二区久久精品爱涩 | 婷婷深爱网 | 91麻豆精品国产91久久久使用方法 | 99久久这里有精品 | 免费视频久久久 | 中国一级特黄毛片大片久久 | 久产久精国产品 | 中日韩在线 | 91探花系列在线播放 | 亚洲一区二区精品3399 | 五月婷婷黄色 | 精品国产一区二区三区久久久久久 | 国产精品成人一区二区 | 欧美日韩一区二区在线观看 | 九九热在线播放 | 免费成人短视频 | 天天干天天射天天爽 | 五月天综合激情 | 国产精品美女在线观看 | 色夜影院| 久久精品综合一区 | 91影视成人 | 四虎8848免费高清在线观看 | 久草手机视频 | 欧美成人黄色 | 日韩三级在线 | 日韩高清在线不卡 | 日韩精品一区电影 | 久久久国产精品人人片99精片欧美一 | av免费在线观看1 | 亚洲精品乱码久久久久久蜜桃不爽 | www.五月婷| 精品久久久久久久久久久久 | 狠狠操操 | 一区二区三区在线免费播放 | 国产精品午夜免费福利视频 | 免费看黄视频 | 在线观看91av | 天天综合在线观看 | 在线免费观看av网站 | 91试看| 国产综合在线视频 | 夜夜澡人模人人添人人看 | 97在线观看免费观看 | 国产精品日韩久久久久 | www.com黄色 | 中文字幕日韩在线播放 | 天天天干天天射天天天操 | 六月丁香社区 | 久久精品国产一区二区三区 | 黄p在线播放 | 97超碰在线久草超碰在线观看 | 天天舔天天搞 | 久久成人免费视频 | 久草在线视频免赞 | 区一区二区三在线观看 | 精品视频在线播放 | 久久99久国产精品黄毛片入口 | 一级黄色片在线播放 | 永久黄网站色视频免费观看w | 欧美一级爽 | 啪啪肉肉污av国网站 | 国产日韩欧美在线一区 | 日韩二区三区在线观看 | 国产精品6 | 国产精品成人aaaaa网站 | 中文成人字幕 | 国产中文字幕在线播放 | 中文字幕精品一区久久久久 | 免费看久久 | 久久经典国产视频 | 毛片永久新网址首页 | 欧美日韩视频在线观看一区二区 | 欧美日韩在线观看视频 | 91九色丨porny丨丰满6 | 在线性视频日韩欧美 | 亚洲欧美日韩国产 | 国产精品女同一区二区三区久久夜 | 欧美激情综合五月色丁香小说 | 99视频免费看 | 免费男女羞羞的视频网站中文字幕 | 亚洲五月激情 | 天堂av色婷婷一区二区三区 | 国产午夜一级毛片 | 亚洲欧美国产精品久久久久 | 国产精品青青 | 亚洲一区美女视频在线观看免费 | 久久欧美综合 | 一二区电影 | 狠狠干 狠狠操 | 免费日韩在线 | 国产麻豆精品久久 | 国产一区二区手机在线观看 | 亚洲爽爽网 | 欧美一区免费观看 | 色停停五月天 | 天天添夜夜操 | 中文字幕999 | 婷婷色在线资源 | 亚洲视频资源在线 | 国产黄a三级 | 国产一级一片免费播放放 | 国产亚洲日本 | 国产精品久久久久久久久久久免费看 | 天天玩夜夜操 | 中文字幕在线观看视频网站 | 成人a在线| 97在线免费观看 | 亚洲人久久| 有码一区二区三区 | 日韩激情第一页 | 欧美一级激情 | 精品人妖videos欧美人妖 | 三级视频片| 波多野结衣在线观看一区 | 久久久精品国产免费观看一区二区 | 韩国av在线播放 | 日本成人中文字幕在线观看 | 日本夜夜草视频网站 | 999精品在线| 久久99热这里只有精品 | 91久久电影| 美女搞黄国产视频网站 | 国产成人在线精品 | 五月天视频网站 | 黄色片软件网站 | 成 人 黄 色 片 在线播放 | 国产中文字幕三区 | 天天人人 | 久久久久五月天 | 91av视频在线观看 | 视频在线国产 | 在线免费观看涩涩 | 色网站视频 | 六月丁香在线视频 | 日本黄色免费大片 | 亚洲欧美一区二区三区孕妇写真 | 在线视频 一区二区 | 五月天久久激情 | 在线成人高清电影 | 亚洲成人高清在线 | 四虎免费在线观看视频 | 在线亚洲免费视频 | 成人黄色av免费在线观看 | 久久综合九色综合久久久精品综合 | 精品一区二区三区四区在线 | 亚洲麻豆精品 | 日韩精品一区二区在线观看视频 | 久操视频在线免费看 | 久草网站 | 亚洲国产精彩中文乱码av | 亚洲国产精品一区二区久久,亚洲午夜 | 97超视频免费观看 | 最近高清中文字幕 | 亚洲三级视频 | 久草在线资源免费 | 99精品久久久久久久 | 啪嗒啪嗒免费观看完整版 | 久久久久久综合网天天 | 精品人妖videos欧美人妖 | 欧美午夜a | 久久久在线视频 | 午夜精品一区二区三区在线 | 在线视频你懂 | av动图| 91色在线观看 | 国产精品一区二 | 综合久久网站 | 在线免费91 | 亚洲精品mv在线观看 | 亚洲视频在线播放 | 久久这里只有精品首页 | 99人久久精品视频最新地址 | 伊人五月天.com | 在线一区观看 | 日韩中文字幕在线看 | 国产手机av在线 | 国产精品1区2区3区 久久免费视频7 | 日韩91在线 | 日韩激情在线视频 | 中文永久免费观看 | 免费精品视频在线观看 | 97精品电影院 | 色五月色开心色婷婷色丁香 | 精品一区二区久久久久久久网站 | 国内精品久久久久久久影视麻豆 | 国产精品s色| 欧美精品在线一区二区 | 国产一区二区视频在线 | 在线观看av不卡 | 久草在线视频首页 | 天天综合区 | 伊人久久影视 | av 一区 二区 久久 | 一区中文字幕 | 国产日韩视频在线 | 国产精品久久嫩一区二区免费 | 天天综合网~永久入口 | av不卡免费在线观看 | 中文字幕在线看视频国产 | 黄色亚洲片 | 国产精品国产三级国产不产一地 | 精品国产伦一区二区三区观看体验 | 日韩欧美在线一区二区 | 亚洲91中文字幕无线码三区 | 久久试看| 99久久婷婷国产一区二区三区 | 精品国产不卡 | 在线视频 91 | 日产乱码一二三区别免费 | 欧美巨大 | 日韩免费观看av | 国产精品福利在线观看 | 久久伦理 | 国产精品不卡一区 | 久草色在线观看 | 六月丁香激情综合色啪小说 | 欧美一区二区三区在线视频观看 | 最近中文字幕大全中文字幕免费 | 人人澡人人爱 | 国产亚洲精品女人久久久久久 | 91人人爽人人爽人人精88v | 中文字幕资源站 | 国产五月色婷婷六月丁香视频 | 黄色免费大片 | 天天操天天摸天天爽 | 国产 在线 高清 精品 | 黄色一级大片在线免费看国产一 | 91久久精品一区二区三区 | 激情综合网色播五月 | 久久久国产精品一区二区中文 | 99国产一区二区三精品乱码 | 国产精品手机播放 | 色综合久久久久久中文网 | 少妇搡bbbb搡bbb搡忠贞 | 国产精品麻豆欧美日韩ww | 99久久国产免费,99久久国产免费大片 | 波多野结衣在线观看一区二区三区 | 最近中文字幕国语免费高清6 | 欧美日韩久 | 欧美a级在线 | 国产又黄又硬又爽 | 精品一区二区三区电影 | 视频在线精品 | 日本中文字幕网址 | 中文亚洲欧美日韩 | 中文字幕国产精品 | 99中文视频在线 | av一本久道久久波多野结衣 | 国产成人精品女人久久久 | 五月婷婷丁香综合 | 久久黄色小说视频 | 91精品黄色 | 日日碰狠狠躁久久躁综合网 | 久久久午夜精品理论片中文字幕 | 超碰伊人网 | 国产日韩中文在线 | 麻豆免费视频网站 | 超碰在线最新地址 | 国产91全国探花系列在线播放 | 久久精品这里热有精品 | 国产精品永久免费视频 | 亚洲三级av | av在线短片 | 人人爽人人爽人人片 | 99国产精品久久久久久久久久 | 日本久久免费电影 | 亚洲一区二区天堂 | 日韩中文字幕视频在线观看 | 西西大胆啪啪 | 免费在线日韩 | 五月婷婷开心 | 黄色一级在线视频 | 五月激情婷婷丁香 | 欧美韩日视频 | 久久久久久久久网站 | 免费色av| 久久中文字幕导航 | h网站免费在线观看 | 九九热久久免费视频 | 91精品综合在线观看 | 午夜av不卡| 少妇资源站| www.天天射.com | 日韩欧美一区二区三区黑寡妇 | www欧美xxxx| 中文字幕高清在线播放 | 视频在线观看入口黄最新永久免费国产 | 国产一区视频免费在线观看 | 综合色久| 天天射天天干天天爽 | 欧美伦理一区二区三区 | 亚洲国产成人久久综合 | 国产精品女视频 | 97偷拍视频| 日韩精品久久一区二区 | 狠狠色丁香久久综合网 | 91精品久久香蕉国产线看观看 | 九色激情网 | 天天干天天做 | 丁香久久综合 | 九九热免费在线视频 | 精品一区久久 | 精品国产1区| 日韩丝袜在线观看 | 九月婷婷人人澡人人添人人爽 | 国产精品一区一区三区 | 91久草视频 | 欧美a免费 | 亚洲 成人 一区 | 2019中文最近的2019中文在线 | 久久久久久久久久久精 | 91成人在线视频观看 | 天天艹天天 | 中文字幕中文字幕在线中文字幕三区 | a级一a一级在线观看 | 中文字幕免 | 久久国产成人午夜av影院潦草 | 99精品视频网站 | 国产区精品视频 | 亚洲国产精品影院 | 国产一区二区精品91 | 成人一区二区三区中文字幕 | 天天摸天天干天天操天天射 | 久久综合久久综合这里只有精品 | 国产精品久久久久久久久久东京 | 欧美日性视频 | 亚洲欧美日韩中文在线 | 国产视频18 | 69国产精品成人在线播放 | 成人午夜精品福利免费 | 日本深夜福利视频 | 夜夜夜精品 | www.夜夜爽| 久久久久美女 | 精品在线观看一区二区三区 | 国产精品久久久777 成人手机在线视频 | 久久久影院官网 | 在线观看免费观看在线91 | 精品国产一区在线观看 | 久久黄色免费 | 青草视频在线 | 五月婷色 | 国产蜜臀av | www.操.com| 亚洲手机天堂 | 国产免费观看高清完整版 | 精品久久久久久久久久岛国gif | 最新av在线网站 | 五月激情丁香图片 | 五月天中文在线 | 69av免费视频| 日韩电影中文字幕在线 | 天天干天天操av | 亚洲五月六月 | 久久久久国产成人精品亚洲午夜 | 狠狠操在线 | 亚洲 欧美日韩 国产 中文 | 久久免费在线观看 | 97在线免费观看视频 | 激情五月婷婷综合网 | www.狠狠插.com | 97免费在线观看 | 中文在线天堂资源 | 人人艹人人 | 久久久午夜视频 | 亚洲精品tv久久久久久久久久 | 欧美精品生活片 | 亚洲欧洲精品在线 | 午夜免费福利视频 | 亚洲精品乱码久久久久久蜜桃欧美 | 日本精品久久 | 午夜视频在线观看一区二区 | 国产剧情av在线播放 | 精品久久美女 | v片在线看 | 欧美 日韩精品 | 欧美激情xxxx性bbbb | av片子在线观看 | 91在线91拍拍在线91 | 在线观看www.| 国产精品嫩草影院123 | 日日干天天操 | av福利电影| 激情在线网站 | 成人免费视频播放 | 国产vs久久 | 美女黄频在线观看 | 超碰在线公开 | 特级毛片网| 日日色综合 | 国产九色在线播放九色 | 国产在线观看一区 | 日韩欧美在线高清 | 亚洲理论影院 | 国产免费又粗又猛又爽 | 国内精品久久久久影院一蜜桃 | 天堂网中文在线 | 亚洲成色777777在线观看影院 | 日韩在线观看第一页 | 欧美成人中文字幕 | 中文字幕在线成人 | 九九在线高清精品视频 | 天天久久夜夜 | 91看片淫黄大片一级在线观看 | 开心色婷婷 | 成年人视频免费在线播放 | 亚洲更新最快 | 人人擦| 亚洲综合日韩在线 | a级国产乱理伦片在线播放 久久久久国产精品一区 | 在线免费观看羞羞视频 | 天天综合在线观看 | 久久www免费人成看片高清 | 中文永久免费观看 | 日韩高清不卡在线 | 日韩在线观看你懂得 | 久久久久久久国产精品视频 | 日韩中文字幕一区 | 视频在线观看一区 | 免费又黄又爽 | 色婷婷一| 久久久免费毛片 | 在线观看国产日韩欧美 | 欧美黄色免费 | 日韩.com| 欧美一区二区三区在线视频观看 | 国产福利精品一区二区 | 在线 影视 一区 | 免费a网| 国产黄网站在线观看 | 91久久精品一区 | 色婷婷久久一区二区 | 国产不卡精品视频 | 久草精品免费 | 亚洲日韩中文字幕 | 久久精品欧美一区 | 欧美日韩性视频 | 日日夜夜天天干 | 午夜av一区 | 国产一二三四在线视频 | 久久一区二区免费视频 | 中文字幕在线观看播放 | 色婷在线 | 在线免费观看视频一区 | 国产色啪| 亚洲色影爱久久精品 | 狠狠干干 | 狠色狠色综合久久 | 日韩在线视 | 天天爱天天操天天射 | 国内精品视频一区二区三区八戒 | 成人免费一区二区三区在线观看 | 欧美午夜一区二区福利视频 | 日韩精品一区二区三区在线视频 | 91在线播放国产 | 欧美精品乱码久久久久 | 天天色天天操天天爽 | 国内久久久| 国产理伦在线 | 成人免费av电影 | 精品亚洲成a人在线观看 | 91九色蝌蚪视频网站 | 久久久久久草 | 国产精品欧美在线 | 91精品国自产在线观看欧美 | 婷婷亚洲综合 | 激情综合五月婷婷 | 久久av免费观看 | 日韩成人免费在线观看 | 久久激情视频 久久 | 最近更新中文字幕 | 在线免费观看视频一区 | 久久影视中文字幕 | 久久久久久久久毛片精品 | 久久久久久国产精品久久 | 91视频在线免费下载 | 日本精品在线视频 | 亚洲国产成人在线播放 | 日韩在线观看第一页 | 激情综合国产 | 毛片a级片| 欧美日韩有码 | 中文字幕在线观看免费高清完整版 | 国产精品视频免费看 | 国产美女视频免费观看的网站 | 成人全视频免费观看在线看 | 久久久久亚洲a | 日韩一级片网址 | 男女视频久久久 | 欧美日韩免费一区二区 | 久久99精品久久久久久久久久久久 | 国语对白少妇爽91 | av电影中文| 久久久久网站 | 天天综合网在线观看 | 午夜a区 | 五月天六月婷 | 亚洲精品美女久久久 | 欧美在线18 | 国产男男gay做爰 | 国产精品网站一区二区三区 | 天堂久色 | 国产亚洲观看 |