日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

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

编程问答

【转】RHadoop实践系列之二:RHadoop安装与使用

發布時間:2023/12/20 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转】RHadoop实践系列之二:RHadoop安装与使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

RHadoop實踐系列之二:RHadoop安裝與使用

RHadoop實踐系列文章,包含了R語言與Hadoop結合進行海量數據分析。Hadoop主要用來存儲海量數據,R語言完成MapReduce 算法,用來替代Java的MapReduce實現。有了RHadoop可以讓廣大的R語言愛好者,有更強大的工具處理大數據1G, 10G, 100G, TB, PB。 由于大數據所帶來的單機性能問題,可能會一去不復返了。

RHadoop實踐是一套系列文章,主要包括”Hadoop環境搭建”,”RHadoop安裝與使用”,”R實現MapReduce的協同過濾算法”,”HBase和rhbase的安裝與使用”。對于單獨的R語言愛好者,Java愛好者,或者Hadoop愛好者來說,同時具備三種語言知識并不容 易。此文雖為入門文章,但R,Java,Hadoop基礎知識還是需要大家提前掌握。

關于作者:

  • 張丹(Conan), 程序員Java,R,PHP,Javascript
  • weibo:@Conan_Z
  • blog:?http://blog.fens.me
  • email: bsspirit@gmail.com

轉載請注明出處:
http://blog.fens.me/rhadoop-rhadoop/

第二篇 RHadoop安裝與使用部分,分為3個章節。

1. 環境準備 2. RHadoop安裝 3. RHadoop程序用例

每一章節,都會分為”文字說明部分”和”代碼部分”,保持文字說明與代碼的連貫性。

注:Hadoop環境搭建的詳細記錄,請查看 同系列上一篇文章 “RHadoop實踐系列文章之Hadoop環境搭建”。
由于兩篇文章并非同一時間所寫,hadoop版本及操作系統,分步式環境都略有不同。
兩篇文章相互獨立,請大家在理解的基礎上動手實驗,不要完成依賴兩篇文章中的運行命令。

環境準備

文字說明部分:

首先環境準備,這里我選擇了Linux Ubuntu操作系統12.04的64位版本,大家可以根據自己的使用習慣選擇順手的Linux。

但JDK一定要用Oracle SUN官方的版本,請從官網下載,操作系統的自帶的OpenJDK會有各種不兼容。JDK請選擇1.6.x的版本,JDK1.7版本也會有各種的不兼容情況。
http://www.oracle.com/technetwork/java/javase/downloads/index.html

Hadoop的環境安裝,請參考RHadoop實踐系統”Hadoop環境搭建”的一文。

R語言請安裝2.15以后的版本,2.14是不能夠支持RHadoop的。
如果你也使用Linux Ubuntu操作系統12.04,請先更新軟件包源,否則只能下載到2.14版本的R。

代碼部分:

1. 操作系統Ubuntu 12.04 x64

~ uname -a Linux domU-00-16-3e-00-00-85 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

2 JAVA環境

~ java -versionjava version "1.6.0_29" Java(TM) SE Runtime Environment (build 1.6.0_29-b11) Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02, mixed mode)

3 HADOOP環境(這里只需要hadoop)

hadoop-1.0.3 hbase-0.94.2 hive-0.9.0 pig-0.10.0 sqoop-1.4.2 thrift-0.8.0 zookeeper-3.4.4

4 R的環境

R version 2.15.3 (2013-03-01) -- "Security Blanket" Copyright (C) 2013 The R Foundation for Statistical Computing ISBN 3-900051-07-0 Platform: x86_64-pc-linux-gnu (64-bit)

4.1 如果是Ubuntu 12.04,請更新源再下載R2.15.3版本

sh -c "echo deb http://mirror.bjtu.edu.cn/cran/bin/linux/ubuntu precise/ >>/etc/apt/sources.list" apt-get update apt-get install r-base

RHadoop安裝

文字說明部分:

RHadoop是RevolutionAnalytics的工程的項目,開源實現代碼在GitHub社區可以找到。RHadoop包含三個R包 (rmr,rhdfs,rhbase),分別是對應Hadoop系統架構中的,MapReduce, HDFS, HBase 三個部分。由于這三個庫不能在CRAN中找到,所以需要自己下載。
https://github.com/RevolutionAnalytics/RHadoop/wiki

