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

這是一篇最通熟易懂的Hadoop HDFS實踐攻略!

大數據 Hadoop
以下是HDFS的基礎內容,希望可以幫助您快速熟悉HDFS的思路和使用方式。

[[191824]]

本文主要幫您解決一下幾個問題:

  • HDFS是用來解決什么問題?怎么解決的?
  • 如何在命令行下操作HDFS?
  • 如何使用Java API來操作HDFS?
  • 在了解基本思路和操作方法后,進一步深究HDFS具體的讀寫數據流程

學習并實踐本文教程后,可以對HDFS有比較清晰的認識,并可以進行熟練操作,為后續學習Hadoop體系打好基礎。

目錄:

理論部分

  1. HDFS 基本原理
  2. 文件讀取、寫入機制
  3. 元數據管理思路

實踐部分

  1. 安裝實踐環境
  2. Shell 命令行操作方式
  3. Java API操作方式

一、HDFS基本原理

HDFS(Hadoop Distribute File System)是一個分布式文件系統,是Hadoop的重要成員。

1、文件系統的問題

文件系統是操作系統提供的磁盤空間管理服務,只需要我們制定把文件放到哪兒,從哪個路徑讀取文件就可以了,不用關心文件在磁盤上是如何存放的。

當文件所需空間大于本機磁盤空間時,如何處理呢?

一是加磁盤,但是加到一定程度就有限制了;二是加機器,用遠程共享目錄的方式提供網絡化的存儲,這種方式可以理解為分布式文件系統的雛形,可以把不同文件放入不同的機器中,空間不足了可繼續加機器,突破了存儲空間的限制。但這個方式有多個問題:

  • 單機負載可能極高例如某個文件是熱門,很多用戶經常讀取這個文件,就使得次文件所在機器的訪問壓力極高。
  • 數據不安全如果某個文件所在的機器出現故障,這個文件就不能訪問了,可靠性很差。
  • 文件整理困難例如想把一些文件的存儲位置進行調整,就需要看目標機器的空間是否夠用,并且需要自己維護文件位置,如果機器非常多,操作就極為復雜。

2、HDFS的解決思路

HDFS是個抽象層,底層依賴很多獨立的服務器,對外提供統一的文件管理功能,對于用戶來講,感覺就像在操作一臺機器,感受不到HDFS下面的多臺服務器。

例如用戶訪問HDFS中的/a/b/c.mpg這個文件,HDFS負責從底層相應服務器中讀取,然后返回給用戶,這樣用戶只需和HDFS打交道,不關心這個文件是怎么存儲的。

例如用戶需要保存一個文件/a/b/xxx.avi。

HDFS首先會把這個文件進行分割,例如分為4塊,然后分別放到不同服務器上。

這樣做有個好處,不怕文件太大,并且讀文件的壓力不會全部集中在一臺服務器上。但如果某臺服務器壞了,文件就讀不全了。

HDFS為保證文件可靠性,會把每個文件塊進行多個備份:

塊1:A B C

塊2:A B D

塊3:B C D

塊4:A C D

這樣文件的可靠性就大大增強了,即使某個服務器壞了,也可以完整讀取文件。

同時還帶來一個很大的好處,就是增加了文件的并發訪問能力,比如多個用戶讀取這個文件時,都要讀塊1,HDFS可以根據服務器的繁忙程度,選擇從那臺服務器讀塊1。

3、元數據的管理

HDFS中存了哪些文件?

文件被分成了哪些塊?

每個塊被放在哪臺服務器上?

……

這些都叫做元數據,這些元數據被抽象為一個目錄樹,記錄了這些復雜的對應關系。這些元數據由一個單獨的模塊進行管理,這個模塊叫做NameNode。存放文件塊的真實服務器叫做DataNode,所以用戶訪問HDFS的過程可以理解為:

用戶-> HDFS -> NameNode -> DataNode

4、HDFS優點

容量可以線性擴展

有副本機制,存儲可靠性高,吞吐量增大

有了NameNode后,用戶訪問文件只需指定HDFS上的路徑

二、HDFS實踐

經過上面介紹,可以對HDFS有個基本的了解,下面開始進行實際操作,在實踐中更好的認識HDFS。

