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

使用Docker在本地搭建hadoop,spark集群

云計算 Hadoop Spark
目前網(wǎng)上在docker上部署spark的介紹比較簡單和沒有相關啟動使用的操作,本文重點在于docker相關的操作.

 本環(huán)境使用的單個宿主主機,而不是跨主機集群,本spark集群環(huán)境存在的意義可能在于便于本地開發(fā)測試使用,非常輕量級和便捷。這個部署過程,最好在之前有過一定的hadoop,spark集群部署經(jīng)驗的基礎,本文重點在于docker相關的操作,至于hadoop和spark集群的部署,極力推薦這兩個網(wǎng)頁:

Hadoop集群:http://blog.csdn.net/stark_sum ... 24279。

Spark集群:http://blog.csdn.net/stark_sum ... 58081

主機系統(tǒng):ubuntu14.04,64位,內(nèi)存4G,主機名docker。(實際上是在虛擬機上安裝的)

軟件版本:hadoop-2.6.0,jdk1.7.0_79,scala-2.10.5,spark-1.2.0-bin-hadoop2.4,docker版本:1.9.1,鏡像:ubuntu14.04。

搭建環(huán)境前調(diào)研結果描述:

目前網(wǎng)上在docker上部署spark的介紹比較簡單和沒有相關啟動使用的操作,部署大致分為兩類情況:

1. 直接在docker倉庫pull下來。這個方法我嘗試了一下,不建議使用,首先下載鏡像比較大,2G多,其次下載之后貌似只能單機啟動,也就是偽分布式,并不是集群(我自己沒有實際使用過,看到的相關資料是這樣說的)。如下sequenceiq/spark:1.2.0這個鏡像:

REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE

sequenceiq/spark 1.2.0 334aabfef5f1 10 months ago 2.115 GB

2. 自己使用基礎鏡像搭建環(huán)境。本文采用這種方式,由于自己也是剛接觸docker一個多月,還不會使用dockerfile,所以使用的是commit方式制作的集群。

具體部署過程

第一步,相關軟件準備。

通過對spark源碼當中docker文件夾的閱讀得出的思路,利用數(shù)據(jù)卷共享數(shù)據(jù)。相關的集群軟件都放在/opt目錄下,目的是為后面啟動集群的時候使用docker數(shù)據(jù)卷共享和永久保存數(shù)據(jù),不會隨著容器的刪除而丟失。spark源碼docker文件夾解讀參考網(wǎng)頁:http://blog.csdn.net/yunlong34 ... 33731

操作說明,直接把java等軟件解壓到/opt下,總共是四個,java,hadoop,scala,spark。不需要在宿主主機做任何修改,包括/etc/hosts,/etc/profile添加變量等,因為是在容器當中使用,宿主主機并不會用到。解壓之后如下:

  1. root@docker:/opt# ll 
  2.  
  3. total 32 
  4.  
  5. drwxr-xr-x 7 root root 4096 12月 22 22:12 ./ 
  6.  
  7. drwxr-xr-x 23 root root 4096 11月 30 19:35 ../ 
  8.  
  9. drwxr-xr-x 12 root root 4096 12月 22 22:07 hadoop-2.6.0
  10.  
  11. drwxr-xr-x 8 root root 4096 4月 11 2015 jdk1.7.0_79/ 
  12.  
  13. drwxr-xr-x 9 root root 4096 12月 22 13:54 scala-2.10.5
  14.  
  15. drwxrwxr-x 12 root root 4096 12月 22 22:19 spark-1.2.0-bin-hadoop2.4

然后把hadoop和spark 的配置文件修改,這一步主要是靠之前的相關基礎操作了,可以參考上面給出的兩個網(wǎng)站修改配置文件,我是直接拷貝我之前集群的配置文件替換的,然后再結合后面的主機名,ip等行稍作修改就行了。如果之前沒有部署過集群,這一步的工作量是相當大的。