接下我們需要先安裝這三個庫的依賴庫。
首先是rJava,上個章節我們已經配置好了JDK1.6的環境,運行R CMD javareconf命令,R的程序從系統變量中會讀取Java配置。然后打開R程序,通過install.packages的方式,安裝rJava。

然后,我還要安裝其他的幾個依賴庫,reshape2,Rcpp,iterators,itertools,digest,RJSONIO,functional,通過install.packages都可以直接安裝。

接下安裝rhdfs庫,在環境變量中增加 HADOOP_CMD 和 HADOOP_STREAMING 兩個變量,可以用export在當前命令窗口中增加。但為下次方便使用,最好把變量增加到系統環境變更/etc/environment文件中。再用 R CMD INSTALL安裝rhdfs包,就可以順利完成了。

安裝rmr庫,使用R CMD INSTALL也可以順利完成了。

安裝rhbase庫,后面”HBase和rhbase的安裝與使用”文章中會繼續介紹,這里暫時跳過。

最后,我們可以查看一下,RHADOOP都安裝了哪些庫。
由于我的硬盤是外接的,使用mount和軟連接(ln -s)掛載了R類庫的目錄,所以是R的類庫在/disk1/system下面
/disk1/system/usr/local/lib/R/site-library/
一般R的類庫目錄是/usr/lib/R/site-library或者/usr/local/lib/R/site-library,用戶也可以使用whereis R的命令查詢,自己電腦上R類庫的安裝位置

代碼部分:

1. 下載RHadoop相關的3個程序包

https://github.com/RevolutionAnalytics/RHadoop/wiki/Downloads

rmr-2.1.0 rhdfs-1.0.5 rhbase-1.1

2. 復制到/root/R目錄

~/R# pwd /root/R~/R# ls rhbase_1.1.tar.gz rhdfs_1.0.5.tar.gz rmr2_2.1.0.tar.gz

3. 安裝依賴庫

命令行執行 ~ R CMD javareconf ~ R啟動R程序 install.packages("rJava") install.packages("reshape2") install.packages("Rcpp") install.packages("iterators") install.packages("itertools") install.packages("digest") install.packages("RJSONIO") install.packages("functional")

4. 安裝rhdfs庫

~ export HADOOP_CMD=/root/hadoop/hadoop-1.0.3/bin/hadoop ~ export HADOOP_STREAMING=/root/hadoop/hadoop-1.0.3/contrib/streaming/hadoop-streaming-1.0.3.jar (rmr2會用到) ~ R CMD INSTALL /root/R/rhdfs_1.0.5.tar.gz

4.1 最好把HADOOP_CMD設置到環境變量

~ vi /etc/environmentHADOOP_CMD=/root/hadoop/hadoop-1.0.3/bin/hadoopHADOOP_STREAMING=/root/hadoop/hadoop-1.0.3/contrib/streaming/hadoop-streaming-1.0.3.jar. /etc/environment

5. 安裝rmr庫

~ R CMD INSTALL rmr2_2.1.0.tar.gz

6. 安裝rhbase庫 (暫時跳過)

7. 所有的安裝包

~ ls /disk1/system/usr/local/lib/R/site-library/ digest functional iterators itertools plyr Rcpp reshape2 rhdfs rJava RJSONIO rmr2 stringr

RHadoop程序用例

文字說明部分:

安裝好rhdfs和rmr兩個包后,我們就可以使用R嘗試一些hadoop的操作了。

首先,是基本的hdfs的文件操作。

查看hdfs文件目錄
hadoop的命令:hadoop fs -ls /user
R語言函數:hdfs.ls(”/user/“)

查看hadoop數據文件
hadoop的命令:hadoop fs -cat /user/hdfs/o_same_school/part-m-00000
R語言函數:hdfs.cat(”/user/hdfs/o_same_school/part-m-00000″)

接下來,我們執行一個rmr算法的任務

普通的R語言程序:

> small.ints = 1:10 > sapply(small.ints, function(x) x^2)

MapReduce的R語言程序:

> small.ints = to.dfs(1:10) > mapreduce(input = small.ints, map = function(k, v) cbind(v, v^2)) > from.dfs("/tmp/RtmpWnzxl4/file5deb791fcbd5")

因為MapReduce只能訪問HDFS文件系統,先要用to.dfs把數據存儲到HDFS文件系統里。MapReduce的運算結果再用from.dfs函數從HDFS文件系統中取出。