1、安裝實踐環境

您可以選擇自己搭建環境,也可以使用打包好的Hadoop環境(版本2.7.3)

這個Hadoop環境實際上是一個虛機鏡像,所以需要安裝virtualbox虛擬機、vagrant鏡像管理工具,和我的Hadoop鏡像,然后用這個鏡像啟動虛機就可以了,下面是具體操作步驟:

1)安裝virtualbox

下載地址:https://www.virtualbox.org/wiki/Downloads

2)安裝vagrant

因為官網下載較慢,我上傳到了云盤

Windows版

鏈接: https://pan.baidu.com/s/1pKKQGHl

密碼: eykr

Mac版

鏈接: https://pan.baidu.com/s/1slts9yt

密碼: aig4

安裝完成后,在命令行終端下就可以使用vagrant命令。

3)下載Hadoop鏡像

鏈接: https://pan.baidu.com/s/1bpaisnd

密碼: pn6c

4)啟動

加載Hadoop鏡像

vagrant box add {自定義鏡像名稱} {鏡像所在路徑}

例如您想命名為Hadoop,鏡像下載后的路徑為d:\hadoop.box,加載命令就是這樣:

vagrant box add hadoop d:\hadoop.box

創建工作目錄,例如d:\hdfstest。

進入此目錄,初始化

  1. cd d:\hdfstest 
  2. vagrant init hadoop 

啟動虛機

  1. vagrant up 

啟動完成后,就可以使用SSH客戶端登錄虛機了

IP 127.0.0.1

端口 2222

用戶名 root

密碼 vagrant

登錄后使用命令ifconfig 查看本虛機的IP(如192.168.31.239),可以使用此IP和端口22登錄了

IP 192.168.31.239

端口 22

用戶名 root

密碼 vagrant

Hadoop服務器環境搭建完成。

2、Shell命令行操作

登錄Hadoop服務器后,先啟動HDFS,執行命令:

  1. start-dfs.sh 

查看幫助

  1. hdfs dfs –help 

顯示目錄信息

-ls 后面是要查看的目錄路徑

創建目錄

創建目錄/test

  1. hdfs dfs -mkdir /test 

一次創建多級目錄/aa/bb

  1. hdfs dfs -mkdir -p /aa/bb 

上傳文件

形式

hdfs dfs -put {本地路徑} {hdfs中的路徑}

實例(先創建好一個測試文件mytest.txt,內容隨意,然后上傳到/test)

  1. hadoop fs -put ~/mytest.txt /test 

顯示文件內容

  1. hdfs dfs -cat /test/mytest.txt 

下載文件

  1. hdfs dfs -get /test/mytest.txt ./mytest2.txt 

合并下載

先創建2個測試文件(log.access, log.error),內容隨意,使用-put上傳到/test目錄下

  1. hdfs dfs -put log.* /test 

然后把2個log文件合并下載到一個文件中

  1. hdfs dfs -getmerge /test/log.* ./log 

查看本地log文件內容,應該包含log.access與log.error兩個文件的內容。

復制

從HDFS的一個路徑拷貝HDFS的另一個路徑

  1. hdfs dfs -cp /test/mytest.txt /aa/mytest.txt.2 

驗證

  1. hdfs dfs -ls /aa 

移動文件

  1. hdfs dfs -mv /aa/mytest.txt.2 /aa/bb 

驗證

  1. hdfs dfs -ls /aa/bb 

應列出mytest.txt.2。

刪除

  1. hdfs dfs -rm -r /aa/bb/mytest.txt.2 

使用-r參數可以一次刪除多級目錄。

驗證

  1. hdfs dfs -ls /aa/bb 

應為空

修改文件權限

與Linux文件系統中的用法一樣,修改文件所屬權限

  1. -chgrp 
  2.  
  3. -chmod 
  4.  
  5. -chown 

示例

  1. hdfs dfs -chmod 666 /test/mytest.txt 
  2.  
  3. hdfs dfs -chown someuser:somegrp /test/mytest.txt 

統計文件系統的可用空間

  1. hdfs dfs -df -h / 

統計文件夾的大小

  1. hdfs dfs -du -s -h /test 

