国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Hadoop集群系列8:Eclipse開發(fā)環(huán)境設(shè)置

開發(fā) 開發(fā)工具 大數(shù)據(jù) Hadoop
本文為Hadoop集群系列第八篇,今天我們講講Hadoop條件下,Eclipse開發(fā)環(huán)境設(shè)置。

1、Hadoop開發(fā)環(huán)境簡介

1.1 Hadoop集群簡介

  Java版本:jdk-6u31-linux-i586.bin

  Linux系統(tǒng):CentOS6.0

  Hadoop版本:hadoop-1.0.0.tar.gz

1.2 Windows開發(fā)簡介

  Java版本:jdk-6u31-windows-i586.exe

  Win系統(tǒng):Windows 7 旗艦版

  Eclipse軟件:eclipse-jee-indigo-SR1-win32.zip | eclipse-jee-helios-SR2-win32.zip

  Hadoop軟件:hadoop-1.0.0.tar.gz

  Hadoop Eclipse 插件:hadoop-eclipse-plugin-1.0.0.jar

  下載地址:http://downloa

1、Hadoop開發(fā)環(huán)境簡介

1.1 Hadoop集群簡介

  Java版本:jdk-6u31-linux-i586.bin

  Linux系統(tǒng):CentOS6.0

  Hadoop版本:hadoop-1.0.0.tar.gz

1.2 Windows開發(fā)簡介

  Java版本:jdk-6u31-windows-i586.exe

  Win系統(tǒng):Windows 7 旗艦版

  Eclipse軟件:eclipse-jee-indigo-SR1-win32.zip | eclipse-jee-helios-SR2-win32.zip

  Hadoop軟件:hadoop-1.0.0.tar.gz

  Hadoop Eclipse 插件:hadoop-eclipse-plugin-1.0.0.jar

  下載地址:http://download.csdn.net/detail/xia520pi/4113746

  備注:下面是網(wǎng)上收集的收集的"hadoop-eclipse-plugin-1.0.0.jar",除"版本2.0"是根據(jù)"V1.0"按照"常見問題FAQ_1"改的之外,剩余的"V3.0"、"V4.0"和"V5.0"和"V2.0"一樣是別人已經(jīng)弄好的,而且我已經(jīng)都測試過,沒有任何問題,可以放心使用。我們這里選擇第"V5.0"使用。記得在使用時(shí)重新命名為"hadoop-eclipse-plugin-1.0.0.jar"。

#p#

2、Hadoop Eclipse簡介和使用

2.1 Eclipse插件介紹

  Hadoop是一個(gè)強(qiáng)大的并行框架,它允許任務(wù)在其分布式集群上并行處理。但是編寫、調(diào)試Hadoop程序都有很大難度。正因?yàn)槿绱耍琀adoop的開發(fā)者開發(fā)出了Hadoop Eclipse插件,它在Hadoop的開發(fā)環(huán)境中嵌入了Eclipse,從而實(shí)現(xiàn)了開發(fā)環(huán)境的圖形化,降低了編程難度。在安裝插件,配置Hadoop的相關(guān)信息之后,如果用戶創(chuàng)建Hadoop程序,插件會自動導(dǎo)入Hadoop編程接口的JAR文件,這樣用戶就可以在Eclipse的圖形化界面中編寫、調(diào)試、運(yùn)行Hadoop程序(包括單機(jī)程序和分布式程序),也可以在其中查看自己程序的實(shí)時(shí)狀態(tài)、錯(cuò)誤信息和運(yùn)行結(jié)果,還可以查看、管理HDFS以及文件。總地來說,Hadoop Eclipse插件安裝簡單,使用方便,功能強(qiáng)大,尤其是在Hadoop編程方面,是Hadoop入門和Hadoop編程必不可少的工具。

2.2 Hadoop工作目錄簡介

  為了以后方便開發(fā),我們按照下面把開發(fā)中用到的軟件安裝在此目錄中,JDK安裝除外,我這里把JDK安裝在C盤的默認(rèn)安裝路徑下,下面是我的工作目錄:

系統(tǒng)磁盤(E:)

|---HadoopWorkPlat

|--- eclipse

|--- hadoop-1.0.0

|--- workplace

|---……

  按照上面目錄把Eclipse和Hadoop解壓到"E:\HadoopWorkPlat"下面,并創(chuàng)建"workplace"作為Eclipse的工作空間。

  備注:大家可以按照自己的情況,不一定按照我的結(jié)構(gòu)來設(shè)計(jì)。