第二個,rmr的例子是wordcount,對文件中的單詞計數

> input<- '/user/hdfs/o_same_school/part-m-00000' > wordcount = function(input, output = NULL, pattern = " "){wc.map = function(., lines) {keyval(unlist( strsplit( x = lines,split = pattern)),1)}wc.reduce =function(word, counts ) {keyval(word, sum(counts))} mapreduce(input = input ,output = output, input.format = "text",map = wc.map, reduce = wc.reduce,combine = T) }> wordcount(input) > from.dfs("/tmp/RtmpfZUFEa/file6cac626aa4a7")

我在HDFS上提前放置了數據文件/user/hdfs/o_same_school/part-m-00000。寫wordcount的MapReduce函數,執行wordcount函數,最后用from.dfs從HDFS中取得結果。

代碼部分:

1. rhdfs包的使用

啟動R程序 > library(rhdfs)Loading required package: rJava HADOOP_CMD=/root/hadoop/hadoop-1.0.3/bin/hadoop Be sure to run hdfs.init()> hdfs.init()

1.1 命令查看hadoop目錄

~ hadoop fs -ls /userFound 4 items drwxr-xr-x - root supergroup 0 2013-02-01 12:15 /user/conan drwxr-xr-x - root supergroup 0 2013-03-06 17:24 /user/hdfs drwxr-xr-x - root supergroup 0 2013-02-26 16:51 /user/hive drwxr-xr-x - root supergroup 0 2013-03-06 17:21 /user/root

1.2 rhdfs查看hadoop目錄

> hdfs.ls("/user/")permission owner group size modtime file 1 drwxr-xr-x root supergroup 0 2013-02-01 12:15 /user/conan 2 drwxr-xr-x root supergroup 0 2013-03-06 17:24 /user/hdfs 3 drwxr-xr-x root supergroup 0 2013-02-26 16:51 /user/hive 4 drwxr-xr-x root supergroup 0 2013-03-06 17:21 /user/root

1.3 命令查看hadoop數據文件

~ hadoop fs -cat /user/hdfs/o_same_school/part-m-0000010,3,tsinghua university,2004-05-26 15:21:00.0 23,4007,北京第一七一中學,2004-05-31 06:51:53.0 51,4016,大連理工大學,2004-05-27 09:38:31.0 89,4017,Amherst College,2004-06-01 16:18:56.0 92,4017,斯坦福大學,2012-11-28 10:33:25.0 99,4017,Stanford University Graduate School of Business,2013-02-19 12:17:15.0 113,4017,Stanford University,2013-02-19 12:17:15.0 123,4019,St Paul's Co-educational College - Hong Kong,2004-05-27 18:04:17.0 138,4019,香港蘇浙小學,2004-05-27 18:59:58.0 172,4020,University,2004-05-27 19:14:34.0 182,4026,ff,2004-05-28 04:42:37.0 183,4026,ff,2004-05-28 04:42:37.0 189,4033,tsinghua,2011-09-14 12:00:38.0 195,4035,ba,2004-05-31 07:10:24.0 196,4035,ma,2004-05-31 07:10:24.0 197,4035,southampton university,2013-01-07 15:35:18.0 246,4067,美國史丹佛大學,2004-06-12 10:42:10.0 254,4067,美國史丹佛大學,2004-06-12 10:42:10.0 255,4067,美國休士頓大學,2004-06-12 10:42:10.0 257,4068,清華大學,2004-06-12 10:42:10.0 258,4068,北京八中,2004-06-12 17:34:02.0 262,4068,香港中文大學,2004-06-12 17:34:02.0 310,4070,首都師范大學初等教育學院,2004-06-14 15:35:52.0 312,4070,北京師范大學經濟學院,2004-06-14 15:35:52.0

1.4 rhdfs查看hadoop數據文件