3、Java API操作

(1)環境配置

因為需要在本機鏈接Hadoop虛機服務器,所以需要配置Hadoop,使其可以被外部訪問。

先登錄Hadoop虛機服務器,然后:

1)查看本機IP

  1. ip address 

例如IP為:192.168.31.239

2)修改文件:

  1. vi /usr/local/hadoop-2.7.3/etc/hadoop/core-site.xml 
  2.  
  3. fs.defaultFS 
  4.  
  5. hdfs://localhost:9000 

把其中的localhost:9000修改為本機IP 192.168.31.239:9000

3)重新啟動HDFS

#停止

  1. stop-dfs.sh 

#啟動

start-dfs.sh

(2)搭建開發環境

1)新建項目目錄hdfstest

2)在項目目錄下創建pom.xml

內容:

3)創建源碼目錄src/main/java

現在項目目錄結構

  1. ├── pom.xml 
  2.  
  3. !"" src 
  4.  
  5. │ └── main 
  6.  
  7. │ └── java 

(3)示例代碼

查看文件列表ls

1)新建文件src/main/java/Ls.java

列出/下的文件列表,及遞歸獲取所有文件

2)編譯執行

  1. mvn compile 
  2.  
  3. mvn exec:java -Dexec.mainClass="Ls" -Dexec.cleanupDaemonThreads 
  4.  
  5. =false 

創建目錄mkdir

在HDFS中創建目錄/mkdir/a/b

1)新建文件

  1. src/main/java/Mkdir.java 

2)編譯執行

  1. mvn compile 
  2.  
  3. mvn exec:java -Dexec.mainClass="Mkdir" -Dexec.cleanupDaemonThre 
  4.  
  5. ads=false 

3)在服務器中使用HDFS命令驗證

  1. hdfs dfs -ls /mkdir 

上傳文件put

在當前項目目錄下新建測試文件,上傳到HDFS中的/mkdir

1)在項目目錄下創建測試文件testfile.txt,內容隨意

2)新建文件src/main/java/Put.java

3)編譯執行

  1. mvn compile 
  2. mvn exec:java -Dexec.mainClass="Put" -Dexec.cleanupDaemonThread  
  3. s=false 

4)在服務器中使用HDFS命令驗證

  1. hdfs dfs -ls /mkdir 
  2. hdfs dfs -cat /mkdir/testfile.txt 

下載文件get

1)新建文件src/main/java/Get.java

把HDFS中/mkdir/testfile.txt下載到當前項目目錄下

2)編譯執行

  1. mvn compile 
  2. mvn exec:java -Dexec.mainClass="Get" -Dexec.cleanupDaemonThread 
  3. s=false 

3)查看項目目錄下是否存在testfile2.txt及其內容

刪除文件delete

刪除HDFS上之前上傳的/mkdir/testfile.txt

1)新建文件src/main/java/Del.java

2)編譯執行

  1. mvn compile 
  2. mvn exec:java -Dexec.mainClass="Del" -Dexec.cleanupDaemonThread 
  3. s=false 

3)在服務器中使用HDFS命令驗證,檢查testfile.txt是否被刪除

  1. hdfs dfs -ls /mkdir 

重命名rename

把HDFS中的/mkdir/a重命名為/mkdir/a2

1)新建文件src/main/java/Rename.java

2)編譯執行

  1. mvn compile  
  2. mvn exec:java -Dexec.mainClass="Rename" -Dexec.cleanupDaemonThr  
  3. eads=false 

3)在服務器中使用HDFS命令驗證

  1. hdfs dfs -ls /mkdir 

流方式讀取文件部分內容

上傳一個文本文件,然后使用流方式讀取部分內容保存到當前項目目錄。

1)在服務器中創建一個測試文件test.txt,內容:

  1. 123456789abcdefghijklmn 

上傳到HDFS

  1. hdfs dfs -put test.txt / 

2)在本地項目中新建文件src/main/java/StreamGet.java

2)編譯執行

  1. mvn compile 
  2. mvn exec:java -Dexec.mainClass="StreamGet" -Dexec.cleanupDaemon 
  3. Threads=false 

3)執行后查看項目目錄下的test.txt.part2

  1. 6789abcdefghijklmn 