需要特別注意的一點是hadoop的配置文件中的hdfs-sit.xml中的dfs.datanode.data.dir,這個也就是hdfs的datanode的文件夾,也是通過小技巧修改為file:/root/data,為什么這么修改后面有講解,最終的想要的目的是通過鏈接文件,鏈接到數(shù)據(jù)卷/opt的hadoop目錄里面,這樣數(shù)據(jù)就能保存在容器之外了,不會隨著容器的刪除而丟失。修改如下:

  1. dfs.datanode.data.dir 
  2.  
  3. file:/root/data 

第二步,制作基礎鏡像。(主要工作)

本集群的思路是盡可能的減少額外的工作量,使用的是固定網(wǎng)絡環(huán)境,這可能和docker本身的網(wǎng)絡不固定性相悖,所以使用了一點小技巧修改的網(wǎng)絡,這也是這個方法不能大規(guī)模使用的原因,也算是一個弊端吧。我看到有人使用動態(tài)的ip注冊,我還沒有理解到哪個地步,在后期的學習中再慢慢完善吧。節(jié)點容器主機名和ip規(guī)劃如下:

主節(jié)點容器主機名hostname:node0,IP:172.17.0.150。

從節(jié)點容器主機名hostname:node1,IP:172.17.0.151。

從節(jié)點容器主機名hostname:node2,IP:172.17.0.152。

下面就開始一步一步的來設置:

1.查看鏡像,使用ubuntu:14.04做為基礎鏡像,如果沒有就pull一個吧。

  1. root@docker:/opt# docker images 
  2.  
  3. REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE 
  4.  
  5. ubuntu 14.04 ca4d7b1b9a51 8 weeks ago 187.9 MB 

2.啟動一個容器,安裝vim和ssh。

  1. root@docker:/opt# docker run -it ubuntu:14.04 /bin/bash 
  2.  
  3. root@67f272584448:/# apt-get -y install vim openssh-server 

3.修改ssh配置文件,允許root登陸。

  1. root@67f272584448:/# vim /etc/ssh/sshd_config 

找到:PermitRootLogin without-password

修改為:PermitRootLogin yes

4.生成ssh公鑰,輸入ssh-keygen,一直回車就行了。著里需要說明的是,三個節(jié)點的公鑰都是一樣的,為了簡單起見而利用了小技巧。如果比較了解ssh的話,我說的這些相當于廢話了,后面還會有涉及的。

  1. root@67f272584448:/# ssh-keygen 

此時/root/.ssh文件夾里如下:

  1. root@67f272584448:/# ls /root/.ssh/ 
  2.  
  3. id_rsa id_rsa.pub 
  4.  
  5. root@67f272584448:/# cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys 
  6.  
  7. root@67f272584448:/# ls /root/.ssh/ 
  8.  
  9. authorized_keys id_rsa id_rsa.pub 

5.下面開始關鍵步驟了。

把需要的變量寫入/root/.bashrc,為什么不寫入/etc/profile呢,因為我試了一下,寫入/etc/proflie生成鏡像啟動容器的時候變量不能生效。

看到這里,相信下面的變量都是很熟悉吧:

  1. export JAVA_HOME=/opt/jdk1.7.0_79 
  2.  
  3. export CLASSPATH=.:/opt/jdk1.7.0_79/lib/dt.jar:/opt/jdk1.7.0_79/lib/tools.jar 
  4.  
  5. export HADOOP_HOME=/opt/hadoop-2.6.0 
  6.  
  7. export SCALA_HOME=/opt/scala-2.10.5 
  8.  
  9. export SPARK_HOME=/opt/spark-1.2.0-bin-hadoop2.4 
  10.  
  11. export PATH=$JAVA_HOME/bin:$PATH:$SCALA_HOME/bin:$SPARK_HOME/bin 