> hdfs.cat("/user/hdfs/o_same_school/part-m-00000")[1] "10,3,tsinghua university,2004-05-26 15:21:00.0"[2] "23,4007,北京第一七一中學,2004-05-31 06:51:53.0"[3] "51,4016,大連理工大學,2004-05-27 09:38:31.0"[4] "89,4017,Amherst College,2004-06-01 16:18:56.0"[5] "92,4017,斯坦福大學,2012-11-28 10:33:25.0"[6] "99,4017,Stanford University Graduate School of Business,2013-02-19 12:17:15.0"[7] "113,4017,Stanford University,2013-02-19 12:17:15.0"[8] "123,4019,St Paul's Co-educational College - Hong Kong,2004-05-27 18:04:17.0"[9] "138,4019,香港蘇浙小學,2004-05-27 18:59:58.0" [10] "172,4020,University,2004-05-27 19:14:34.0" [11] "182,4026,ff,2004-05-28 04:42:37.0" [12] "183,4026,ff,2004-05-28 04:42:37.0" [13] "189,4033,tsinghua,2011-09-14 12:00:38.0" [14] "195,4035,ba,2004-05-31 07:10:24.0" [15] "196,4035,ma,2004-05-31 07:10:24.0" [16] "197,4035,southampton university,2013-01-07 15:35:18.0" [17] "246,4067,美國史丹佛大學,2004-06-12 10:42:10.0" [18] "254,4067,美國史丹佛大學,2004-06-12 10:42:10.0" [19] "255,4067,美國休士頓大學,2004-06-12 10:42:10.0" [20] "257,4068,清華大學,2004-06-12 10:42:10.0" [21] "258,4068,北京八中,2004-06-12 17:34:02.0" [22] "262,4068,香港中文大學,2004-06-12 17:34:02.0" [23] "310,4070,首都師范大學初等教育學院,2004-06-14 15:35:52.0" [24] "312,4070,北京師范大學經濟學院,2004-06-14 15:35:52.0"

2. rmr2包的使用

啟動R程序 > library(rmr2)Loading required package: Rcpp Loading required package: RJSONIO Loading required package: digest Loading required package: functional Loading required package: stringr Loading required package: plyr Loading required package: reshape2

2.1 執行r任務

> small.ints = 1:10 > sapply(small.ints, function(x) x^2)[1] 1 4 9 16 25 36 49 64 81 100

2.2 執行rmr2任務

> small.ints = to.dfs(1:10)13/03/07 12:12:55 INFO util.NativeCodeLoader: Loaded the native-hadoop library 13/03/07 12:12:55 INFO zlib.ZlibFactory: Successfully loaded & initialized native-zlib library 13/03/07 12:12:55 INFO compress.CodecPool: Got brand-new compressor> mapreduce(input = small.ints, map = function(k, v) cbind(v, v^2))packageJobJar: [/tmp/RtmpWnzxl4/rmr-local-env5deb2b300d03, /tmp/RtmpWnzxl4/rmr-global-env5deb398a522b, /tmp/RtmpWnzxl4/rmr-streaming-map5deb1552172d, /root/hadoop/tmp/hadoop-unjar7838617732558795635/] [] /tmp/streamjob4380275136001813619.jar tmpDir=null 13/03/07 12:12:59 INFO mapred.FileInputFormat: Total input paths to process : 1 13/03/07 12:12:59 INFO streaming.StreamJob: getLocalDirs(): [/root/hadoop/tmp/mapred/local] 13/03/07 12:12:59 INFO streaming.StreamJob: Running job: job_201302261738_0293 13/03/07 12:12:59 INFO streaming.StreamJob: To kill this job, run: 13/03/07 12:12:59 INFO streaming.StreamJob: /disk1/hadoop/hadoop-1.0.3/libexec/../bin/hadoop job -Dmapred.job.tracker=hdfs://r.qa.tianji.com:9001 -kill job_201302261738_0293 13/03/07 12:12:59 INFO streaming.StreamJob: Tracking URL: http://192.168.1.243:50030/jobdetails.jsp?jobid=job_201302261738_0293 13/03/07 12:13:00 INFO streaming.StreamJob: map 0% reduce 0% 13/03/07 12:13:15 INFO streaming.StreamJob: map 100% reduce 0% 13/03/07 12:13:21 INFO streaming.StreamJob: map 100% reduce 100% 13/03/07 12:13:21 INFO streaming.StreamJob: Job complete: job_201302261738_0293 13/03/07 12:13:21 INFO streaming.StreamJob: Output: /tmp/RtmpWnzxl4/file5deb791fcbd5> from.dfs("/tmp/RtmpWnzxl4/file5deb791fcbd5")$key NULL$valv[1,] 1 1[2,] 2 4[3,] 3 9[4,] 4 16[5,] 5 25[6,] 6 36[7,] 7 49[8,] 8 64[9,] 9 81 [10,] 10 100