前面的12345已經被略過

三、深入了解

1、寫入機制

向HDFS中寫入文件時,是按照塊兒為單位的,client會根據配置中設置的塊兒的大小把目標文件切為多塊,例如文件是300M ,配置中塊大小值為128M,那么就分為3塊兒。

具體寫入流程:

client向namenode發請求,說想要上傳文件

namenode會檢查目標文件是否存在、父目錄是否存在,檢查沒有問題后返回確認信息

client再發請求,問***個block應該傳到哪些datanode上

namenode經過衡量,返回3個可用的datanode(A,B,C)

client與A建立連接,A與B建立連接,B與C建立連接,形成一個pipeline

傳輸管道建立完成后,client開始向A發送數據包,此數據包會經過管道一次傳遞到B和C

當***個block的數據都傳完以后,client再向namenode請求第二個block上傳到哪些datanode,然后建立傳輸管道發送數據

就這樣,直到client把文件全部上傳完成

大數據

2、讀取機制

Client把要讀取的文件路徑發給namenode,查詢元數據,找到文件塊所在的datanode服務器

Client直到了文件包含哪幾塊兒、每一塊兒在哪些datanode上,就選擇那些離自己進的datanode(在同一機房,如果有多個離著近的,就隨機選擇),請求簡歷socket流

從datanode獲取數據

Client接收數據包,先本地緩存,然后寫入目標文件

直到文件讀取完成

3、NameNode機制

通過對HDFS讀寫流程的了解,可以發現namenode是一個很重要的部分,它記錄著整個HDFS系統的元數據,這些元數據是需要持久化的,要保存到文件中。

Namenode還要承受巨大的訪問量,client讀寫文件時都需要請求namenode,寫文件時要修改元數據,讀文件時要查詢元數據。

為了提高效率,namenode便將元數據加載到內存中,每次修改時,直接修改內存,而不是直接修改文件,同時會記錄下操作日志,供后期修改文件時使用。

這樣,namenode對數據的管理就涉及到了3種存儲形式:

  1. 內存數據
  2. 元數據文件
  3. 操作日志文件

namenode需要定期對元數據文件和日志文件進行整合,以保證文件中數據是新的,但這個過程很消耗性能,namenode需要快速地響應client的大量請求,很難去完成文件整合操作,這時就引入了一個小助手secondnamenode。

secondnamenode會定期從namenode中下載元數據文件和操作日志,進行整合,形成新的數據文件,然后傳回namenode,并替換掉之前的舊文件。

secondnamenode是namenode的好幫手,替namenode完成了這個重體力活兒,并且還可以作為namenode的一個防災備份,當namenode數據丟失時,secondnamenode上有最近一次整理好的數據文件,可以傳給namenode進行加載,這樣可以保證最少的數據丟失。

 

小結

HDFS的基礎內容介紹完了,希望可以幫助您快速熟悉HDFS的思路和使用方式。

責任編輯:武曉燕 來源: 36大數據
相關推薦

2016-03-25 09:59:38

性能調優LinuxMySQL

2022-07-14 14:18:59

Kubernetes架構

2022-07-06 08:17:50

C 語言函數選型

2019-12-13 16:19:15

戴爾

2021-10-11 11:08:33

HDFS快照系統

2021-07-29 07:55:20

React實踐代碼

2020-03-13 14:20:02

代碼開發 Rust

2024-01-09 12:06:55

MVCC并發控制MySQL

2021-07-08 07:30:13

Webpack 前端Tree shakin

2022-03-04 08:17:53

PageRank網絡等級

2022-08-01 08:18:58

網絡網絡協議

2022-09-20 07:33:15

Jenkinshttps://mp

2022-12-05 08:17:51

FramerMotion動畫

2020-08-11 10:40:31

裝飾者模式Java組件

2024-05-11 07:56:07

編程語言Java字節碼

2019-04-08 20:20:37

2021-09-07 09:20:44

Hadoop數據容錯

2025-11-03 04:00:00

VLA分詞器RL

2023-09-01 14:02:25

用戶分析攻略

2021-11-12 07:43:34

版本HDFS工具
點贊
收藏