6.這個是最后一步了,在/root下新建一個run.sh腳本,對容器所做的修改,全部寫入這個腳本了,先把腳本貼出來,再解釋吧。

  1. 1 #!/bin/bash 
  2.  
  3. 2 
  4.  
  5. 3 echo "172.17.0.150 node0" > /etc/hosts 
  6.  
  7. 4 echo "172.17.0.151 node1" >> /etc/hosts 
  8.  
  9. 5 echo "172.17.0.152 node2" >> /etc/hosts 
  10.  
  11. 6 
  12.  
  13. 7 case $HOSTNAME in 
  14.  
  15. 8 "node0"
  16.  
  17. 9 ifconfig eth0 172.17.0.150 
  18.  
  19. 10 sed -i 's/root@.*$/root@node0/g' /root/.ssh/authorized_keys 
  20.  
  21. 11 ;; 
  22.  
  23. 12 "node1"
  24.  
  25. 13 ifconfig eth0 172.17.0.151 
  26.  
  27. 14 sed -i 's/root@.*$/root@node0/g' /root/.ssh/authorized_keys 
  28.  
  29. 15 ln -s /opt/hadoop-2.6.0/dfs/node1 /root/data 
  30.  
  31. 16 ;; 
  32.  
  33. 17 "node2"
  34.  
  35. 18 ifconfig eth0 172.17.0.152 
  36.  
  37. 19 sed -i 's/root@.*$/root@node0/g' /root/.ssh/authorized_keys 
  38.  
  39. 20 ln -s /opt/hadoop-2.6.0/dfs/node2 /root/data 
  40.  
  41. 21 ;; 
  42.  
  43. 22 *) 
  44.  
  45. 23 echo "null" 
  46.  
  47. 24 ;; 
  48.  
  49. 25 esac 
  50.  
  51. 26 
  52.  
  53. 27 /etc/init.d/ssh start -D 
  54.  
  55. 28 

1)3,4,5行,替換hosts。啟動集群的時候,習慣性的喜歡使用主機名,而不是使用ip,所以做了這個修改。另一個原因是,容器在重啟之后hosts和ip是會變化的,所以每次啟動都要修改。

2)7到25行,是利用容器的主機名來做三個修改。

  • 第一,修改主機的IP,也就是我們的三個節(jié)點都是固定ip的,這個命令需要privileged。
  • 第二,設置ssh免登錄,也就authorized_keys中最后一個字段root@......全部修改為root@node0,這樣node0節(jié)點就能免登錄到node1,node2,和自己node0。
  • 第三,利用連接文件,把hdfs的數(shù)據(jù)保存到數(shù)據(jù)卷的相關目錄,也就是保存到了容器之外。利用連接文件時一個技巧,hdfs的配置文件都是/root/data,實際上卻保存到了不同的文件目錄上去。在上面的hadoop的配置文件中做的一個特殊的修改dfs.datanode.data.dir,file:/root/data,這個是hdfs的實際存儲數(shù)據(jù)的目錄,通過軟連接到數(shù)據(jù)卷目錄,最終把數(shù)據(jù)保存在容器之外,這樣當容器刪除時,hdfs里面的數(shù)據(jù)并沒有消失,新建容器就可以再次使用數(shù)據(jù)了。

3)27行,這個就是啟動ssh的,關鍵的是-D這個參數(shù),如果不加,啟動容器的時候run -d容器就會停止,不會運行。

4)最后保存退出,再修改一下執(zhí)行權限,退出容器

  1. root@67f272584448:~# chmod 744 /root/run.sh 
  2.  
  3. root@67f272584448:~# exit 

7.使用commit提交鏡像吧。

  1. root@docker:~/docker# docker commit 67 ubuntu:base-spark 
  2.  
  3. 35341d63645cb5c23f88a6f4ac51d1000dc4431646ac3a948bd9c9f171dcbeeb 
  4.  
  5. root@docker:~/docker# docker images 
  6.  
  7. REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE 
  8.  
  9. ubuntu base-spark 35341d63645c 4 minutes ago 261.1 MB 

從上面可以看出,鏡像只有260MB,是非常小的。

到此整個基礎鏡像就做好了,其中有可能出錯的地方是,hadoop和spark的配置文件修改的問題,這里是無關docker知識的“準備工作”。

第三步,啟動容器,啟動集群,并測試。