2.3 wordcount執行rmr2任務

> input<- '/user/hdfs/o_same_school/part-m-00000' > wordcount = function(input, output = NULL, pattern = " "){wc.map = function(., lines) {keyval(unlist( strsplit( x = lines,split = pattern)),1)}wc.reduce =function(word, counts ) {keyval(word, sum(counts))} mapreduce(input = input ,output = output, input.format = "text",map = wc.map, reduce = wc.reduce,combine = T) }> wordcount(input)packageJobJar: [/tmp/RtmpfZUFEa/rmr-local-env6cac64020a8f, /tmp/RtmpfZUFEa/rmr-global-env6cac73016df3, /tmp/RtmpfZUFEa/rmr-streaming-map6cac7f145e02, /tmp/RtmpfZUFEa/rmr-streaming-reduce6cac238dbcf, /tmp/RtmpfZUFEa/rmr-streaming-combine6cac2b9098d4, /root/hadoop/tmp/hadoop-unjar6584585621285839347/] [] /tmp/streamjob9195921761644130661.jar tmpDir=null 13/03/07 12:34:41 INFO util.NativeCodeLoader: Loaded the native-hadoop library 13/03/07 12:34:41 WARN snappy.LoadSnappy: Snappy native library not loaded 13/03/07 12:34:41 INFO mapred.FileInputFormat: Total input paths to process : 1 13/03/07 12:34:41 INFO streaming.StreamJob: getLocalDirs(): [/root/hadoop/tmp/mapred/local] 13/03/07 12:34:41 INFO streaming.StreamJob: Running job: job_201302261738_0296 13/03/07 12:34:41 INFO streaming.StreamJob: To kill this job, run: 13/03/07 12:34:41 INFO streaming.StreamJob: /disk1/hadoop/hadoop-1.0.3/libexec/../bin/hadoop job -Dmapred.job.tracker=hdfs://r.qa.tianji.com:9001 -kill job_201302261738_0296 13/03/07 12:34:41 INFO streaming.StreamJob: Tracking URL: http://192.168.1.243:50030/jobdetails.jsp?jobid=job_201302261738_0296 13/03/07 12:34:42 INFO streaming.StreamJob: map 0% reduce 0% 13/03/07 12:34:59 INFO streaming.StreamJob: map 100% reduce 0% 13/03/07 12:35:08 INFO streaming.StreamJob: map 100% reduce 17% 13/03/07 12:35:14 INFO streaming.StreamJob: map 100% reduce 100% 13/03/07 12:35:20 INFO streaming.StreamJob: Job complete: job_201302261738_0296 13/03/07 12:35:20 INFO streaming.StreamJob: Output: /tmp/RtmpfZUFEa/file6cac626aa4a7> from.dfs("/tmp/RtmpfZUFEa/file6cac626aa4a7")$key[1] "-"[2] "04:42:37.0"[3] "06:51:53.0"[4] "07:10:24.0"[5] "09:38:31.0"[6] "10:33:25.0"[7] "10,3,tsinghua"[8] "10:42:10.0"[9] "113,4017,Stanford" [10] "12:00:38.0" [11] "12:17:15.0" [12] "123,4019,St" [13] "138,4019,香港蘇浙小學,2004-05-27" [14] "15:21:00.0" [15] "15:35:18.0" [16] "15:35:52.0" [17] "16:18:56.0" [18] "172,4020,University,2004-05-27" [19] "17:34:02.0" [20] "18:04:17.0" [21] "182,4026,ff,2004-05-28" [22] "183,4026,ff,2004-05-28" [23] "18:59:58.0" [24] "189,4033,tsinghua,2011-09-14" [25] "19:14:34.0" [26] "195,4035,ba,2004-05-31" [27] "196,4035,ma,2004-05-31" [28] "197,4035,southampton" [29] "23,4007,北京第一七一中學,2004-05-31" [30] "246,4067,美國史丹佛大學,2004-06-12" [31] "254,4067,美國史丹佛大學,2004-06-12" [32] "255,4067,美國休士頓大學,2004-06-12" [33] "257,4068,清華大學,2004-06-12" [34] "258,4068,北京八中,2004-06-12" [35] "262,4068,香港中文大學,2004-06-12" [36] "312,4070,北京師范大學經濟學院,2004-06-14" [37] "51,4016,大連理工大學,2004-05-27" [38] "89,4017,Amherst" [39] "92,4017,斯坦福大學,2012-11-28" [40] "99,4017,Stanford" [41] "Business,2013-02-19" [42] "Co-educational" [43] "College" [44] "College,2004-06-01" [45] "Graduate" [46] "Hong" [47] "Kong,2004-05-27" [48] "of" [49] "Paul's" [50] "School" [51] "University" [52] "university,2004-05-26" [53] "university,2013-01-07" [54] "University,2013-02-19" [55] "310,4070,首都師范大學初等教育學院,2004-06-14"$val[1] 1 2 1 2 1 1 1 4 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [39] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