51CTO技術棧公眾號

亚洲偷熟乱区亚洲香蕉av| 亚洲一区二区视频在线观看| 国产精品视频免费在线| 国产在线观看免费视频软件| 日韩区欧美区| 五月激情综合网| 亚洲开发第一视频在线播放| 国产三级漂亮女教师| 一本久久综合| 久久精品国产成人精品| 中文成人无字幕乱码精品区| 国产精品伦一区二区| 亚洲免费av网站| 日本一区二区三区四区在线观看| 国产精品毛片久久久久久久av| 亚洲激情午夜| 日韩亚洲精品电影| 短视频在线观看| 亚洲欧美专区| 91久久精品一区二区三| 欧美高清中文字幕| av中文在线| 99久久精品国产导航| 91精品久久久久| 日韩黄色片网站| 亚洲国产高清一区二区三区| www国产精品视频| av鲁丝一区鲁丝二区鲁丝三区| 国产精品xnxxcom| 在线观看一区不卡| 131美女爱做视频| 一二三四区在线观看| 国产精品久久网站| 欧美一区观看| 亚州男人的天堂| 成人国产精品免费网站| 91在线精品播放| 最近中文字幕在线观看视频| 男人的天堂成人在线| 久久免费少妇高潮久久精品99| 色欲一区二区三区精品a片| 国产精品欧美三级在线观看| 日韩av在线导航| 亚洲天堂美女视频| 国产三级精品三级在线观看国产| 日韩欧美视频一区| 女王人厕视频2ⅴk| 国产精品2区| 欧美一区二区免费| 涩多多在线观看| 日韩一区二区三免费高清在线观看| 色94色欧美sute亚洲线路一久| 91国视频在线| xxx欧美xxx| 欧美性xxxxxx| 欧美精品第三页| 日本成人片在线| 在线一区二区三区做爰视频网站| 成年人免费在线播放| 日韩av一卡| 日本大香伊一区二区三区| 国产成人精品无码播放| 8av国产精品爽爽ⅴa在线观看 | 欧美日韩精品免费看| 天堂在线资源网| 久久蜜桃av一区二区天堂| 欧美不卡福利| 成全电影播放在线观看国语| 国产精品美女久久久久久久久久久| 亚洲综合视频一区| 好了av在线| 亚洲国产一二三| jizzjizzxxxx| 成人av色网站| 欧美一二三四在线| 一本色道综合久久欧美日韩精品| 免费看av成人| 久久精品99久久久香蕉| 特级片在线观看| 亚洲国产精品一区制服丝袜| 国产69久久精品成人看| 涩涩视频在线观看| 国产精品99精品久久免费| 97自拍视频| 视频一区二区三区在线看免费看| 国产喷白浆一区二区三区| 在线不卡视频一区二区| 成人女同在线观看| 在线观看一区不卡| 中国男女全黄大片| 久久99国产精品视频| 久久精品成人欧美大片| 国产精品成人av久久| 天堂久久一区二区三区| 亚洲tv在线观看| 日本免费网站在线观看| 欧美国产综合色视频| www.亚洲成人网| 国产一区二区三区朝在线观看| 欧美一区二区在线免费播放| 成人免费网站黄| 欧美激情第二页| 国产精品88a∨| 囯产精品一品二区三区| 国产日韩欧美在线一区| 国产毛片久久久久久国产毛片| 日韩pacopacomama| 欧美成人性战久久| 国产精品国产三级国产专业不| 欧美精品日本| 国产欧美精品一区二区三区-老狼| 亚洲欧美另类视频| 中文字幕亚洲一区二区va在线| 欧美日韩成人免费视频| 不卡的国产精品| 亚洲无线码在线一区观看| 久久久久久久九九九九| 久久国产麻豆精品| 蜜桃网站成人| 国产天堂在线播放视频| 欧美猛男超大videosgay| 亚洲成人日韩在线| 国内在线观看一区二区三区| 国产视频999| 国产福利第一视频在线播放| 天天亚洲美女在线视频| 中文字幕人妻熟女人妻a片| 日本一区二区免费高清| 日本精品一区二区三区在线| 老牛影视av牛牛影视av| 亚洲精品视频在线观看网站| 性生生活大片免费看视频| 欧美男同视频网| 欧美亚洲日本网站| 天天干天天干天天干| 亚洲最新视频在线观看| 做a视频在线观看| 日韩理论电影大全| 国产精品人人做人人爽| 国产三级电影在线观看| 色综合激情久久| 香蕉视频黄色在线观看| 在线亚洲自拍| 免费国产一区二区| 国产精品粉嫩| 亚洲情综合五月天| 一级片免费在线播放| 久久亚区不卡日本| 日本在线视频www| 亚洲激情77| 国产999精品久久久| 欧美孕妇孕交| 日本黄色一区二区| 五月天精品视频| 日本成人中文字幕在线视频| 婷婷四月色综合| 国产欧美自拍| 久久精品电影网站| va婷婷在线免费观看| 亚洲综合免费观看高清完整版在线| av地址在线观看| 精品成人国产| 麻豆91蜜桃| 成人午夜一级| 久久成年人免费电影| 亚洲av无码国产综合专区| 亚洲国产一区在线观看| 中国黄色a级片| 老司机精品导航| 伊人av成人| 136国产福利精品导航网址应用| 欧美激情一级二级| 色视频免费在线观看| 在线精品视频免费观看| 国产成人综合在线视频| 国产.欧美.日韩| 国产精品丝袜久久久久久消防器材| 狠狠色狠狠色综合婷婷tag| 国产精品亚洲自拍| 亚洲91av| 亚洲欧美综合v| 国产青青草视频| 亚洲高清不卡在线观看| 亚洲国产av一区| 国产一区二区三区视频在线播放| 国产精品久久久久久久乖乖| 精品影片在线观看的网站| 国产在线观看精品| 波多野结衣中文字幕久久| 亚洲美女性生活视频| 一级片视频网站| 欧美日韩午夜剧场| 黄色录像免费观看| 99国产麻豆精品| 天天综合天天添夜夜添狠狠添| 亚洲高清资源| 伊人久久大香线蕉综合75| 成人中文字幕视频| 国产精品一区二区久久| 爱情岛亚洲播放路线| 一区二区三区视频在线| 性一交一乱一透一a级| 色视频一区二区| 国产在线视频卡一卡二| 欧美激情一区不卡| 亚洲第一黄色网址| 国产一区二区三区观看| www.国产区| 激情欧美一区二区三区| 婷婷久久五月天| 亚洲素人在线| 成人一区二区在线| av在线成人| 国产精品免费观看在线| 白浆在线视频| 米奇精品一区二区三区在线观看| 激情小视频在线| 亚洲电影在线看| av手机免费看| 欧美日韩国产高清一区二区| 国产又大又粗又爽| 亚洲成人自拍一区| 动漫性做爰视频| 国产精品高潮久久久久无| 一女三黑人理论片在线| 福利视频网站一区二区三区| 亚洲妇熟xx妇色黄蜜桃| 久久尤物视频| 欧美色图另类小说| 国产欧美不卡| 日韩五码在线观看| 国产精品vip| www国产无套内射com| 欧美理论电影大全| 欧美一区二区三区电影在线观看 | 日韩免费性生活视频播放| 中文字幕精品一区二| 日本高清不卡aⅴ免费网站| 亚洲精品1区2区3区| 亚洲成av人片一区二区| 国产一级在线免费观看| 一区二区三区日本| 九九热精品免费视频| 亚洲精品视频在线看| 校园春色 亚洲| 亚洲影视在线观看| 免费看一级一片| 亚洲第一精品在线| 日韩av无码中文字幕| 五月天网站亚洲| 九九热精品视频在线| 都市激情亚洲色图| 久久国产视频一区| 色av成人天堂桃色av| 天天干天天操天天爱| 91福利视频网站| 亚洲午夜精品久久久| 欧美精品777| 亚洲国产精品欧美久久| 精品剧情在线观看| 天天操天天干天天舔| 亚洲欧美制服另类日韩| 国产一二三区在线视频| 日韩在线欧美在线| 黄色av免费在线| 欧美精品18videosex性欧美| 高清在线视频不卡| 日韩av成人在线| 六九午夜精品视频| 91超碰rencao97精品| 风间由美中文字幕在线看视频国产欧美| 国产女主播一区二区三区| 亚洲精品推荐| 一区二区在线观| 国产一区观看| 欧美精品第三页| 久久99精品久久久久久动态图 | 国产日韩免费视频| 精品国产乱码久久久久久夜甘婷婷| 午夜福利一区二区三区| 中文字幕无线精品亚洲乱码一区| 成人在线观看免费网站| 久久久亚洲天堂| 日本精品另类| 99久久精品久久久久久ai换脸| 人体久久天天| 四虎影院一区二区| 国产亚洲一级| 欧美视频亚洲图片| av在线这里只有精品| 国产一区二区三区四区在线| 亚洲精品第1页| 欧美一区免费看| 日韩美女视频在线| 国产福利片在线| 久久免费观看视频| **国产精品| 美女黄毛**国产精品啪啪| 91中文字幕精品永久在线| 奇米影视亚洲色图| 久久精品国产免费看久久精品| 在线观看免费视频国产| 国产精品美女久久久久久久久久久 | 中文字幕视频在线免费观看| 国产成人av一区二区三区在线| 精品无码在线观看| 婷婷久久综合九色国产成人| 一级黄色免费看| 亚洲女人天堂av| 菠萝蜜视频在线观看www入口| 91精品久久久久久久| 九九热精品视频在线观看| 成人av在线播放观看| 久久精品99国产国产精| 国产美女喷水视频| 亚洲一区二区三区四区中文字幕 | 三级在线观看视频| 99视频网站| 国产精品99在线观看| 国产极品美女高潮无套久久久| 粉嫩蜜臀av国产精品网站| 亚洲天堂网av在线| 欧美亚洲禁片免费| 日本免费一区二区三区最新| 欧美精品videos另类日本| 成人污污www网站免费丝瓜| 日本在线观看一区二区三区| 一区二区三区成人精品| 91精品又粗又猛又爽| 亚洲欧美一区二区三区孕妇| 一区精品在线观看| 夜夜嗨av色综合久久久综合网| 手机在线观看av网站| 国产青春久久久国产毛片| 欧美激情日韩| 性色av浪潮av| 亚洲免费av高清| 国产福利免费视频| 欧美成人免费一级人片100| 亚洲欧美综合久久久久久v动漫| 伊人久久av导航| 黑人精品欧美一区二区蜜桃| 在线观看黄网址| 88在线观看91蜜桃国自产| 日本综合在线| 91精品久久久久久久久不口人| 首页国产精品| 黄色小视频免费网站| 1区2区3区欧美| 国产精品欧美亚洲| 久久中文字幕国产| 涩涩屋成人免费视频软件| 人妻互换免费中文字幕| 国产电影精品久久禁18| 久久久久久久久精| 亚洲电影成人av99爱色| 97超碰在线免费| 久久99精品国产99久久| 亚洲欧美视频一区二区三区| 一区二区三区四区免费| 欧美三区在线观看| 黄色网址在线免费观看| αv一区二区三区| 99精品国产一区二区青青牛奶 | 亚洲蜜臀av乱码久久精品蜜桃| www夜片内射视频日韩精品成人| 欧美精品videosex性欧美| 天美av一区二区三区久久| 玩弄japan白嫩少妇hd| 中文字幕欧美一| 欧美一区,二区| 国产成人综合一区二区三区| 久久成人综合| aaa黄色大片| 91成人国产精品| 99热国产在线中文| 久久av免费一区| 免费看精品久久片| 69av视频在线| 亚洲男女自偷自拍图片另类| 久久天天久久| 日韩人妻无码精品久久久不卡| 国产亚洲精品福利| 国产又粗又黄视频| 久久久免费电影| 清纯唯美综合亚洲| 国产国语老龄妇女a片| 在线精品视频小说1| 污网站在线免费看| 欧美午夜视频在线| 国产又黄又大久久| 九九九在线观看| 精品中文字幕在线观看| 国产剧情一区| 性猛交╳xxx乱大交| 欧美日精品一区视频| missav|免费高清av在线看| 色999五月色| av网站免费线看精品| 国产精品久久久久久久成人午夜|