2.3 修改系統(tǒng)管理員名字

  經(jīng)過兩天多次探索,為了使Eclipse能正常對Hadoop集群的HDFS上的文件能進(jìn)行修改和刪除,所以修改你工作時(shí)所用的Win7系統(tǒng)管理員名字,默認(rèn)一般為"Administrator",把它修改為"hadoop",此用戶名與Hadoop集群普通用戶一致,大家應(yīng)該記得我們Hadoop集群中所有的機(jī)器都有一個(gè)普通用戶——hadoop,而且Hadoop運(yùn)行也是用這個(gè)用戶進(jìn)行的。為了不至于為權(quán)限苦惱,我們可以修改Win7上系統(tǒng)管理員的姓名,這樣就避免出現(xiàn)該用戶在Hadoop集群上沒有權(quán)限等都疼問題,會導(dǎo)致在Eclipse中對Hadoop集群的HDFS創(chuàng)建和刪除文件受影響。

  你可以做一下實(shí)驗(yàn),查看Master.Hadoop機(jī)器上"/usr/hadoop/logs"下面的日志。發(fā)現(xiàn)權(quán)限不夠,不能進(jìn)行"Write"操作,網(wǎng)上有幾種解決方案,但是對Hadoop1.0不起作用,詳情見"常見問題FAQ_2"。下面我們進(jìn)行修改管理員名字。

  首先"右擊"桌面上圖標(biāo)"我的電腦",選擇"管理",彈出界面如下:

  接著選擇"本地用戶和組",展開"用戶",找到系統(tǒng)管理員"Administrator",修改其為"hadoop",操作結(jié)果如下圖:

  最后,把電腦進(jìn)行"注銷"或者"重啟電腦",這樣才能使管理員才能用這個(gè)名字。

2.4 Eclipse插件開發(fā)配置

  第一步:把我們的"hadoop-eclipse-plugin-1.0.0.jar"放到Eclipse的目錄的"plugins"中,然后重新Eclipse即可生效。

系統(tǒng)磁盤(E:)

|---HadoopWorkPlat

|--- eclipse

|--- plugins

|--- hadoop-eclipse-plugin-1.0.0.jar

  上面是我的"hadoop-eclipse-plugin"插件放置的地方。重啟Eclipse如下圖:

  細(xì)心的你從上圖中左側(cè)"Project Explorer"下面發(fā)現(xiàn)"DFS Locations",說明Eclipse已經(jīng)識別剛才放入的Hadoop Eclipse插件了。

  第二步:選擇"Window"菜單下的"Preference",然后彈出一個(gè)窗體,在窗體的左側(cè),有一列選項(xiàng),里面會多出"Hadoop Map/Reduce"選項(xiàng),點(diǎn)擊此選項(xiàng),選擇Hadoop的安裝目錄(如我的Hadoop目錄:E:\HadoopWorkPlat\hadoop-1.0.0)。結(jié)果如下圖:

  第三步:切換"Map/Reduce"工作目錄,有兩種方法:

  1)選擇"Window"菜單下選擇"Open Perspective",彈出一個(gè)窗體,從中選擇"Map/Reduce"選項(xiàng)即可進(jìn)行切換。

  2)在Eclipse軟件的右上角,點(diǎn)擊圖標(biāo)""中的"",點(diǎn)擊"Other"選項(xiàng),也可以彈出上圖,從中選擇"Map/Reduce",然后點(diǎn)擊"OK"即可確定。

  切換到"Map/Reduce"工作目錄下的界面如下圖所示。

  第四步:建立與Hadoop集群的連接,在Eclipse軟件下面的"Map/Reduce Locations"進(jìn)行右擊,彈出一個(gè)選項(xiàng),選擇"New Hadoop Location",然后彈出一個(gè)窗體。

  注意上圖中的紅色標(biāo)注的地方,是需要我們關(guān)注的地方。

  • Location Name:可以任意其,標(biāo)識一個(gè)"Map/Reduce Location"

  • Map/Reduce Master
    Host:192.168.1.2(Master.Hadoop的IP地址)
    Port:9001

  • DFS Master
    Use M/R Master host:前面的勾上。(因?yàn)槲覀兊腘ameNode和JobTracker都在一個(gè)機(jī)器上。)
    Port:9000

  • User name:hadoop(默認(rèn)為Win系統(tǒng)管理員名字,因?yàn)槲覀冎案牧怂赃@里就變成了hadoop。)

  備注:這里面的Host、Port分別為你在mapred-site.xml、core-site.xml中配置的地址及端口。不清楚的可以參考"Hadoop集群_第5期_Hadoop安裝配置_V1.0"進(jìn)行查看。

  接著點(diǎn)擊"Advanced parameters"從中找見"hadoop.tmp.dir",修改成為我們Hadoop集群中設(shè)置的地址,我們的Hadoop集群是"/usr/hadoop/tmp",這個(gè)參數(shù)在"core-site.xml"進(jìn)行了配置。

  點(diǎn)擊"finish"之后,會發(fā)現(xiàn)Eclipse軟件下面的"Map/Reduce Locations"出現(xiàn)一條信息,就是我們剛才建立的"Map/Reduce Location"。

  第五步:查看HDFS文件系統(tǒng),并嘗試建立文件夾和上傳文件。點(diǎn)擊Eclipse軟件左側(cè)的"DFS Locations"下面的"Win7ToHadoop",就會展示出HDFS上的文件結(jié)構(gòu)。

  右擊"Win7ToHadoopàuseràhadoop"可以嘗試建立一個(gè)"文件夾--xiapi",然后右擊刷新就能查看我們剛才建立的文件夾。

  創(chuàng)建完之后,并刷新,顯示結(jié)果如下:

  用SecureCRT遠(yuǎn)程登錄"Master.Hadoop"服務(wù)器,用下面命令查看是否已經(jīng)建立一個(gè)"xiapi"的文件夾。