最后這步是最最爽的時候了,一個命令,集群就啟動起來了。

其實下面大部分的篇幅是在講解我的思路,啟動集群本身是很簡單的hadoop,spark知識。

一、啟動容器集群

我寫了一個小腳本docker_start.sh,里面三行是啟動三個容器的命令,先看一眼:

  1. root@docker:~/docker# cat docker_start.sh 
  2.  
  3. #!/bin/bash 
  4.  
  5. docker run -d --name node0 -h node0 -v /opt:/opt --privileged ubuntu:base-spark /root/run.sh 
  6.  
  7. docker run -d --name node1 -h node1 -v /opt:/opt --privileged ubuntu:base-spark /root/run.sh 
  8.  
  9. docker run -d --name node2 -h node2 -v /opt:/opt --privileged ubuntu:base-spark /root/run.sh 

下面解釋一下這個啟動命令的各個參數(shù):

1)-d這個命令能夠成功執(zhí)行的原因是run.sh這個腳本的/etc/init.d/ssh start -D這一行的-D這個參數(shù),容器才能成功后臺up。

2)--name node0,這個是node0的容器名。

3)-h node0,這里的node0是容器主機名,也就是hostname。

4)-v /opt:/opt,就是數(shù)據(jù)卷,四個目錄在這里java,hadoop,scala,spark,并且hdfs的數(shù)據(jù)存儲目錄在hadoop-2.6.0目錄里,dfs文件夾里有三個目錄,最好手動提前新建name,node1和node2,其實是可以寫入run.sh腳本里面新建的,但是我已經(jīng)不想回頭去修改run.sh了。

  1. root@docker:/opt/hadoop-2.6.0/dfs# pwd 
  2.  
  3. /opt/hadoop-2.6.0/dfs 
  4.  
  5. root@docker:/opt/hadoop-2.6.0/dfs# ls 
  6.  
  7. name node1 node2 

name文件夾是hadoop的配置文件指定的:

  1. dfs.namenode.name.dir 
  2.  
  3. file:/opt/hadoop-2.6.0/dfs/name 

node1和node2是run.sh腳本通過連接文件過去的實際hdfs存儲數(shù)據(jù)的目錄:

  1. dfs.datanode.data.dir 
  2.  
  3. file:/root/data 
  4.  
  5. ln -s /opt/hadoop-2.6.0/dfs/node1 /root/data 
  6.  
  7. ln -s /opt/hadoop-2.6.0/dfs/node2 /root/data 

5)--privileged,這個參數(shù)是獲得最高權限,才能夠執(zhí)行run.sh腳本里面的修改ip的命令。

ifconfig eth0 172.17.0.150

6)/root/run.sh,就是啟動容器的時候,執(zhí)行一下我們提前寫好的腳本,對容器做一下修改了,雖然這些修改扭曲了docker的一些特性,不過對于我們這個本地的小環(huán)境來說,應該還是有點實際使用的價值的。

二、進入node0容器,啟動并測試hdfs

其實,到這里,就已經(jīng)差不多結束了,下面就是hadoop和spark的知識了

首先,先看一下啟動的三個節(jié)點高興一下吧

  1. root@docker:~/docker# docker ps 
  2.  
  3. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 
  4.  
  5. 7268b191b8fd ubuntu:base-spark "/root/run.sh" About an hour ago Up About an hour node2 
  6.  
  7. acce5919ed63 ubuntu:base-spark "/root/run.sh" About an hour ago Up About an hour node1 
  8.  
  9. 6494f90e1ecc ubuntu:base-spark "/root/run.sh" About an hour ago Up About an hour node0 

進入node0容器

  1. root@docker:/# docker exec -it node0 /bin/bash 
  2.  
  3. root@node0:/# 

此時的容器都是已經(jīng)做過修改的,可以參看以下相關的信息,比如,ifconfig,/etc/hosts,hostname,/root/.ssh/authorized_keys,等。