轉載請注明出處:
http://blog.fens.me/rhadoop-rhadoop/

轉載于:https://www.cnblogs.com/zhengrunjian/p/4530827.html

總結

以上是生活随笔為你收集整理的【转】RHadoop实践系列之二:RHadoop安装与使用的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 国产精品美女www爽爽爽 | 少妇厨房愉情理伦bd在线观看 | 大肉大捧一进一出好爽mba | 欧美撒尿777hd撒尿 | 亚洲国产精品视频一区 | 欧美一区二区三区婷婷 | 中国一级特黄毛片 | 午夜精品在线播放 | 国产午夜激情 | 日韩在线免费观看视频 | 欧美视频久久 | 韩国三级hd中文字幕叫床浴室 | 精品成人av一区二区三区 | 91天堂在线视频 | 三年大全国语中文版免费播放 | 国产无遮挡又黄又爽 | 蛇女欲潮性三级 | 在线日韩一区二区 | 亚洲va天堂va欧美ⅴa在线 | 中文字幕乱码无码人妻系列蜜桃 | 穿扒开跪着折磨屁股视频 | 视频区图片区小说区 | 国产三级精品三级在线 | 一个人看的www视频在线观看 | 伊人福利在线 | 日韩成人精品一区二区三区 | 国产美女引诱水电工 | 欧美视频一区二区三区 | 三级视频网站在线观看 | 国产精品亚洲视频 | 超碰97在线看 | 国产在线精品二区 | 夜夜夜操操操 | 亚洲男人天堂视频 | 91亚洲精品国偷拍 | 黄片毛片一级 | 国产精品视频第一页 | 97视频在线免费 | 天天做天天射 | 久久国产一二三 | 日韩欧美一二三区 | 影音先锋久久久久av综合网成人 | 欧美一级久久 | 日韩亚洲在线观看 | 一二三四视频社区在线 | 狠狠爱亚洲 | 六月色婷 | 无套中出丰满人妻无码 | 国产精品成人av久久 | 国产最新毛片 | 久久久高清 | jlzzjizz在线播放观看 | 国产情侣露脸自拍 | 久久久久九九九 | 欧美黄色图片 | 青青草久久爱 | 成人免费久久 | 亚洲综合一区二区 | 亚洲女人初尝黑人巨大 | 欧美熟妇精品黑人巨大一二三区 | 久热久操 | 新红楼梦2005锦江版高清在线观看 | 天天干天天做天天操 | 日韩综合在线 | 性色福利| 亚洲av综合色区无码一二三区 | 国产婷婷在线观看 | 国产香蕉97碰碰碰视频在线观看 | 欧美一区二区三区在线看 | 国产伦精品一区二区三区妓女 | 久久久久九九九九 | 高潮一区二区三区 | 国产精品系列在线观看 | 亚洲综合日韩精品欧美综合区 | 视频在线观看你懂的 | 69色堂| 美女被啪羞羞粉色视频 | 亚洲色图吧 | 成人欧美在线 | 豆花在线视频 | a级小视频 | 最新福利视频 | 国产精品一区二区三区四区在线观看 | 免费人成视频在线 | 黑人干亚洲人 | 国产乱淫av片杨贵妃 | 欧美成人一二三 | 热逼视频 | av永久在线 | 成人福利视频导航 | 三级欧美日韩 | 男人操女人免费网站 | 17c在线视频 | 国产精品jizz视频 | 国产精品久久久久久99 | 插插影视| 亚洲精品影片 | 人妻少妇精品一区二区三区 | 91午夜视频在线观看 |