hadoop fs -ls

  到此為止,我們的Hadoop Eclipse開發(fā)環(huán)境已經(jīng)配置完畢,不盡興的同學(xué)可以上傳點(diǎn)本地文件到HDFS分布式文件上,可以互相對比意見文件是否已經(jīng)上傳成功。

3、Eclipse運(yùn)行WordCount程序

3.1 配置Eclipse的JDK

  如果電腦上不僅僅安裝的JDK6.0,那么要確定一下Eclipse的平臺的默認(rèn)JDK是否6.0。從"Window"菜單下選擇"Preference",彈出一個(gè)窗體,從窗體的左側(cè)找見"Java",選擇"Installed JREs",然后添加JDK6.0。下面是我的默認(rèn)選擇JRE。

  下面是沒有添加之前的設(shè)置如下:

  下面是添加完JDK6.0之后結(jié)果如下:

  接著設(shè)置Complier。

3.2 設(shè)置Eclipse的編碼為UTF-8

3.3 創(chuàng)建MapReduce項(xiàng)目

  從"File"菜單,選擇"Other",找到"Map/Reduce Project",然后選擇它。

  接著,填寫MapReduce工程的名字為"WordCountProject",點(diǎn)擊"finish"完成。

  目前為止我們已經(jīng)成功創(chuàng)建了MapReduce項(xiàng)目,我們發(fā)現(xiàn)在Eclipse軟件的左側(cè)多了我們的剛才建立的項(xiàng)目。

3.4 創(chuàng)建WordCount類

  選擇"WordCountProject"工程,右擊彈出菜單,然后選擇"New",接著選擇"Class",然后填寫如下信息:

  因?yàn)槲覀冎苯佑肏adoop1.0.0自帶的WordCount程序,所以報(bào)名需要和代碼中的一致為"org.apache.hadoop.examples",類名也必須一致為"WordCount"。這個(gè)代碼放在如下的結(jié)構(gòu)中。

hadoop-1.0.0

|---src

|---examples

|---org

|---apache

|---hadoop