下面就啟動hadoop的hdfs吧,因為這里只用到hdfs所以就不管yarn了,第一次啟動hdfs先來個格式化,然后,還要輸入若干個yes,這個yes是第一次ssh登陸的時候需要的,我就不貼出來格式化等相關的代碼了。

然后就是啟動hdfs:

  1. root@node0:/# /opt/hadoop-2.6.0/sbin/start-dfs.sh 

輸入jps查看一下node0上的進程

  1. root@node0:/# jps 
  2.  
  3. 1310 Jps 
  4.  
  5. 843 NameNode 
  6.  
  7. 1025 SecondaryNameNode 

下面就可以使用hdfs了,可以向hdfs上傳幾個文件試試,也可以通過webUI瀏覽器看一下hdfs的情況,總而言之,就是hdfs的知識了,我就不廢話了。

三,以standalone方式啟動spark集群。

到這里直接啟動spark進程就可以了:

  1. root@node0:/# /opt/spark-1.2.0-bin-hadoop2.4/sbin/start-all.sh 

再次jps一下看看啟動的情況

  1. root@node0:/# jps 
  2.  
  3. 1532 Jps 
  4.  
  5. 843 NameNode 
  6.  
  7. 1025 SecondaryNameNode 
  8.  
  9. 1393 Master 

一切正常,就可以開始啟動spark-shell進行測試了,以standalone方式啟動:

  1. root@node0:/# /opt/spark-1.2.0-bin-hadoop2.4/bin/spark-shell --master spark://node0:7077 

root@node0:/# /opt/spark-1.2.0-bin-hadoop2.4/bin/spark-shell --master spark://node0:7077

到這里也基本已經(jīng)結束了,可以跑一個wordcount的例子,同樣也可以使用webUI查看spark的情況。

責任編輯:xinxiaoliang 來源: DockOne
相關推薦

2014-03-17 10:05:45

Hadoop集群

2011-12-07 16:11:50

Hadoop集群搭建

2016-10-27 09:37:10

Hadoop集群配置

2023-06-12 07:41:16

dockerspark集群

2015-05-27 10:29:41

DockerHadoopHadoop集群

2022-07-20 15:10:38

Docker大數(shù)據(jù)平臺

2023-04-07 08:28:14

2014-07-01 09:53:21

DockerHadoop集群

2022-09-15 08:31:11

主從復制模式Docker

2023-11-13 09:03:10

2021-04-19 08:52:58

Hadoop集群搭建Python

2010-06-04 18:17:50

Hadoop集群

2010-06-03 19:02:31

Hadoop集群搭建

2024-03-07 16:03:56

RedisDocker

2014-09-16 10:13:27

Spark搭建環(huán)境

2012-11-01 17:15:04

2017-08-10 10:17:32

Hadoop分布式搭建

2010-06-04 18:06:22

Hadoop集群搭建

2015-06-16 16:20:40

2012-09-13 13:26:40

Hadoop集群
點贊
收藏

51CTO技術棧公眾號