|---examples

  從上面目錄中找見"WordCount.java"文件,用記事本打開,然后把代碼復(fù)制到剛才建立的java文件中。當(dāng)然源碼有些變動,變動的紅色已經(jīng)標(biāo)記出。

  1.  package org.apache.hadoop.examples;  
  2. import java.io.IOException;  
  3. import java.util.StringTokenizer;  
  4. import org.apache.hadoop.conf.Configuration;  
  5. import org.apache.hadoop.fs.Path;  
  6. import org.apache.hadoop.io.IntWritable;  
  7. import org.apache.hadoop.io.Text;  
  8. import org.apache.hadoop.mapreduce.Job;  
  9. import org.apache.hadoop.mapreduce.Mapper;  
  10. import org.apache.hadoop.mapreduce.Reducer;  
  11. import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;  
  12. import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;  
  13. import org.apache.hadoop.util.GenericOptionsParser;  
  14. public class WordCount {  
  15. public static class TokenizerMapper  
  16. extends Mapper<Object, Text, Text, IntWritable>{  
  17. private final static IntWritable one = new IntWritable(1);  
  18. private Text word = new Text();  
  19. public void map(Object key, Text value, Context context  
  20. ) throws IOException, InterruptedException {  
  21. StringTokenizer itr = new StringTokenizer(value.toString());  
  22. while (itr.hasMoreTokens()) {  
  23. word.set(itr.nextToken());  
  24. context.write(word, one); }  
  25. }  
  26. }  
  27. public static class IntSumReducer  
  28. extends Reducer<Text,IntWritable,Text,IntWritable> {  
  29. private IntWritable result = new IntWritable();  
  30. public void reduce(Text key, Iterable values,  
  31. Context context  
  32. ) throws IOException, InterruptedException {  
  33. int sum = 0;  
  34. for (IntWritable val : values) {  
  35. sum += val.get();  
  36. }  
  37. result.set(sum);  
  38. context.write(key, result);  
  39. }  
  40. }  
  41. public static void main(String[] args) throws Exception {  
  42. Configuration conf = new Configuration();  
  43. conf.set("mapred.job.tracker""192.168.1.2:9001");  
  44. String[] ars=new String[]{"input","newout"};  
  45. String[] otherArgs = new GenericOptionsParser(conf, ars).getRemainingArgs();  
  46. if (otherArgs.length != 2) {  
  47. System.err.println("Usage: wordcount ");  
  48. System.exit(2);  
  49. }  
  50. Job job = new Job(conf, "word count");  
  51. job.setJarByClass(WordCount.class);  
  52. job.setMapperClass(TokenizerMapper.class);  
  53. job.setCombinerClass(IntSumReducer.class);  
  54. job.setReducerClass(IntSumReducer.class);  
  55. job.setOutputKeyClass(Text.class);  
  56. job.setOutputValueClass(IntWritable.class);  
  57. FileInputFormat.addInputPath(job, new Path(otherArgs[0]));  
  58. FileOutputFormat.setOutputPath(job, new Path(otherArgs[1]));  
  59. System.exit(job.waitForCompletion(true) ? 0 : 1);  
  60. }  

備注:如果不加"conf.set("mapred.job.tracker", "192.168.1.2:9001");",將提示你的權(quán)限不夠,其實(shí)照成這樣的原因是剛才設(shè)置的"Map/Reduce Location"其中的配置不是完全起作用,而是在本地的磁盤上建立了文件,并嘗試運(yùn)行,顯然是不行的。我們要讓Eclipse提交作業(yè)到Hadoop集群上,所以我們這里手動添加Job運(yùn)行地址。詳細(xì)參考"常見問題FAQ_3"。

3.5 運(yùn)行WordCount程序

  選擇"Wordcount.java"程序,右擊一次按照"Run ASàRun on Hadoop"運(yùn)行。然后會彈出如下圖,按照下圖進(jìn)行操作。

  運(yùn)行結(jié)果如下:

  從上圖中我們得知我們的程序已經(jīng)運(yùn)行成功了。

3.6 查看WordCount運(yùn)行結(jié)果

  查看Eclipse軟件左側(cè),右擊"DFS LocationsàWin7ToHadoopàuseràhadoop",點(diǎn)擊刷新按鈕"Refresh",我們剛才出現(xiàn)的文件夾"newoutput"會出現(xiàn)。記得"newoutput"文件夾是運(yùn)行程序時(shí)自動創(chuàng)建的,如果已經(jīng)存在相同的的文件夾,要么程序換個(gè)新的輸出文件夾,要么刪除HDFS上的那個(gè)重名文件夾,不然會出錯(cuò)。

  打開"newoutput"文件夾,打開"part-r-00000"文件,可以看見執(zhí)行后的結(jié)果。

  到此為止,Eclipse開發(fā)環(huán)境設(shè)置已經(jīng)完畢,并且成功運(yùn)行Wordcount程序,下一步我們真正開始Hadoop之旅。

4、常見問題FAQ

4.1 "error: failure to login"問題

  下面以網(wǎng)上找的"hadoop-0.20.203.0"為例,我在使用"V1.0"時(shí)也出現(xiàn)這樣的情況,原因就是那個(gè)"hadoop-eclipse-plugin-1.0.0_V1.0.jar",是直接把源碼編譯而成,故而缺少相應(yīng)的Jar包。具體情況如下

  詳細(xì)地址:http://blog.csdn.net/chengfei112233/article/details/7252404

  在我實(shí)踐嘗試中,發(fā)現(xiàn)hadoop-0.20.203.0版本的該包如果直接復(fù)制到eclipse的插件目錄中,在連接DFS時(shí)會出現(xiàn)錯(cuò)誤,提示信息為: "error: failure to login"。

  彈出的錯(cuò)誤提示框內(nèi)容為"An internal error occurred during: "Connecting to DFS hadoop".org/apache/commons/configuration/Configuration". 經(jīng)過察看Eclipse的log,發(fā)現(xiàn)是缺少jar包導(dǎo)致的。進(jìn)一步查找資料后,發(fā)現(xiàn)直接復(fù)制hadoop-eclipse-plugin-0.20.203.0.jar,該包中l(wèi)ib目錄下缺少了jar包。

  經(jīng)過網(wǎng)上資料搜集,此處給出正確的安裝方法:

  首先要對hadoop-eclipse-plugin-0.20.203.0.jar進(jìn)行修改。用歸檔管理器打開該包,發(fā)現(xiàn)只有commons-cli-1.2.jar 和hadoop-core.jar兩個(gè)包。將hadoop/lib目錄下的:

  • commons-configuration-1.6.jar ,

  • commons-httpclient-3.0.1.jar ,

  • commons-lang-2.4.jar ,

  • jackson-core-asl-1.0.1.jar

  • jackson-mapper-asl-1.0.1.jar

一共5個(gè)包復(fù)制到hadoop-eclipse-plugin-0.20.203.0.jar的lib目錄下,如下圖:

  然后,修改該包META-INF目錄下的MANIFEST.MF,將classpath修改為一下內(nèi)容:

Bundle-ClassPath:classes/,lib/hadoop-core.jar,lib/commons-cli-1.2.jar,lib/commons-httpclient-3.0.1.jar,lib/jackson-core-asl-1.0.1.jar,lib/jackson-mapper-asl-1.0.1.jar,lib/commons-configuration-1.6.jar,lib/commons-lang-2.4.jar

  這樣就完成了對hadoop-eclipse-plugin-0.20.203.0.jar的修改。

  最后,將hadoop-eclipse-plugin-0.20.203.0.jar復(fù)制到Eclipse的plugins目錄下。

  備注:上面的操作對"hadoop-1.0.0"一樣適用。

4.2 "Permission denied"問題

  網(wǎng)上試了很多,有提到"hadoop fs -chmod 777 /user/hadoop ",有提到"dfs.permissions 的配置項(xiàng),將value值改為 false",有提到"hadoop.job.ugi",但是通通沒有效果。

  參考文獻(xiàn):

地址1:http://www.cnblogs.com/acmy/archive/2011/10/28/2227901.html

地址2:http://sunjun041640.blog.163.com/blog/static/25626832201061751825292/

   錯(cuò)誤類型:org.apache.hadoop.security.AccessControlException: org.apache.hadoop.security .AccessControlException: Permission denied: user=*********, access=WRITE, inode="hadoop": hadoop:supergroup:rwxr-xr-x

   解決方案:

    我的解決方案直接把系統(tǒng)管理員的名字改成你的Hadoop集群運(yùn)行hadoop的那個(gè)用戶。

4.3 "Failed to set permissions of path"問題

   參考文獻(xiàn):https://issues.apache.org/jira/browse/HADOOP-8089

   錯(cuò)誤信息如下:

    ERROR security.UserGroupInformation: PriviledgedActionException as: hadoop cause:java.io.IOException Failed to set permissions of path:\usr\hadoop\tmp\mapred\staging\hadoop753422487\.staging to 0700 Exception in thread "main" java.io.IOException: Failed to set permissions of path: \usr\hadoop\tmp \mapred\staging\hadoop753422487\.staging to 0700

   解決方法:

Configuration conf = new Configuration();

conf.set("mapred.job.tracker", "[server]:9001");

   "[server]:9001"中的"[server]"為Hadoop集群Master的IP地址。

4.4 "hadoop mapred執(zhí)行目錄文件權(quán)"限問題

   參考文獻(xiàn):http://blog.csdn.net/azhao_dn/article/details/6921398

   錯(cuò)誤信息如下:

   job Submission failed with exception 'java.io.IOException(The ownership/permissions on the staging directory /tmp/hadoop-hadoop-user1/mapred/staging/hadoop-user1/.staging is not as expected. It is owned by hadoop-user1 and permissions are rwxrwxrwx. The directory must be owned by the submitter hadoop-user1 or by hadoop-user1 and permissions must be rwx------)

   修改權(quán)限:

原文鏈接:http://www.cnblogs.com/xia520pi/archive/2012/05/20/2510723.html

 

【編輯推薦】

  1. Hadoop集群系列1:CentOS安裝配置
  2. Hadoop集群系列2:機(jī)器信息分布表
  3. Hadoop集群系列3:VSFTP安裝配置
  4. Hadoop集群系列4:SecureCRT使用
  5. Hadoop集群搭建過程中相關(guān)環(huán)境配置詳解
  6. Hadoop完全分布模式安裝實(shí)現(xiàn)詳解
責(zé)任編輯:彭凡 來源: 博客園
相關(guān)推薦

2012-06-20 09:19:19

Hadoop集群

2012-06-25 10:30:06

Hadoop集群

2012-07-05 10:51:57

Hadoop集群

2012-06-29 10:58:27

Hadoop集群

2012-06-13 09:56:53

2012-06-19 09:28:33

Hadoop集群

2012-06-19 15:51:22

集群系列2

2009-06-08 20:19:07

EclipseMinGWQt

2014-09-04 09:35:17

2018-07-10 15:15:11

2013-07-29 14:23:55

Eclipse開發(fā)環(huán)境Eclipse開發(fā)環(huán)境

2012-06-05 01:23:14

Ubuntueclipse

2011-09-13 17:15:58

Eclipse And

2015-10-16 13:30:59

EclipsePython開發(fā)環(huán)境

2012-08-22 15:25:43

Linux集群

2012-11-01 17:15:04

2011-06-17 17:01:22

Qt Eclipse Windows

2009-07-14 13:14:13

2011-06-17 16:47:12

Qt Eclipse Windows

2011-06-17 17:16:01

Qt Eclipse Linux
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

精品日韩毛片| 懂色av一区二区三区免费看| 国产中文一区| 欧美精品一卡二卡| 国产一区二区三区免费不卡| 日韩大胆视频| 欧美黄色录像| 欧美国产精品一区二区| 色综合色综合网色综合| 国产免费视频传媒| 久热在线观看视频| 日本美女一区二区| 久久电影一区二区| 搞黄视频在线观看| 国产精品一二三四| 日韩免费av一区二区三区| 男裸体无遮挡网站| 不卡视频在线看| 国产一区二区久久久| 国产99在线观看| 激情亚洲一区二区三区四区| 国产欧美在线观看| 日韩在线免费电影| 2022国产精品视频| 精品一区久久| 国产成人无吗| 久久夜色精品国产欧美乱极品| 亲子乱一区二区三区电影 | 色综合五月天| 精品精品欲导航| 国产91精品视频在线观看| 永久免费不卡在线观看黄网站| 日韩欧美午夜| 亚洲欧美中文在线视频| 老司机午夜激情| 国产视频一区二区在线播放| 中文字幕在线免费不卡| 亚洲一区二区自拍| sqte在线播放| 国产精品久久久久久久久免费桃花| 日产精品一线二线三线芒果| 欧美精选一区| 最近2019好看的中文字幕免费| 色网址在线观看| 成人在线一区二区三区| 九色视频在线播放| 天堂а√在线资源在线| 黄色网页在线免费看| 色操视频在线| 成人软件在线观看| 亚洲成人影音| 全球成人免费直播| 99这里有精品| 久久99精品国产| 99精品国产99久久久久久白柏| 国产欧美精品一区aⅴ影院 | 精品在线播放免费| 91亚洲国产成人精品一区二区三| 欧美国产激情一区二区三区蜜月| 一区二区三区在线观看国产 | 亚洲成人中文字幕| 最好看的2019的中文字幕视频| 欧美激情在线一区| 国产精品亚洲片夜色在线| 久久国产精品久久| 人人妻人人澡人人爽欧美一区| 日韩爱爱小视频| 国模吧精品人体gogo| av2020不卡| 99久久99九九99九九九| 国产一区三区在线播放| 在线亚洲自拍| av不卡免费在线观看| 依依成人综合视频| 91精品视频网| 最近2019年日本中文免费字幕| 国产国产精品人在线视| 久久精彩视频| 俄罗斯av网站| 中文字幕在线影院| a√中文在线观看| 北条麻妃在线一区二区免费播放| 欧美激情电影| 久久精品国产精品亚洲红杏| 久久久久99精品国产片| 欧美日韩在线视频首页| 日韩国产精品亚洲а∨天堂免| 性欧美视频videos6一9| 久草热久草热线频97精品| 1024av视频| 国产中文字幕在线| 日韩精品麻豆| 性xxxx欧美老肥妇牲乱| 久久精品国产77777蜜臀| 1024国产精品| 精品国产91九色蝌蚪| 欧美亚洲成人xxx| 日本在线播放不卡| 欧美女同在线观看| 国产cdts系列另类在线观看| 激情五月综合婷婷| 黄色av日韩| 久久蜜桃av一区二区天堂| 欧美性大战久久久久久久| 久久精品一偷一偷国产| 成人免费在线看片| 日韩精品一区二区三区久久| 91在线高清| 一区二区三区四区高清视频 | 日本麻豆一区二区三区视频| 国产精品麻豆一区二区| 日韩一级片在线观看| 97视频在线观看免费高清完整版在线观看 | 国产一区二区三区直播精品电影| 国产日韩在线一区| 嫩草影院中文字幕| 国产视频网站在线| 天堂精品久久久久| 日韩中文字幕一区二区三区| 亚洲三级免费电影| 亚洲精品一区二区三区不| 91精品国产综合久久香蕉的用户体验| 久久人人爽人人爽人人av| 91短视频版在线观看www免费| 国产96在线亚洲| 极品少妇xxxx偷拍精品少妇| 黄色一区二区在线观看| 欧美成人精品三级在线观看| 久久精品五月婷婷| 久草一本av| 国产精品一区二区免费福利视频 | 日韩不卡av| 中文在线二区| 成人网av.com/| 蜜臀av一级做a爰片久久| 天天综合色天天综合色h| 欧美成人精品一区| 永久免费精品视频网站| 一二三区在线| 一区二区三区视频播放| 精品无人码麻豆乱码1区2区| 欧美艳星brazzers| 国产91在线播放九色快色| 欧美大片在线播放| 538在线观看| 在线观看日韩av电影| 亚洲精品免费在线| 日韩视频在线免费| 亚洲毛片aa| 日本三级在线播放完整版| 精品久久久久久久久久久下田 | 欧美性20hd另类| 韩国美女主播一区| 香港三级日本三级a视频| 大片免费在线看视频| 国产韩日影视精品| 亚洲三级小视频| 欧美激情精品久久久久久变态| 日韩欧美一级在线| 久草在线视频福利| 一本色道久久综合亚洲精品高清| 亚洲五月六月丁香激情| 九九精品在线视频| 免费看欧美黑人毛片| 9999在线视频| 性高湖久久久久久久久| 欧美午夜电影在线| 国产精品99蜜臀久久不卡二区| 黄色三级视频片| 曰本一区二区| 粉嫩一区二区三区性色av| 亚洲精品av在线| 欧美另类一区| av国产在线观看| 在线精品视频在线观看高清| 一区二区三区色| 国产91精品久久久| 亚洲色图久久久| 日韩视频一二区| 久久久久99精品一区| 九九热这里只有精品免费看| 看av免费毛片手机播放| 四虎影视国产精品| 99re这里都是精品| 久久久国产一区二区| 日韩黄色片视频| 成人综合日日夜夜| 97se亚洲国产综合自在线不卡| 中文字幕av一区中文字幕天堂| 免费日韩在线观看| 久久久人成影片一区二区三区在哪下载 | 久久亚裔精品欧美| 久久五月精品| 久久精品国语| 欧美mv日韩mv国产| 视频一区亚洲| 国产ktv在线视频| 国产美女在线观看一区| 亚洲欧美三级伦理| www.99热这里只有精品|