精品一区电影| 素人一区二区三区| gogogo免费视频观看亚洲一| 欧美最猛性xxxxx亚洲精品| 国产aⅴ激情无码久久久无码| 六月丁香婷婷综合| 欧美日韩性在线观看| 91精品国产入口在线| 日本视频一区二区不卡| 国产又粗又大又爽视频| 亚洲毛片在线| 久久精品中文字幕电影| 成人影视免费观看| 国产精品一区二区三区av| 国产丝袜美腿一区二区三区| 欧美激情在线播放| 91中文字幕永久在线| 国产精品视频一区视频二区| 色一情一伦一子一伦一区| 最新av在线免费观看| 日本韩国精品一区二区| 国产乱人伦偷精品视频不卡 | 欧美特黄视频| 在线视频免费一区二区| 青青草成人免费视频| 自拍偷拍亚洲| 欧美亚洲综合网| 91视频最新入口| 三级资源在线| 亚洲日本在线a| 欧美人与物videos另类| 黄色av免费观看| 激情图片小说一区| 国产精品免费小视频| 国产ts在线播放| 超碰精品在线| 日韩欧美区一区二| 五月天丁香花婷婷| 国产福利91精品一区二区| 91美女蜜桃在线| 91精品久久久久久久久久久久久久 | 久久成人免费电影| 日本成人在线视频网址| 日韩黄色a级片| 欧美精品大片| 九九视频这里只有精品| 国产一二三四区| 91综合视频| 日韩在线欧美在线| 老司机精品免费视频| 国产精品入口久久| 亚洲人成五月天| 久久久99精品视频| 免费日本一区二区三区视频| 国产精品日日摸夜夜摸av| 奇米视频888战线精品播放| 日韩精品123| 久久久噜噜噜久久人人看| 精品国产乱码久久久久久郑州公司| 超碰在线人人干| 国产成人在线观看| 国产福利久久精品| 神马午夜电影一区二区三区在线观看| 国产91综合一区在线观看| 高清不卡一区二区三区| 蜜臀av免费在线观看| 日韩专区欧美专区| 国产97在线|亚洲| 波多野结衣高清在线| 免费观看日韩av| 亚洲自拍偷拍色片视频| 日韩av黄色片| 国产精品女主播一区二区三区| 中日韩美女免费视频网站在线观看| www..com.cn蕾丝视频在线观看免费版| а天堂中文最新一区二区三区| 欧美精品123区| 久久久久久无码精品人妻一区二区| 99久久精品免费看国产小宝寻花 | 正义之心1992免费观看全集完整版| 在线a人片免费观看视频| 亚洲欧洲成人av每日更新| 国产精品88久久久久久妇女| 6699嫩草久久久精品影院| 欧美午夜无遮挡| 色乱码一区二区三区在线| 国产麻豆精品| 日韩成人网免费视频| 日韩欧美黄色网址| 欧美区国产区| 国产不卡av在线免费观看| 国产精品毛片一区二区在线看舒淇| 国产大陆a不卡| 欧美色图亚洲自拍| 中文在线字幕免费观看| 久久嫩草精品久久久久| 五月天亚洲综合情| 欧美野外wwwxxx| 在线精品国精品国产尤物884a| 欧美视频国产视频| 欧美电影在线观看免费| 日韩欧美国产成人一区二区| 欧美无人区码suv| 久久国产精品成人免费观看的软件| 亚洲国产免费av| wwwww黄色| 伊人成人网在线看| 国产欧美精品一区二区| 欧美一级淫片aaaaaa| 亚洲国产精品国自产拍av| 狠狠精品干练久久久无码中文字幕 | 欧美韩日一区二区三区| 天堂8在线天堂资源bt| 欧美三区四区| 精品国产1区2区3区| 东京热无码av男人的天堂| 亚洲人体偷拍| 成人h片在线播放免费网站| 日韩av成人| 亚洲成年人网站在线观看| 91小视频在线播放| 成人免费av| 青青青国产精品一区二区| 人妻无码中文字幕免费视频蜜桃| 中文字幕日韩av资源站| 无码少妇一区二区三区芒果| 欧美福利在线播放网址导航| 欧美成人精品一区二区三区| 亚洲一卡二卡在线观看| 久久一日本道色综合| 亚洲 自拍 另类小说综合图区| а天堂中文最新一区二区三区| 亚洲日本aⅴ片在线观看香蕉| 极品久久久久久| 精品在线观看免费| 久久偷窥视频| 欧美gv在线| 日韩国产在线播放| 日韩免费一级片| 国产福利精品导航| 国产四区在线观看| 国产精品一区二区三区av| 久久五月天综合| 97在线公开视频| 亚洲欧美综合色| 亚洲免费黄色录像| 亚洲第一偷拍| 97av影视网在线观看| 三级网站视频在在线播放| 日韩你懂的电影在线观看| 国产日韩欧美在线观看视频| 国产精品白丝jk白祙喷水网站 | 在线三级电影| 日韩视频免费观看高清完整版在线观看 | 91色琪琪电影亚洲精品久久| 国产原厂视频在线观看| 欧美一区二区在线不卡| 国产乱国产乱老熟300| 国产成人自拍高清视频在线免费播放| 免费久久久久久| 欧一区二区三区| 欧美激情二区三区| 少妇精品视频一区二区| 欧美日韩国产精品一区二区三区四区 | 国产成人精品一区二| 日韩一级性生活片| 中文有码一区| 国产欧美久久一区二区| av色综合久久天堂av色综合在| 日韩午夜在线观看| 日韩精品一区二区三区国语自制| 91免费观看视频在线| 色婷婷综合久久久久中文字幕 | 丝袜情趣国产精品| 国产老妇伦国产熟女老妇视频| 伊人一区二区三区| 亚洲蜜桃精久久久久久久久久久久| 亚洲欧美视频| 一区二区精品视频| 超碰中文在线| 欧美日韩在线免费视频| 丰满少妇高潮久久三区| bt欧美亚洲午夜电影天堂| www黄色在线| 亚洲女同另类| 精品一区久久久| 国产原创一区| 久久久久久亚洲| 国产午夜在线观看| 精品女同一区二区三区在线播放| 日韩在线免费观看av| 久久草av在线| 成人在线观看你懂的| 成人毛片免费看| 国产精品免费一区二区三区在线观看| 国产盗摄——sm在线视频| 中文字幕亚洲综合| 天天操天天操天天操| 精品视频资源站| 久久久久亚洲av片无码下载蜜桃| 久久久www成人免费毛片麻豆| 久久精品视频在线观看免费| 99国产精品久久久久久久| 午夜精品福利一区二区| 91久久精品无嫩草影院| 国产精品mp4| 国产一二区在线观看| 亚洲毛片在线免费观看| 久草国产精品视频| 中文字幕一区日韩精品欧美| 亚洲精品乱码久久久久久不卡| 蜜乳av一区二区| 无码人妻精品一区二区三区在线| 99久久www免费| 免费亚洲精品视频| 澳门久久精品| 亚洲xxx大片| yiren22亚洲综合| 青青a在线精品免费观看| 国产网友自拍视频导航网站在线观看 | 午夜影院免费版| 丝袜美腿亚洲综合| 人妻无码久久一区二区三区免费| 一本精品一区二区三区| 色一情一区二区三区四区| 神马日本精品| 国产精品一区二区三区四区五区 | 国内精品不卡在线| 黄色国产小视频| 欧美综合二区| 丰满少妇被猛烈进入高清播放| 黑丝一区二区| 亚洲熟妇无码av在线播放| 亚洲不卡av不卡一区二区| 亚洲国内在线| 精品免费在线| 亚洲人成77777| 精品国产一区二区三区噜噜噜 | 欧美性xxxx极品hd满灌| 日本一级淫片色费放| 亚洲福利一区二区三区| 久久一级黄色片| 亚洲激情一二三区| 欧美被狂躁喷白浆精品| 亚洲免费大片在线观看| 日本少妇xxx| 国产一区二区三区久久久| 男生操女生视频在线观看| 美女一区二区久久| 午夜剧场高清版免费观看 | 性一交一黄一片| 国产一区二区三区视频在线播放| 手机在线免费毛片| 国产91丝袜在线18| 亚洲天堂2024| 99久久99久久精品国产片果冻| 亚洲国产精品无码久久久久高潮| caoporm超碰国产精品| 亚洲乱码国产乱码精品精大量 | 又色又爽的视频| 国产精品乱人伦中文| 天天做夜夜爱爱爱| 亚洲激情综合网| 色网站在线播放| 一本久久综合亚洲鲁鲁五月天 | 电影亚洲精品噜噜在线观看| 国产精品99久久久久久久久| 91福利精品在线观看| 国产一区私人高清影院| 欧美一区一区| 蜜桃999成人看片在线观看| 国内精品视频在线观看| 亚洲一二三区精品| 综合日韩在线| 国产二区视频在线播放| 免费在线看一区| 国产亚洲色婷婷久久| 99久久综合99久久综合网站| 一区二区伦理片| 亚洲女子a中天字幕| 亚洲精品午夜久久久久久久| 色欧美日韩亚洲| 国产免费久久久| 亚洲精品理论电影| 亚洲1卡2卡3卡4卡乱码精品| 欧美理论片在线观看| 亚洲精华液一区二区三区| 91精品国产综合久久香蕉| 国产精品毛片久久久| 少妇特黄a一区二区三区| 欧美在线91| wwwwww.色| 高潮精品一区videoshd| 中文字幕人妻一区二区三区在线视频| 国产精品久久久久久久久免费樱桃| 国产在线免费视频| 欧美性猛交xxxx黑人交| 高h调教冰块play男男双性文| 亚洲色图综合网| 国产理论电影在线| 国产欧美va欧美va香蕉在线| 欧美三级电影在线| 咪咪色在线视频| 久久综合图片| 精品1卡二卡三卡四卡老狼| 国产精品―色哟哟| 三级黄色在线视频| 日韩视频一区二区| 香蕉视频在线看| 欧美一级淫片播放口| 亚洲精品在线a| 亚洲天堂电影网| 性欧美长视频| xxxx视频在线观看| 亚洲三级理论片| 波多野结衣一区二区在线| 亚洲第一中文字幕| gogogogo高清视频在线| 国产精品视频在线观看| 亚洲另类春色校园小说| 日本一级黄视频| 极品少妇xxxx精品少妇偷拍 | 欧美精品一二| 337p粉嫩大胆噜噜噜鲁| 丁香天五香天堂综合| 国产美女高潮视频| 欧美日韩一区二区三区高清| 亚洲av激情无码专区在线播放| 欧美丰满片xxx777| 亚洲影视资源| 夜夜春亚洲嫩草影视日日摸夜夜添夜| 久久国产精品99国产| 亚洲国产精品自拍视频| 亚洲精品国产a久久久久久 | 国产精品一卡二| www.毛片com| 91麻豆精品国产91久久久久久久久 | 顶臀精品视频www| 欧美日韩一区高清| 国产精品一区二区三区四区色| 日韩av免费在线看| 亚洲自拍电影| 欧美 激情 在线| 国产午夜精品久久| 亚洲 国产 日韩 欧美| 亚洲视频第一页| 人人鲁人人莫人人爱精品| 秋霞毛片久久久久久久久| 久久久久国产精品午夜一区| 欧美日韩高清丝袜| 欧亚洲嫩模精品一区三区| 成人激情电影在线看| 色噜噜国产精品视频一区二区| 激情亚洲影院在线观看| 色综合视频二区偷拍在线| 久久精品国产99久久6 | 欧美wwwww| 亚洲制服中文字幕| 一区二区在线观看av| 人妻偷人精品一区二区三区| 欧美综合激情网| 精品欧美久久| 黄色片免费网址| 亚洲午夜三级在线| 五月激情婷婷网| 国产精品1234| 91精品国产乱码久久久久久 | 999国产精品一区| ww国产内射精品后入国产| 久久综合九色综合97婷婷女人| 奴色虐av一区二区三区| 日韩中文在线中文网在线观看| 国产视频一区二| 成年女人18级毛片毛片免费| 久久夜色精品一区| 6—12呦国产精品| 久久久亚洲精选| 国内精品伊人久久久| 超碰中文字幕在线观看| 精品国产老师黑色丝袜高跟鞋| 国产精品久久久久久久久久久久久久久久 | 欧美videossex| 欧美成ee人免费视频| 精品一区二区影视| 影音先锋亚洲天堂| 色一情一乱一区二区| 大桥未久女教师av一区二区| 不卡影院一区二区| 亚洲激情五月婷婷| 男男激情在线| 97超碰最新| 久久亚洲视频| 久久久久成人网站| 国产亚洲精品91在线| 亚洲精品在线a| av污在线观看| 欧美极品aⅴ影院| www.久久色| 国产精品欧美亚洲777777 | 宅男噜噜噜66国产免费观看|