久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

HDFS分布式存儲(chǔ)系統(tǒng)入門(mén)與架構(gòu)原理實(shí)戰(zhàn)解析

HDFS分布式存儲(chǔ)系統(tǒng)入門(mén)與架構(gòu)原理實(shí)戰(zhàn)解析 做大數(shù)據(jù)方向繞不開(kāi)的第一個(gè)存儲(chǔ)組件基本就是 HDFS。我剛開(kāi)始接觸分布式存儲(chǔ)的時(shí)候也踩過(guò)不少坑以為 Hadoop 就是跑 MapReduce以為 HDFS 只是“把文件切開(kāi)放在多臺(tái)機(jī)器上”后來(lái)真正上手搭集群、調(diào)參數(shù)、排查丟數(shù)據(jù)問(wèn)題才發(fā)現(xiàn)這套文件系統(tǒng)的設(shè)計(jì)遠(yuǎn)比想象中復(fù)雜。這次借“Hadoop HDFS 分布式存儲(chǔ)系統(tǒng)入門(mén)、配置、使用及架構(gòu)原理分析”這個(gè)主題把 HDFS 從理論到實(shí)戰(zhàn)完整梳理一遍希望對(duì)剛?cè)腴T(mén)分布式存儲(chǔ)、或者準(zhǔn)備深入理解 Hadoop 生態(tài)的朋友有幫助。這篇內(nèi)容主要拆成四塊先說(shuō)清楚 HDFS 到底解決了什么現(xiàn)實(shí)問(wèn)題然后從架構(gòu)層面把 NameNode、DataNode、副本機(jī)制這些核心組件講明白再手把手帶你完成一套可運(yùn)行的集群環(huán)境搭建與基礎(chǔ)配置最后落到真實(shí)使用場(chǎng)景里的命令操作、讀寫(xiě)流程、容錯(cuò)機(jī)制以及我在實(shí)際項(xiàng)目中踩過(guò)的坑和調(diào)優(yōu)思路。無(wú)論你是數(shù)據(jù)工程師、后端開(kāi)發(fā)者還是準(zhǔn)備面試大數(shù)據(jù)崗位的求職者都能從里面找到可以直接用的東西。1. 為什么需要 HDFS單機(jī)存儲(chǔ)的物理極限與分布式文件系統(tǒng)的誕生邏輯1.1 單機(jī)硬盤(pán)在數(shù)據(jù)量面前有多脆弱很多初學(xué)者會(huì)有一個(gè)疑問(wèn)我直接用普通文件系統(tǒng)不就行了為什么非要搞一套分布式文件系統(tǒng)這個(gè)問(wèn)題的答案只有親手遇到“單塊磁盤(pán)裝不下、單機(jī)讀寫(xiě)速度跟不上”的時(shí)候才最有體會(huì)。假設(shè)你管理的是每天產(chǎn)生幾百 GB 日志的在線業(yè)務(wù)系統(tǒng)一個(gè)月就是 10 TB 級(jí)別一年百 TB。單臺(tái)服務(wù)器的磁盤(pán)容量撐死幾十 TB即便用 RAID 陣列把多塊硬盤(pán)拼一起也繞不開(kāi)兩個(gè)硬瓶頸容量上限和并行吞吐。RAID 確實(shí)能解決一部分可靠性問(wèn)題比如 RAID1 鏡像、RAID5 校驗(yàn)但它仍然是單機(jī)維度的方案——整機(jī)故障、控制器故障、擴(kuò)容停機(jī)任何一個(gè)都?jí)蚰愫纫粔?。HDFS 的思路完全不同它不追求“把一塊盤(pán)做到巨大”而是用一堆普通服務(wù)器組成一個(gè)邏輯上的超大文件系統(tǒng)。橫向擴(kuò)展加節(jié)點(diǎn)就能加容量和吞吐單臺(tái)服務(wù)器壞了也不影響整體數(shù)據(jù)可用性。這種“用便宜機(jī)器堆出可靠存儲(chǔ)”的思路和傳統(tǒng)存儲(chǔ)陣列相比性價(jià)比和擴(kuò)展性優(yōu)勢(shì)非常明顯。1.2 HDFS 的適用邊界和它的“取舍”很多剛接觸 HDFS 的人容易把它當(dāng)成一個(gè)“萬(wàn)能文件系統(tǒng)”這是第一個(gè)認(rèn)知誤區(qū)。HDFS 的幾個(gè)設(shè)計(jì)目標(biāo)決定了它只適合特定場(chǎng)景大文件優(yōu)先HDFS 默認(rèn)把文件切成 128 MB 的數(shù)據(jù)塊目的是減少尋址開(kāi)銷、提高順序讀寫(xiě)的吞吐。適合日志、監(jiān)控?cái)?shù)據(jù)、離線數(shù)倉(cāng)的原始數(shù)據(jù)、訓(xùn)練樣本集這種動(dòng)輒數(shù) GB 甚至數(shù) TB 的大文件。反過(guò)來(lái)幾 KB 的小文件如果大量存在會(huì)給 NameNode 內(nèi)存帶來(lái)極大壓力。寫(xiě)一次讀多次HDFS 的文件不支持修改只支持追加寫(xiě)入和刪除適合“數(shù)據(jù)落地后基本不變”的場(chǎng)景。如果你需要頻繁修改既有文件的中間內(nèi)容HDFS 是要說(shuō)“不”的。順序讀寫(xiě)性能優(yōu)秀隨機(jī)讀寫(xiě)性能弱HDFS 的定位是批量數(shù)據(jù)處理不是數(shù)據(jù)庫(kù)。OLTP 型的高并發(fā)隨機(jī)讀寫(xiě)千萬(wàn)別往 HDFS 上放那是自找麻煩。高延遲而非低延遲因?yàn)樯婕熬W(wǎng)絡(luò)傳輸、副本同步、元數(shù)據(jù)查詢HDFS 的文件訪問(wèn)延遲通常以秒級(jí)甚至更高級(jí)別計(jì)適合離線和準(zhǔn)實(shí)時(shí)場(chǎng)景不適合在線業(yè)務(wù)直接掛載讀寫(xiě)。想明白這些邊界后面選型才不會(huì)走偏。我見(jiàn)過(guò)不少團(tuán)隊(duì)把 HDFS 當(dāng)成普通 NAS 用結(jié)果小文件一大堆、NameNode 頻頻告警、查詢性能慘不忍睹后來(lái)洗數(shù)據(jù)洗到崩潰——那些坑都是可以在設(shè)計(jì)階段避開(kāi)的。2. HDFS 架構(gòu)核心拆解兩個(gè)進(jìn)程角色、數(shù)據(jù)塊與元數(shù)據(jù)2.1 NameNode 和 DataNode主節(jié)點(diǎn)管“目錄”從節(jié)點(diǎn)管“貨”HDFS 是典型的主從架構(gòu)整個(gè)系統(tǒng)只有一個(gè)主節(jié)點(diǎn)角色稱為 NameNode配合若干從節(jié)點(diǎn)角色 DataNode 協(xié)同工作。把 HDFS 類比成一個(gè)大型倉(cāng)庫(kù)NameNode 就是倉(cāng)庫(kù)的管理員它不直接搬貨只記三樣賬——文件系統(tǒng)的目錄樹(shù)、每個(gè)文件由哪些數(shù)據(jù)塊組成、每個(gè)數(shù)據(jù)塊實(shí)際存放在哪些 DataNode 上。而DataNode 就是負(fù)責(zé)搬貨的工人它們真正在本地磁盤(pán)上存放數(shù)據(jù)塊文件并定期向管理員匯報(bào)“我這邊貨都正?!薄拔疫@邊新加了貨”。NameNode 在內(nèi)存中維護(hù)整個(gè)文件系統(tǒng)的元數(shù)據(jù)包括文件與目錄的命名空間文件到數(shù)據(jù)塊的映射關(guān)系數(shù)據(jù)塊到 DataNode 的映射關(guān)系這個(gè)映射在 DataNode 啟動(dòng)后會(huì)通過(guò)塊上報(bào)動(dòng)態(tài)構(gòu)建這意味著NameNode 的內(nèi)存大小直接決定了整個(gè)集群能容納的文件數(shù)量。通常每個(gè)文件/目錄對(duì)象大約需要 150~200 字節(jié)的元數(shù)據(jù)開(kāi)銷所以一臺(tái) NameNode 內(nèi)存 64 GB 時(shí)能支撐的文件數(shù)大約在三千萬(wàn)到四千萬(wàn)這個(gè)量級(jí)。HDFS 沒(méi)有把元數(shù)據(jù)也拆散存在多臺(tái)機(jī)器上就是為了保證元數(shù)據(jù)的一致性和操作效率。代價(jià)是 NameNode 成為集群的單點(diǎn)這也是后來(lái)出現(xiàn) HA高可用方案要解決的核心問(wèn)題。DataNode 的角色相對(duì)簡(jiǎn)單收到寫(xiě)數(shù)據(jù)請(qǐng)求后在本地磁盤(pán)創(chuàng)建數(shù)據(jù)塊文件定期默認(rèn) 3 秒向 NameNode 發(fā)送心跳默認(rèn)每 10 分鐘上報(bào)一次本節(jié)點(diǎn)上的所有塊信息收到刪除或復(fù)制指令后執(zhí)行相應(yīng)操作。DataNode 本身不保存任何 HDFS 文件目錄級(jí)信息宕機(jī)恢復(fù)后只需要重新向 NameNode 注冊(cè)然后做塊上報(bào)即可。2.2 數(shù)據(jù)塊、副本因子和機(jī)架感知可靠性從設(shè)計(jì)里長(zhǎng)出HDFS 數(shù)據(jù)塊Block是文件存儲(chǔ)的最小單位默認(rèn)大小 128 MB。文件上傳時(shí)被切成若干個(gè) block每個(gè) block 按照集群配置的副本因子默認(rèn) 3在多個(gè) DataNode 上各存一份。3 副本設(shè)計(jì)并不是拍腦袋定的它能在容忍兩臺(tái)/一個(gè)機(jī)架故障和存儲(chǔ)成本之間達(dá)到平衡。副本要存到哪三臺(tái)機(jī)器上涉及 HDFS 非常出名的“機(jī)架感知”策略。假設(shè)你在普通機(jī)架上默認(rèn)副本放置邏輯大致是第一個(gè)副本放在客戶端所在節(jié)點(diǎn)如果客戶端不在集群內(nèi)則隨機(jī)選一個(gè)節(jié)點(diǎn)。第二個(gè)副本放在與第一個(gè)副本不同機(jī)架的某個(gè)節(jié)點(diǎn)。第三個(gè)副本放在與第二個(gè)副本相同機(jī)架的另一個(gè)節(jié)點(diǎn)。這樣的布局既保證了容錯(cuò)機(jī)架間至少有一份副本又兼顧了讀取性能和寫(xiě)入帶寬。生產(chǎn)環(huán)境里正確配置機(jī)架感知腳本非常重要否則 HDFS 會(huì)把“同一機(jī)架”誤判成“同一節(jié)點(diǎn)”副本分布不合理數(shù)據(jù)可靠性大打折扣。副本不是永遠(yuǎn)不變的HDFS 的 BlockPool 后臺(tái)線程會(huì)周期性地檢查每個(gè)數(shù)據(jù)塊的副本數(shù)量發(fā)現(xiàn)少于配置值就啟動(dòng)復(fù)制補(bǔ)副本發(fā)現(xiàn)多于配置值就刪除多余副本。副本因子也可以在文件或目錄級(jí)別單獨(dú)設(shè)置比如臨時(shí)數(shù)據(jù)可以只保留 1 副本核心數(shù)據(jù)可以設(shè)置 5 副本甚至更多。3. 從零搭建一套可運(yùn)行的 HDFS 環(huán)境版本選擇、配置項(xiàng)詳解與啟動(dòng)驗(yàn)證3.1 選型先看版本Apache Hadoop 與生態(tài)兼容性動(dòng)手搭建之前先確定用哪個(gè)發(fā)行版。Hadoop 開(kāi)源社區(qū)目前主要能看到兩條路線Apache Hadoop 原生版直接從官網(wǎng)拿裸發(fā)行包自己搭完全掌控適合學(xué)習(xí)、二次開(kāi)發(fā)或?qū)Π姹炯儍舳扔幸蟮膱F(tuán)隊(duì)。商業(yè)發(fā)行版通常內(nèi)置了更友好的管理界面、安全補(bǔ)丁和企業(yè)支持適合生產(chǎn)環(huán)境圖省心但學(xué)習(xí)場(chǎng)景不一定需要。大多數(shù)學(xué)習(xí)場(chǎng)景我建議直接用 Apache Hadoop 的穩(wěn)定版。版本上重點(diǎn)注意兩個(gè)點(diǎn)一個(gè)是和 JDK 版本的兼容性Hadoop 3.x 一般要求 JDK 8 或 11另一個(gè)是確保你的 Hadoop 版本和后續(xù)生態(tài)組件Hive、Spark、Flink 等兼容否則后面集成階段會(huì)出現(xiàn)各種莫名其妙的依賴沖突。部署形式也可以分為三種真實(shí)多節(jié)點(diǎn)集群最好有三臺(tái)以上機(jī)器、偽分布式單機(jī)一臺(tái)機(jī)器模擬所有角色、容器化部署用 Docker 快速起多節(jié)點(diǎn)。如果是入門(mén)學(xué)習(xí)偽分布式配置最簡(jiǎn)單適合快速跑通流程想真正理解副本復(fù)制、數(shù)據(jù)均衡、節(jié)點(diǎn)故障轉(zhuǎn)移這些機(jī)制還是建議至少起三節(jié)點(diǎn)集群。3.2 核心配置文件core-site.xml、hdfs-site.xml 與關(guān)鍵參數(shù)Hadoop 的配置集中放在etc/hadoop/目錄下最常改動(dòng)的是core-site.xml和hdfs-site.xml。下面列出一套三節(jié)點(diǎn)集群的最小可用配置思路。core-site.xml里最重要的參數(shù)是默認(rèn)文件系統(tǒng)地址property namefs.defaultFS/name valuehdfs://namenode-host:9820/value /property9820是 NameNode RPC 通信端口在 Hadoop 3.x 里默認(rèn)就是這個(gè)老版本常用8020或9000。hdfs-site.xml里需要配置的參數(shù)更多逐個(gè)說(shuō)清楚property namedfs.namenode.name.dir/name value/data/hdfs/namenode/value /property property namedfs.datanode.data.dir/name value/data/hdfs/datanode-1,/data/hdfs/datanode-2/value /property property namedfs.replication/name value3/value /property property namedfs.blocksize/name value134217728/value /propertydfs.namenode.name.dirNameNode 元數(shù)據(jù)落盤(pán)目錄。生產(chǎn)環(huán)境中強(qiáng)烈建議配置在同一服務(wù)器的多塊磁盤(pán)上或者至少兩塊不同物理磁盤(pán)降低單盤(pán)故障導(dǎo)致元數(shù)據(jù)丟失的風(fēng)險(xiǎn)。dfs.datanode.data.dirDataNode 數(shù)據(jù)塊存儲(chǔ)目錄可以配多個(gè)目錄逗號(hào)分隔HDFS 會(huì)自動(dòng)做目錄間數(shù)據(jù)均衡。dfs.replication默認(rèn)副本數(shù)三節(jié)點(diǎn)集群配置為 3 沒(méi)有問(wèn)題。dfs.blocksize單位是字節(jié)134217728 即 128 MB。此外還有幾個(gè)在生產(chǎn)環(huán)境里非常重要的參數(shù)dfs.namenode.handler.countNameNode 處理 RPC 請(qǐng)求的線程數(shù)默認(rèn) 10在高并發(fā)訪問(wèn)下明顯偏低生產(chǎn)環(huán)境一般調(diào)到 50~100 甚至更高。粗略估算公式是20 * log2(集群節(jié)點(diǎn)數(shù))但這個(gè)值不絕對(duì)。dfs.datanode.handler.countDataNode 處理數(shù)據(jù)傳輸?shù)木€程數(shù)默認(rèn) 10負(fù)載較高時(shí)可以適當(dāng)上調(diào)。dfs.heartbeat.interval心跳間隔默認(rèn) 3 秒。不要隨意把心跳間隔調(diào)得過(guò)大因?yàn)?Namenode 對(duì) DataNode 是否宕機(jī)的判定依賴心跳超時(shí)超時(shí)時(shí)間默認(rèn)是10 * 心跳間隔。調(diào)太大會(huì)拖慢故障感知速度。配置好之后啟動(dòng)前一定要做的最關(guān)鍵一步是格式化 NameNode 元數(shù)據(jù)。hdfs namenode -format這個(gè)命令會(huì)在dfs.namenode.name.dir指定的目錄下生成初始的 fsimage 文件和 edit log。格式化命令只能執(zhí)行一次重復(fù)格式化會(huì)導(dǎo)致集群 ID 變化DataNode 啟動(dòng)后會(huì)因?yàn)?clusterID 不匹配而無(wú)法注冊(cè)到 NameNode屆時(shí)如果數(shù)據(jù)重要恢復(fù)成本極高。所以我的習(xí)慣是格式化之前先確認(rèn)目錄里沒(méi)有以前殘留的重要數(shù)據(jù)格式化完立刻看一眼日志輸出里的clusterID。3.3 啟動(dòng)集群與基礎(chǔ)驗(yàn)證方法三節(jié)點(diǎn)分別啟動(dòng)角色進(jìn)程的方式有很多最直接的是手工啟動(dòng)# 在 NameNode 所在節(jié)點(diǎn)執(zhí)行 hdfs --daemon start namenode # 在每個(gè) DataNode 所在節(jié)點(diǎn)執(zhí)行 hdfs --daemon start datanode啟動(dòng)后用jps命令查看進(jìn)程是否都在jps # NameNode 節(jié)點(diǎn)上應(yīng)該看到 NameNode # DataNode 節(jié)點(diǎn)上應(yīng)該看到 DataNode然后訪問(wèn) NameNode 的 Web 界面默認(rèn)端口是9870Hadoop 3.x打開(kāi)后能看到集群整體狀態(tài)、已用空間、DataNode 節(jié)點(diǎn)列表、數(shù)據(jù)塊數(shù)量等信息。如果你的瀏覽器打不開(kāi)先檢查防火墻和dfs.namenode.http-address的配置。命令行驗(yàn)證集群狀態(tài)hdfs dfsadmin -report這條命令會(huì)輸出每個(gè) DataNode 的存儲(chǔ)容量、已使用空間、剩余空間、數(shù)據(jù)塊數(shù)量??吹剿?DataNode 都處于In Service狀態(tài)說(shuō)明集群健康。4. HDFS 實(shí)際使用文件操作命令、Java API 開(kāi)發(fā)與權(quán)限設(shè)計(jì)4.1 高頻命令行操作不只是 put 和 getHDFS 的所有文件操作都可以通過(guò)hdfs dfs命令完成。下面整理的是我日常工作中使用頻率最高的幾個(gè)命令命令作用示例hdfs dfs -put local hdfs上傳本地文件到 HDFShdfs dfs -put access.log /logs/hdfs dfs -get hdfs local下載 HDFS 文件到本地hdfs dfs -get /logs/access.log ./hdfs dfs -cat hdfs查看文件內(nèi)容hdfs dfs -cat /logs/access.loghdfs dfs -tail hdfs查看文件末尾內(nèi)容適合監(jiān)測(cè)增長(zhǎng)中的日志hdfs dfs -tail -f /logs/access.loghdfs dfs -ls -R hdfs遞歸列出目錄內(nèi)容hdfs dfs -ls -R /logshdfs dfs -mkdir -p hdfs遞歸創(chuàng)建目錄hdfs dfs -mkdir -p /etl/day20250101hdfs dfs -rm -R hdfs刪除文件或目錄hdfs dfs -rm -R /tmp/olddatahdfs dfs -chmod -R 755 hdfs遞歸修改權(quán)限hdfs dfs -chmod -R 755 /sharedhdfs dfs -du -h hdfs查看目錄/文件大小hdfs dfs -du -h /logs幾個(gè)命令行使用上的細(xì)節(jié)值得特別注意Hadoop 3.x 里hdfs dfs -tail -f可以實(shí)時(shí)跟蹤文件追加內(nèi)容排查正在寫(xiě)入的日志文件很好用但前提是寫(xiě)入方是通過(guò) HDFS 的 append 操作追加數(shù)據(jù)不是文件落地后覆蓋。-put上傳大文件時(shí)如果想要看到實(shí)時(shí)進(jìn)度可以加-progress。上傳過(guò)程中如果中斷HDFS 會(huì)保留已經(jīng)寫(xiě)好的部分塊重新上傳時(shí)會(huì)從斷點(diǎn)恢復(fù)Hadoop 2.7 支持但前提是使用相同的文件路徑和 dfs 客戶端。刪除文件默認(rèn)進(jìn)入回收站而不是立即物理刪除?;厥照鹃_(kāi)關(guān)是fs.trash.interval默認(rèn)是 0即不啟用回收站。數(shù)據(jù)安全敏感的團(tuán)隊(duì)一定要把回收站打開(kāi)否則誤刪一個(gè)生產(chǎn)目錄直接全量丟失搶救都無(wú)從談起。上百萬(wàn)個(gè)小文件做完-put后檢查一下 NameNode 的內(nèi)存使用你會(huì)對(duì)“小文件撐爆元數(shù)據(jù)”的說(shuō)法有非常直觀的體會(huì)。4.2 Java API 開(kāi)發(fā)寫(xiě)文件、讀文件與目錄操作雖然大部分離線任務(wù)都會(huì)用 Hive 或 Spark 替代手寫(xiě) Java API但理解和掌握底層 API 依然很重要。HDFS 的 Java API 核心類是FileSystem獲取文件系統(tǒng)實(shí)例的推薦方式是Configuration conf new Configuration(); conf.set(fs.defaultFS, hdfs://namenode-host:9820); FileSystem fs FileSystem.get(conf);寫(xiě)文件的經(jīng)典流程Path path new Path(/data/demo.txt); FSDataOutputStream out fs.create(path); out.write(hello hdfs.getBytes(UTF-8)); out.close();注意fs.create()返回的FSDataOutputStream是帶緩沖的寫(xiě)完數(shù)據(jù)后要么調(diào)用close()要么調(diào)用hflush()否則數(shù)據(jù)可能還留在客戶端緩沖區(qū)服務(wù)端感知不到。與本地文件寫(xiě)入不同HDFS 的close()會(huì)觸發(fā)一次完整的寫(xiě)入鏈路結(jié)束流程因此不要在一個(gè)循環(huán)里反復(fù)打開(kāi)關(guān)閉流性能會(huì)很差。讀文件的經(jīng)典流程Path path new Path(/data/demo.txt); FSDataInputStream in fs.open(path); BufferedReader reader new BufferedReader(new InputStreamReader(in)); String line; while ((line reader.readLine()) ! null) { System.out.println(line); } reader.close();FSDataInputStream最重要的特性是支持seek()隨機(jī)定位。很多分布式計(jì)算框架正是利用這一點(diǎn)讓多個(gè)計(jì)算任務(wù)并行讀取同一個(gè)大文件的不同區(qū)間互不干擾。這也是 HDFS 能夠支持 MapReduce、Spark 這類框架進(jìn)行數(shù)據(jù)本地性讀取的基礎(chǔ)能力。目錄操作和刪除操作fs.mkdirs(new Path(/data/2025/01)); fs.delete(new Path(/data/tmp), true);第二個(gè)參數(shù)true表示遞歸刪除。如果你的代碼里刪錯(cuò)了目錄且沒(méi)有啟用回收站那數(shù)據(jù)就真的沒(méi)了。4.3 權(quán)限模型超級(jí)用戶、組與權(quán)限位的協(xié)作方式HDFS 的權(quán)限模型與 POSIX 類似但有兩點(diǎn)不同需要特別留意。第一HDFS 默認(rèn)不校驗(yàn)客戶端主機(jī)的真實(shí)身份只要你偽造成超級(jí)用戶hdfs就能繞過(guò)大部分權(quán)限檢查。所以生產(chǎn)環(huán)境必須開(kāi)啟dfs.permissions.enabledtrue并且最好結(jié)合 Kerberos 做身份認(rèn)證否則權(quán)限體系形同虛設(shè)。第二HDFS 的 sticky bit 作用在目錄上時(shí)只有目錄 owner 才能刪除目錄中的文件多用戶共用的臨時(shí)目錄默認(rèn)就設(shè)置了這個(gè)位。權(quán)限排查是日常技術(shù)支持中非常常見(jiàn)的場(chǎng)景用戶報(bào)“寫(xiě)入失敗”先看目錄權(quán)限再查 owner 和 group最后確認(rèn)是否啟用了 ACL 擴(kuò)展。HDFS 支持在傳統(tǒng) POSIX 權(quán)限基礎(chǔ)上增加 ACL命令是hdfs dfs -setfacl在處理多租戶共享目錄時(shí)非常有用。5. 讀寫(xiě)鏈路全追蹤從客戶端請(qǐng)求到數(shù)據(jù)落盤(pán)的完整過(guò)程5.1 寫(xiě)文件流程流水線復(fù)制與確認(rèn)機(jī)制HDFS 寫(xiě)入流程值得反復(fù)琢磨因?yàn)樗w現(xiàn)了很多分布式系統(tǒng)設(shè)計(jì)上的巧思。整體順序大致如下客戶端調(diào)用create()向 NameNode 發(fā)出創(chuàng)建文件請(qǐng)求。NameNode 檢查文件是否已存在、父目錄是否存在、客戶端是否有權(quán)限。校驗(yàn)通過(guò)后在內(nèi)存中創(chuàng)建文件元數(shù)據(jù)并返回一個(gè)輸出流給客戶端??蛻舳碎_(kāi)始寫(xiě)入數(shù)據(jù)時(shí)把數(shù)據(jù)切分成一個(gè)個(gè)數(shù)據(jù)包默認(rèn) 64 KB放入本地緩沖區(qū)。當(dāng)前緩沖區(qū)累計(jì)到一定大小后客戶端向 NameNode 發(fā)起申請(qǐng)請(qǐng)求返回“為下一個(gè) block 分配一組 DataNode”。NameNode 按照副本放置策略返回一組 DataNode 列表例如[DN1, DN2, DN3]??蛻舳伺c DN1 建立連接DN1 再與 DN2 建立連接DN2 再與 DN3 建立連接形成一個(gè)復(fù)制管道??蛻舳税错樞虬褦?shù)據(jù)包推給 DN1DN1 邊落盤(pán)邊把數(shù)據(jù)包轉(zhuǎn)發(fā)給 DN2DN2 再轉(zhuǎn)發(fā)給 DN3。每個(gè)數(shù)據(jù)包寫(xiě)入成功后會(huì)沿著管道反向回傳確認(rèn)包??蛻舳耸盏剿懈北镜拇_認(rèn)后才認(rèn)為這個(gè)數(shù)據(jù)包寫(xiě)成功并繼續(xù)發(fā)送下一個(gè)數(shù)據(jù)包。一個(gè) block 寫(xiě)完客戶端再向 NameNode 申請(qǐng)下一組 DataNode重復(fù)上述過(guò)程。所有 block 寫(xiě)完后客戶端調(diào)用close()NameNode 將文件標(biāo)記為“已關(guān)閉”狀態(tài)寫(xiě)入完成。整個(gè)鏈路的精髓在于“流水線復(fù)制”數(shù)據(jù)不是由客戶端分別復(fù)制三分再逐臺(tái)發(fā)送而是邊寫(xiě)邊轉(zhuǎn)發(fā)大大減少了網(wǎng)絡(luò)傳輸量和單點(diǎn)壓力。也正因?yàn)槿绱薍DFS 適合大塊順序?qū)懸驗(yàn)樾K隨機(jī)寫(xiě)的網(wǎng)絡(luò)交互成本實(shí)在太高。5.2 讀文件流程元數(shù)據(jù)定位與就近讀取讀文件流程比寫(xiě)文件簡(jiǎn)單但同樣很講究客戶端調(diào)用open()向 NameNode 請(qǐng)求文件信息。NameNode 返回文件的每個(gè) block 對(duì)應(yīng)的 DataNode 列表比如“block A 在 DN1/DN2/DN3block B 在 DN3/DN4/DN5”??蛻舳藢?duì) DataNode 列表做排序優(yōu)先選擇與客戶端同機(jī)架的節(jié)點(diǎn)其次選擇同機(jī)房的節(jié)點(diǎn)。這個(gè)排序邏輯由網(wǎng)絡(luò)拓?fù)涓兄獩Q定??蛻舳伺c最優(yōu)先的 DataNode 建立連接按塊讀取數(shù)據(jù)。讀取過(guò)程中如果某個(gè) DataNode 讀取失敗客戶端自動(dòng)切換至下一個(gè)副本并向 NameNode 報(bào)告該 DataNode 異常。讀取性能的關(guān)鍵在于“數(shù)據(jù)本地性”。如果你的計(jì)算框架在 DN1 機(jī)器上跑 Container而 Client 去 DN3 上讀 block A 的副本雖然功能上沒(méi)問(wèn)題但網(wǎng)絡(luò)傳輸開(kāi)銷成倍增加。日常做數(shù)據(jù)傾斜排查、跑批任務(wù)性能分析時(shí)一定要關(guān)注輸入數(shù)據(jù)的本地命中率。5.3 追加寫(xiě)與截?cái)郒DFS 的寫(xiě)操作邊界HDFS 的append操作只允許在文件末尾追加數(shù)據(jù)不能修改已存在的中間內(nèi)容。如果業(yè)務(wù)確實(shí)需要修改既有數(shù)據(jù)常規(guī)做法是讀出來(lái)變換后再寫(xiě)一個(gè)新文件或者用 Hive 的分區(qū)覆蓋策略。另外一個(gè)非常隱蔽又重要的操作是truncate——它能把文件截?cái)嗟街付ㄩL(zhǎng)度但有一個(gè)前提條件截?cái)嗪蟮拈L(zhǎng)度必須正好落在某個(gè) block 的邊界上否則 HDFS 會(huì)拒絕執(zhí)行。換句話說(shuō)它做的是“整塊級(jí)截?cái)唷辈皇亲止?jié)級(jí)操作這點(diǎn)和本地文件系統(tǒng)的語(yǔ)義有明顯差異。6. 高可用與容錯(cuò)副本策略、故障轉(zhuǎn)移和一致性保證6.1 副本放置策略的高級(jí)配置與數(shù)據(jù)均衡問(wèn)題前文提過(guò)默認(rèn)的三副本放置策略但在生產(chǎn)環(huán)境中不同業(yè)務(wù)場(chǎng)景對(duì)副本策略的需求差異很大冷數(shù)據(jù)存儲(chǔ)如歷史歸檔日志可以用 1 副本甚至結(jié)合糾刪碼EC策略來(lái)節(jié)省存儲(chǔ)成本。核心業(yè)務(wù)數(shù)據(jù)如訂單明細(xì)、財(cái)務(wù)數(shù)據(jù)可以設(shè)置 3 副本或 5 副本并且把機(jī)架感知能力用足保證跨冗余電源域也有副本。臨時(shí)中間結(jié)果副本設(shè) 1 即可磁盤(pán)空間能省則省。副本因子調(diào)整的命令hdfs dfs -setrep -R 2 /data/history但要注意setrep只是修改了文件的配置副本數(shù)實(shí)際補(bǔ)齊副本的過(guò)程由后臺(tái)線程異步完成不會(huì)立刻生效。調(diào)整完可以觀察hdfs fsck /data/history -files -blocks的輸出確認(rèn)副本數(shù)量逐步穩(wěn)定到目標(biāo)值。數(shù)據(jù)均衡是另一個(gè)必須主動(dòng)關(guān)注的點(diǎn)。擴(kuò)容新節(jié)點(diǎn)后新節(jié)點(diǎn)磁盤(pán)空間可能是 0而老節(jié)點(diǎn)已經(jīng)用了 80%。執(zhí)行均衡命令hdfs balancer -threshold 5該命令會(huì)把數(shù)據(jù)塊從高負(fù)載節(jié)點(diǎn)遷移到低負(fù)載節(jié)點(diǎn)直到集群中每個(gè)節(jié)點(diǎn)的磁盤(pán)使用率差異小于5%。balancer會(huì)在后臺(tái)慢慢跑通過(guò)設(shè)置dfs.datanode.balance.bandwidthPerSec限制帶寬建議從 20 MB/s 起步別把線上集群的網(wǎng)絡(luò)帶寬占滿影響業(yè)務(wù)。6.2 NameNode 故障與 HA從單點(diǎn)到雙活的技術(shù)演進(jìn)HDFS 早期最被詬病的就是 NameNode 單點(diǎn)故障。在支持 HA 之前NameNode 進(jìn)程掛了整個(gè) HDFS 就不可寫(xiě)了恢復(fù)要等元數(shù)據(jù)鏡像和日志重新加載時(shí)間長(zhǎng)則十幾分鐘甚至更久。HA 機(jī)制的引入改變了這一局面。HA 的核心是引入兩個(gè) NameNode一個(gè)是 Active 節(jié)點(diǎn)一個(gè)是 Standby 節(jié)點(diǎn)Active NameNode 對(duì)外提供服務(wù)處理所有元數(shù)據(jù)操作。Standby NameNode 持續(xù)從 JournalNodes一般三臺(tái)讀取編輯日志并應(yīng)用到自身內(nèi)存實(shí)現(xiàn)元數(shù)據(jù)實(shí)時(shí)同步。Active 和 Standby 之間通過(guò)zkfcZooKeeper FailoverController進(jìn)行健康監(jiān)測(cè)和自動(dòng)切換。當(dāng) Active NameNode 進(jìn)程異常時(shí)ZooKeeper 感知到自動(dòng)觸發(fā)故障轉(zhuǎn)移把 Standby 提升為 Active。過(guò)程中客戶端會(huì)短暫感知到連接失敗但整體可用性從“無(wú)限期宕機(jī)”提升到了秒級(jí)恢復(fù)。在配置 HA 時(shí)有一個(gè)特別容易踩坑的地方兩個(gè) NameNode 的 namespace ID 必須保持一致否則 DataNode 會(huì)向兩個(gè) NameNode 都發(fā)起注冊(cè)導(dǎo)致腦裂。HA 的正確初始化流程一般是先格式化其中一個(gè) NameNode再通過(guò)hdfs namenode -bootstrapStandby同步另一個(gè)節(jié)點(diǎn)。這個(gè)操作順序如果沒(méi)有嚴(yán)格按照官方文檔執(zhí)行后面很容易出現(xiàn)“Active 和 Standby 同時(shí)有元數(shù)據(jù)”的混亂局面。6.3 租約機(jī)制寫(xiě)文件的并發(fā)保護(hù)HDFS 是單寫(xiě)者模型一個(gè)文件同一時(shí)刻只允許一個(gè)客戶端寫(xiě)入。這是通過(guò)租約機(jī)制實(shí)現(xiàn)的客戶端寫(xiě)文件時(shí)需要持有一個(gè)租約租約有過(guò)期時(shí)間。如果某個(gè)客戶端寫(xiě)入過(guò)程中宕機(jī)或失聯(lián)租約不會(huì)自動(dòng)釋放需要等待租約過(guò)期后下一個(gè)客戶端才能重新接管寫(xiě)權(quán)限。租約恢復(fù)的操作由 NameNode 的后臺(tái)線程執(zhí)行默認(rèn)租約軟超時(shí)是 60 秒硬超時(shí) 60 秒之后即可由其他客戶端強(qiáng)制恢復(fù)。在這個(gè)機(jī)制下最常見(jiàn)的坑是客戶端發(fā)起了create()但一直不寫(xiě)數(shù)據(jù)或者寫(xiě)入很少數(shù)據(jù)后保持連接不關(guān)閉導(dǎo)致租約一直續(xù)期其他程序無(wú)法往同一個(gè)文件寫(xiě)數(shù)據(jù)。遇到這種問(wèn)題排查思路是hdfs debug recovery lease -path file -retries 3去查看和修復(fù)租約。但在執(zhí)行修復(fù)前一定要確認(rèn)原寫(xiě)入端真的已經(jīng)退出否則可能出現(xiàn)兩邊同時(shí)搶寫(xiě)導(dǎo)致數(shù)據(jù)錯(cuò)亂。7. 我在 HDFS 實(shí)戰(zhàn)中反復(fù)踩過(guò)的坑與調(diào)優(yōu)心得7.1 小文件問(wèn)題元數(shù)據(jù)壓垮 NameNode 的隱形殺手這是 HDFS 使用中遇到最多、影響也最大的問(wèn)題。大量小文件意味著大量元數(shù)據(jù)對(duì)象NameNode 內(nèi)存很快就撐不住。更致命的是計(jì)算引擎處理時(shí)每個(gè)小文件都要啟動(dòng)一個(gè) Map 任務(wù)任務(wù)調(diào)度開(kāi)銷比數(shù)據(jù)處理本身還大。我處理過(guò)的最極端案例中一個(gè) 3 TB 的數(shù)據(jù)目錄里存了 260 萬(wàn)個(gè)小文件平均每個(gè)文件 1.2 MB。業(yè)務(wù)跑一個(gè) Spark 任務(wù)光打開(kāi)文件列表就花了將近 20 分鐘。解決思路有三種合并小文件定期把目錄下的小文件讀出來(lái)按業(yè)務(wù)維度合并成 128 MB 級(jí)別的大文件。合并后文件數(shù)可能降到原來(lái)的萬(wàn)分之一查詢性能提升數(shù)個(gè)量級(jí)。使用 Hive 的歸檔功能ARCHIVE對(duì)小文件做 HAR 打包Hive 讀的時(shí)候按目錄訪問(wèn)而不是按文件訪問(wèn)能有效減少 NameNode 壓力。控制源頭上傳粒度寫(xiě)入端盡量做批量緩沖攢夠一個(gè) block 大小再落盤(pán)。很多 Flume 或 Kafka Producer 的上游任務(wù)就是因?yàn)?Flush 閾值設(shè)置太激進(jìn)而制造出海量小文件。HDFS 3.x 之后引入了基于 Erasure Coding糾刪碼的存儲(chǔ)策略可以大幅降低副本冗余成本比如用 RS-6-3 策略把 6 個(gè)數(shù)據(jù)塊加 3 個(gè)校驗(yàn)塊組織成一組存儲(chǔ)開(kāi)銷只有 1.5 倍比 3 副本的 3 倍節(jié)約一半空間。但 EC 策略不適合隨機(jī)讀寫(xiě)場(chǎng)景主要用于冷數(shù)據(jù)歸檔。如果你在做存儲(chǔ)成本優(yōu)化EC 絕對(duì)值得好好研究。7.2 心跳參數(shù)與故障感知速度的矛盾生產(chǎn)環(huán)境中管理期望“機(jī)器掛了馬上能感知”但網(wǎng)絡(luò)閃斷和進(jìn)程假死是常態(tài)。把心跳間隔從 3 秒改到 1 秒確實(shí)能更快感知故障但會(huì)讓 DataNode 和 NameNode 之間產(chǎn)生大量心跳請(qǐng)求浪費(fèi)資源甚至可能引發(fā) NameNode RPC 隊(duì)列堆積。我的調(diào)優(yōu)經(jīng)驗(yàn)是不要為了“更快”盲目調(diào)小心跳間隔而應(yīng)該優(yōu)先保證集群的穩(wěn)定性和元數(shù)據(jù)一致性。如果確實(shí)需要快速故障切換應(yīng)該依靠 HA 機(jī)制而不是單純壓縮心跳時(shí)間。正常情況下保持默認(rèn) 3 秒心跳配合 10 倍超時(shí)判斷已經(jīng)足夠應(yīng)對(duì)絕大多數(shù)場(chǎng)景。7.3 磁盤(pán)故障后的數(shù)據(jù)恢復(fù)流程DataNode 的磁盤(pán)壞掉是分布式存儲(chǔ)集群里最常見(jiàn)的事故。單塊盤(pán)掛了只是少了一份副本NameNode 會(huì)標(biāo)記該塊副本數(shù)不足然后自動(dòng)從其他地方復(fù)制補(bǔ)全。但如果同時(shí)壞掉兩塊盤(pán)且其中包含同一個(gè) block 的兩份副本那就真的會(huì)有數(shù)據(jù)丟失風(fēng)險(xiǎn)。處理磁盤(pán)故障的標(biāo)準(zhǔn)動(dòng)作是確認(rèn)壞盤(pán)路徑。使用hdfs dfsadmin -report查看 DataNode 狀態(tài)。在dfs.datanode.data.dir中把壞盤(pán)目錄摘除重啟該 DataNode。觀察 NameNode 界面的塊復(fù)制任務(wù)是否自動(dòng)啟動(dòng)。使用hdfs fsck path -files -blocks -locations檢查目標(biāo)目錄的健康狀態(tài)。這里面最容易犯的錯(cuò)誤是直接格式化壞盤(pán)所在的掛載點(diǎn)而忽略了目錄中可能還有其他正常磁盤(pán)的數(shù)據(jù)。如果你是多個(gè)目錄共享一塊物理盤(pán)掛掉一個(gè)目錄全沒(méi)了但不代表其他 DataNode 也沒(méi)有該 block 的副本所以千萬(wàn)不要慌張重建集群讓 HDFS 自行復(fù)制恢復(fù)往往是最快最安全的方式。7.4 千萬(wàn)慎用rm -rf與數(shù)據(jù)回收站運(yùn)維 HDFS 期間團(tuán)隊(duì)里發(fā)生過(guò)不止一次誤刪事故。HDFS 中的rm命令沒(méi)有本地文件系統(tǒng)的二次確認(rèn)機(jī)制一條命令下去目錄就沒(méi)了。強(qiáng)烈建議把回收站功能打開(kāi)property namefs.trash.interval/name value1440/value /property單位是分鐘1440 表示保留一天之后回收站文件才會(huì)被徹底刪除。誤刪之后可以通過(guò)如下命令恢復(fù)hdfs dfs -mv /user/hdfs/.Trash/Current/data/important /data/important注意回收站的路徑通常是/user/當(dāng)前用戶/.Trash/Current/不同用戶有各自的回收站目錄恢復(fù)前先確認(rèn)文件在不在?;厥照敬_實(shí)會(huì)占用一部分存儲(chǔ)但相比誤刪后的災(zāi)難性損失這點(diǎn)成本很值得。7.5 運(yùn)維監(jiān)控的“保命”指標(biāo)HDFS 日常運(yùn)維下面幾個(gè)指標(biāo)我會(huì)每天盯NameNode 堆內(nèi)存使用率超過(guò) 80% 就要認(rèn)真排查了考慮擴(kuò)容內(nèi)存或合并小文件。DataNode 磁盤(pán)使用率超過(guò) 85% 的節(jié)點(diǎn)要盡快處理數(shù)據(jù)均衡任務(wù)及時(shí)執(zhí)行。Under-replicated blocks 數(shù)量如果長(zhǎng)期不為 0說(shuō)明有節(jié)點(diǎn)故障沒(méi)恢復(fù)或被防火墻隔離了。DataNode 心跳延遲延遲持續(xù)升高通常是網(wǎng)絡(luò)問(wèn)題或 NameNode 內(nèi)存 GC 停頓導(dǎo)致。RPC 隊(duì)列等待時(shí)間NameNode 界面能直接看到排隊(duì)時(shí)間變長(zhǎng)說(shuō)明元數(shù)據(jù)操作量已經(jīng)逼近單機(jī)處理上限。除了 Hadoop 自帶的 NameNode Web 界面可以再配一套監(jiān)控采集把上述指標(biāo)納入告警策略比等用戶報(bào)故障再排查要省心太多。8. 寫(xiě)在最后HDFS 仍然值得從底層去學(xué)最后說(shuō)點(diǎn)個(gè)人體會(huì)。很多人覺(jué)得 HDFS 已經(jīng)是“老技術(shù)”現(xiàn)在大家都在玩對(duì)象存儲(chǔ)、云原生存儲(chǔ)、數(shù)據(jù)湖沒(méi)必要深究底層。但我在實(shí)際工作中發(fā)現(xiàn)真正把 HDFS 吃透的人再去理解對(duì)象存儲(chǔ)的分區(qū)策略、計(jì)算存儲(chǔ)分離架構(gòu)、數(shù)據(jù)本地性調(diào)度、副本一致性協(xié)議都會(huì)非常順暢。分布式存儲(chǔ)解決的核心命題無(wú)非就是“數(shù)據(jù)怎么可靠地放、高效地取、方便地管”HDFS 恰好是這幾件事最經(jīng)典的實(shí)現(xiàn)樣本。如果你正要開(kāi)始學(xué)我給的建議很樸素不要只看理論文檔一定自己動(dòng)手起一個(gè)三節(jié)點(diǎn)集群把文件傳上去用hdfs fsck看塊分布kill 掉一個(gè) DataNode 看副本補(bǔ)全再手動(dòng)修改一個(gè)文件的副本因子做完這一輪你對(duì) HDFS 的理解會(huì)超過(guò)很多人。HDFS 很龐大但它的骨架并不復(fù)雜。理解 NameNode 管元數(shù)據(jù)、DataNode 管塊存儲(chǔ)、副本機(jī)制保證可靠性、流水線復(fù)制保證性能剩下的再慢慢細(xì)節(jié)化你會(huì)發(fā)現(xiàn)一條特別清晰的學(xué)習(xí)路線。希望這篇基于“Hadoop HDFS-分布式存儲(chǔ)系統(tǒng)入門(mén)、配置、使用及架構(gòu)原理分析”的完整拆解能讓你少走一些我走過(guò)的彎路。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
色香综合| 久草新免费| 天天干1区2区在线| 大香蕉视频一二三区| 五月天激情婷婷| 视频在线观看青青99国产| 国产无码成人无码| 丁香五月天啪啪| 欧美激色| 可能人人看人人摸| 98精品国产乱码久久久久久| 亚洲无码精品AV久久久| 亚洲一区深夜| 一级性爱视频免费观看 | 91av熟女人妻| 亚洲国产一级中文综合久久天堂在线免费观看 | 国产精品999zyz| 久久色一区| 97国产精品一区二区传媒公司| 日本熟妇人妻中出视频| 美女91网址| 东京热男人的天堂精品| 亚洲精品 欧美精品| 可以免费看黄片的视频| 2025亚洲男人天堂| 欧美人人操人人插| 久久人爽| 岛国艾薇凹凸视频天堂| AV天黑人| 婷婷久久综合| 国产美女口爆吞精视频| 亚洲欧美国产精品久久久久久久| 熟妇操花| 97综合网| 男人天堂日日夜夜| 强歼乱伦资源网| 欧中美三级一区二区三区| 超碰人人在线| 日韩一区二区精品视频| 大香蕉伊在线久草麻豆天堂故事| 天天噜| 亚洲 国产 精品一区| 啊啊啊不要啊啊受不了了视频在线 | 天天干人人看综合| 亚洲国男人的天堂| 中文字幕第23区| 亚洲精品国产日韩无码AV永久免| 天天插天天干| 美女十八禁| 国产高清吃奶免费视频网站| 色婷婷五月天| 天天舔九色婷婷| 97精品免费| 亚洲成人免费电影| 欧美 亚洲精品首页| 综合欧美激情网| 亚av顶级裸体一区二区三区四区五区| 欧美日韩大黄片| 中文字幕 一区二区 亚洲无码| 青青草好吊色| 青草av在线| 极品出轨视频网站| 青青操青娱乐| 色婷婷视频| 午夜毛片高清免费不卡| 久久直播国产| 亚州图片第一页| 国产精品香蕉热久久新品| 九九九只有精品| 国产日韩在线播放av| 操香逼| 国产女同在线观看视频| 婷婷香网站| 色综合久久88色综合久久天天| 九九九精品一区二区无码| 欧美1区二区三区公司| 色综合1991| 中文字幕 国产 精品| 国产区在线| 9久久9综合| 眼镜人妻101.com| 欧美男人亚洲天堂| 久久免费精彩视频| 草草影院最新网址| 亚洲日韩黑丝| 国产美女91视频| 亚洲一区二区三区不卡国产欧美| 午夜噜噜噜| 混色激情av| 韩国手机不卡无码三级视频| 97鸡把在线视频| 欧美精品第四五页中文字幕在线观看| 国产精品露脸在线观看| 久久久久99精品成人片蜜臀| 99re这里| 白嫩嫩一区| 黄色AAAAA欧美| 欧美极品| 九九热re99re6在线精品| 国产精品久久久久久夜夜夜| 永久免费发布性爱网| 91美| 4虎在线视频| 91中文精品日韩欧美在线| 91五月天| 开心五月深爱五月| 久久精品国产72国产精品福利 | 欧美色九九| 久久人妻少妇| 啊啊啊好大好湿| 素人播放一区| 久久香蕉国产传媒一区剧情天美| 激情露脸爱| 精品人妻中文字幕4399| 天天综合91入口| 亚洲精品蜜桃久久久一区二区三区| 精品国产丝袜一区二区三区乱码 | 日本免费一级AAA大片器| 欧美精品自慰系列寂寞少妇| www.91人妻.com| 凹凸精品熟女在线观看| 欧美日韩人妻精品系列一区二区三区| 超碰69| 午夜精品久久久99| 婷婷五月天小说| 亚洲最大无码中文字幕网站| 亚洲一曲日韩精品| 日韩强奸av| 亚洲男人电影天堂| 高清国产精品福利网站| 免费人成毛片乱码| 好吊色综合| 久久久91| 国产操逼网站亚洲一级黄色| 五月婷婷青青草娱乐伊人| 9999亚洲精品| 97操碰| 美女久久久久久久久久久| 天天日夜干| 亚洲自拍97| 波多野结衣AV无码一区| www久久国产精品| 国产亚洲日韩在线三区黑人| 强奸乱伦αv片| 亚洲古典另类欧美在线| 一区二区三区精品视频| 亚洲人妻中文高清| 亚洲美乱| 久草精品视频| 试看60秒 爽| 精品人妻一二三| 亚洲囯产精品女人久久久| 久精品无码av一区二免费国产在线观看| 国产成人网站在线观看| 激情五月婷婷综合| 97硬碰| 精品一区二区2| 欧美97爱| av日韩在线观看电影| 久久久久久AⅤ无码免费肉站| 嗯啊免费视频| 97国产精品久久久久| 啊啊啊免费| 国产亚洲中文不卡二区| 国产不卡片| 亚洲欧洲激情| 天天狠操| 五月天激情小说网| 久久久久久少妇| 探花精品 一区二区| 人妻-91porn| 情色av电影| 午夜美女诱惑电源网| 天天干天天燥| 性做久久久久久免费观看软件| 九色 人妻 大香蕉| 激情综合av| 可乐操亚洲蜜911| 久久亚洲AV无码专区首页| 九九成人| 久久精品国产97欧美精品亚洲| 欧美激情久操网| Julia在线播放亚洲久久| 美女让帅哥通她小鸡鸡| 人人操人人摸人| 九九九九九九视频| 久久91精品国产9丨久久分亭 | 91亚洲人| 九九成人| 13小男生GAY自慰脱裤子| 六月色婷婷| 蜜桃臀AV在线| 草草影院日本第一页| www.久久久久| 国产97/欧美| 啪啪免费| 情色大香蕉| 国产一区二区视频在线播放| 极品少妇99| 日韩无码精品综合久久| 欧美亚综合色图| 日韩精品一区二区高清| 嗯啊啊啊轻点视频| 成人免费性爱视视| 99人人干| 天天干18禁| 午夜福利免费精品视频| 色欲人妻一区二区在线| 亚洲视频1区| 日本免费中文字幕在线 | 91AV天美在线视频| 亚洲成人福利电影免费| 操曰本熟女| 屁股久久久久久久| 泰国AV在线观看| 国产成人亚洲精品无码最新在线| 天美传媒AV国产在线| 久久亚洲AV成人精品无码| 精品少妇人妻一区二区三区| 精品国产乱码久久久久A| 精品免费视频国产一区| 大香樵伊人网| 国产亚洲日韩欧| 99热这里只有精品1| 人人爱夜夜爱| 一区二区三区 日韩欧美| 男人的天堂va在线| 97激情97激情| 国产AV无码AV| 久久久久9999| 久久亚洲日韩熟女精品| 四虎国产成人精品免费一女五男| 抽插无码高清一区| 91福利网在线观看| 超碰色图| 骚人妻少妇视频| 久久性爱城| 日韩综合成人免费视频| 国产丁香精品露脸视频| 97在线免费看| 久99久视频| 日韩色欲久久一二三四区| 久久老女人| 亚洲色婷婷综合久久一区二区三区| 日日骚 av| 久操大香蕉手机视频在线看| 日韩欧美中文| 97 色综合| 99后入| 亚洲97P| 久热伊人99re| 青娱乐日韩无码| 超碰97 线线 在现| 久久久96精品| 不卡一区视频| 麻豆天美电影一区二区| 中文字幕高清20页视频| 爆操无码| 韩国一级婬片A片AAAAA| 久久av成人无码免费| 国产高清MV操逼视频| 精品日日人妻| 中文字幕一区二区无码成人| 欧美人妖内射| 久久久久久裸体| 久久国产对白激情浪潮 | 久久女婷| 青青草日韩无码| 人人干人人操人人..com| 久久久久久精品免费看A级| 多乙久久久久久| 乱伦Av网| 国产久久久久久久久一区二区 | 丰满人妻一区二区三区色-百度| 欧美不卡五十路| 人人贴人人摸| 性爱av在线免费观看| 狠狠色综合网| 精品一区二区三区蜜桃臀赵总 | 夜夜操狠狠操| 天美欧美国产| 国产精品伦理| 亚洲,日韩,欧美,成人播放| 在线观看亚洲专区| 色色婷婷五月| 嗯嗯啊好大| 91熟女在线| 国产日韩区| 九九在线视频| 亚洲欧美日韩中文久久自慰| 超碰在线人人射| 超碰视97中文| 国产中文字幕在线点播| 超碰成人免费| 超碰社区97| 日韩99精品视频综合区| 富二代亚洲精品99 | 亚洲影视第一页| 久操操AV电影| 小少妇| 91亚洲黄色网| 日韩成人大片一区二区| 美腿色图| 久操国产在线| sewuyueav| 91jk色拍| 亚洲精品日日夜夜52| 偷拍盗拍亚洲色图图片| 人妻大香蕉| 欧美九九99久久精品| 婷婷久月| 激情九月婷婷| 手机在线视频国内精品| a片自拍直播视频| 超碰偷拍| 97视频900| 国产精品经典一卡久久久 | 日韩影片中文字幕一区二区三区| 亚洲欧美国产日本一区二区三区| 操高情无码| 中字幕人妻一区二区三区| 色香天天| 九九九九久久久久| 夫妻天天操岛国视频| 国产精品毛片| 九热超碰| 久久久久久久久国产| 亚洲免费97免费| 中文字幕片| 你操综合| 99爱久久视频频| 一区二区三区精品黑丝白丝酒店对鸡| 激情丁香五月婷婷| 色九月婷婷| 开心五月婷婷激情| 人人操AV| 婷婷久草一区二区三区| 男人的天堂2010| 夜夜操二区| 成人欧美一区二区三区黑人一| 国产激情片在线观看| 黄色一级视| 5278欧美一区二区三区| 亚洲中文字母在线播放| a在线视频免费观看| 欧美性爱视频免费一区一A | 日韩精品一二三四| 亚洲情色婷婷五月天| 久久一二三四五六七八九区区区 | 99色在线视频| 亚洲情色五月天| 最新一二三区视频| 亚洲综合影片| 美女黑人91神马| 青青草久草AV| 综合亚洲网| 亚洲小说视频| 神马久久久久久| 啪啪性爱免费视频| 中文字幕亚洲永久精品| 国产一区二区三区精品观看啪| 国产免费一区在线观看| 久久草草欧美精品| 亚洲狼狼干综合1| 粉嫩少妇自慰在线| 欧美肥臀在线| 久久人妻| 久操网视频| 亚洲国产成人精品无码专区| 亚洲人妻AV| 18一区二区三区| 成人A片男人的天堂| 人妻少妇精品久久久| 四虎免费视频| 国产又黄又爽| 综合影视国产无码| 熟妇熟女视频一区二区三区| 中文字幕版| 久湿久久| 欧美激情综合| 精品亚洲国产成人av网站| 欧美 亚洲 偷拍自拍| 国产精品一二三区福利| 综合色拍| 97Ai亚洲| 激情五月天插| 91色综| 97色视频在线| 久久精品区| 久久久国产av美女私房| 精品少妇一区二区三区在线视频| 老熟女区| 久久久久久久9| 精品欧美А∨无码黑人大荫蒂| 免费黄色片子| 精品九九淫乱男| 啪啪自拍九九综合| 青青操综合网| 在现视频女上位好爽| 天天日美女的B| 婷婷五月天激情四射| 亚洲精品三区在线观看| 中文字幕91综合| 久久机热| 亚洲国产一区二区入口| 97 亚洲 日韩 欧美 在线| 大香蕉伊然在亚洲91| 久久久性| 天天操夜夜操| 欧美96交| 97人人操人人摸人人爱| 亚洲男人天堂2012| 欧美色偷偷| 日本中文字幕在线视频| 日本久久999| 97无码视频在线播放| a在线观看| 亚州图片第一页| 午夜福利1区2区3区| 99久久综合| 久草老司机| 亚洲国产91精品一区二区久久| 色五91| 亚洲欧美天| 一起草日韩| 九一综合精品视品av| 日韩欧美中文字幕搭讪巨乳美人妻视频| 被男人添B超爽视频| 欧美性天天影视| 久久大香蕉97| 91GD.COM| 久久久久幕乱码| 亚洲第一黄色av网站| 99re69综合| 欧美高清无码免费视频高清版| 精品久久久无码| 高精欧美色| 中国探花熟女| 激情情色五月天| 久久亚洲AV无码专区国产精品| 欧美久久婷婷| 九九热久久99精品re| 麻豆AV一区二区| 99久久99久久免费精品蜜臀| 婷婷久草一区二区三区| 色九久| 五月婷婷六月色| 久久久999国产精品| 色青青久久影视| 精品女同一区| 丁香婷婷九月| 日韩精品亚洲一二三| 综合色99| 色噜噜国产精品视频一区二区| 五月丁香久久| 91熟女视频| 天天操女人| 日韩欧美性爱电影在线观看| 亚洲精品一二三四区| 五月丁香黄色网| 亚洲一二三四区机械| 亚洲AV麻豆Aⅴ无码电影一| 黄色小说亚洲| 欧美色性爱| 91久热| 红杏大香蕉| 激情五月天中文字幕色| 麻豆精品A片免费观看| 色操逼网| 日夜尻逼网| 九九在线视频| 在线毛片片免费观看| 色婷婷久久综合超碰| 亚洲黄色a级片| 欧成人在线| 曰韩精品九九无码| 国产美女口爆吞精视频| 99日免费视频中文字幕| www久久久| 久操91视频| 国产乱码精品久久久久久| 美國A片| 91精品国产91熟女| 影音综合网| 综合操逼| 色欲av国内精品久久久久久| 日韩9999| 超碰91在线| 欧美亚洲自拍另类人妻| 久久久久国产| 涩五月婷婷| 亚洲无码超碰免费| 青青草原香蕉日本Ap| 99自拍B亚洲| 青青伊人这里只有精品| 2017天天操| 精品无码人妻一区二区免费蜜桃| AV九九| 亚洲无无码αⅴ每日更新| yazhouzaixian| 很黄很污的免费网站| 欧亚乱色熟女一区二区| 久久久中文| 黑人干亚洲| 日韩99999色| 蜜乳AV网址| 日本视频在线中文字幕| 91色伦| 亚洲色图欧美色图制服丝袜| 成人丁香五月| 日韩一区二区高清在线观看的| 天天综合-91入口| 欧美国产操逼| 久久九九一区二区三区成人| AV中文在线| 欧美日韩国产三级黄色| 超碰97人妻在线| 久久久性少妇| 大香蕉啪啪啪啪在线| 920日本午夜免费| 国产精品蜜乳AV| 台湾一区国产高清在线| 91综合网在线| 精品二区久久| 亚洲鸥美色图| 九九久久99| 日韩草久视频| 久久97| 国产一级黄色片在线观看| 日韩av免费一级电影| 国产99热| 91N综合网| 亚洲综合色在线| 久久久性爱视频| 久久9久9久99久9久9| 天天日天天色| 国产亚洲在线| 99热这里只有精品地址| 国产精品久久99日日| 亚洲无码超碰免费| 一级性爱视频免费观看 | 一牛影视久久久一区二区三区| 国产67194| 精品性爱一区二区| 久久久久九九九| 99国产精品视频尤物| 黄色香蕉视频网站一区| 日韩欧无码一区二区三区免费不卡| 久操国产在线| www欧美91| 青青草原伊人网| 一二区在线观看视频| 国产蜜臀在线| 欧美,日韩,中文,另类| 欧美骚少妇| 91男同| 亚洲日本天堂| 色综合 加勒比| 国产AB视频| 夜夜爽夜夜摸夜夜操免费视频| 超碰在97| 狠狠操狠狠燥| 99热在线只有精品| 91精品人妻一品二品三品| 国产91美女视频| 国产免费内射视频| 亚州综合色| 欧美日韩资源| 国产又粗又大硬免费色网视频| 探花精品 一区二区| 国产女大学生AV| 免费岛国一级片| 激情熟女12P| A 在线网址| 一区二区三区免费岛国片| 国产综合网站在线播放| 久久人人爽人人爽人人片Ⅴ| 国产成人网址| 欧美九九爱| 国产男女无套97| 99re这里| 超碰97极品9| 特色a在线上| 国产乱伦搜索结果91P| 性爱综合一区二区| 日韩免费看黄片| 99热在线播放| 伊人色综合超碰| a人片中文字幕一区二区| 一摸二插三插| 精品久| 伊人丁香五月婷婷| 色综合网1| 综合色图亚洲欧美| 九九热在线精品视频| 欧美人妻一区二区| 国产v亚洲v日韩v欧美v片另类| 91av一区二区在线观看| 人人插人人搞人人操| 国产丝袜美女诱惑| 天欧美在线| 亚洲激情综合另类| 岛国网址国产| 2020视频1区2区3区| 国产天天看| 好湿好紧视频| 天天躁日日躁成人字幕aⅴ| 国产色精品午夜大片| 亚州精人品大香蕉| 欧美激情久久久久| 99色网| α√在线| 久久精品一区| 99操逼| 涩涩涩综合| 亚洲少妇喷视频看| 色妇91| 大香蕉欧美| 亚洲国产午夜真人一级片中文字幕精品黄网站| 97香焦色区| 久热99999| 亚洲成人精品在线一区| a在线观看| 嗯嗯,好大,好爽,好骚| 欧美劲爆第一页| 欧美性爱1080p| 97操97色| 午夜一区| 99精品成人免费看| 日本99一区二区| 亚洲综合首页| 久久久夜夜嗨免费视频| 久久久111| 搡老女人老熟女91| 久久久国产成人一区二区三区在线| 操人妻逼91| 97亚洲精品超碰| JIZZJIZZ国产精品喷水| 久久一二三四五六七八九区区| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 久久99精品视频| 不卡超碰护士AV在线免费播放| 五十路熟女在线不卡观看一区二区| 日韩免费av片高清无码| 色蜜AV| 香港久久久| 欧美丝袜制服久久| 超碰在线97国产| 波多野42部激情无码喷潮| 男人天堂久久精品| 欧美综合综合| 天天干人妇| 美女丝袜激情小说| 2019久久久久久久久福利| 亚洲欧美爆| 欧美精品三区| 欧美不卡在线美女| 精品九区| 人人人人人人少妇| 97天天| 99爱在线视频| 日日躁夜夜躁狠狠躁超爽| 在线啊v一区| 青青草女人天天干| 日韩欧美亚洲一区二区三区影院| 91丨精品丨国产丨丝袜| 午夜一区二区三区国产| 九九九九精品一区| 国产精品无码久久久久2028| 91天射| 神马久久久久久伦理片| 小骚逼被操的爽不爽| 强奸国产精品视频| 日韩少妇在线视频| 日本www操操操| 啊啊啊啊在线播放| 国产精品午夜高潮呻吟久久av| 欧洲一区二区三区四区在线观看| 嗯啊抽插大香蕉网页| 亚洲欧洲无码一区夜| 天天躁日日躁xxxxx| 免费超碰97久久| 久久高清欧美国产| 丝袜美腿操av| 91久久久久免| 99无码狠狠久久| 欧亚第一综合网| 国产日韩区| 91女优在线观看| 日韩黄色成人性爱| 综合色91| 一道本东京热加勒比一区二区三区| 国产在线能看的你懂的| 日本男人插女人的逼黄色| 国产精品自在线发布| 久久精品六区| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 蜜桃视频成a人v在线| 四虎在线观看网站| 五月婷婷久久综合| 97免费视频在线| 特级大荫道BBwBBwBBW| 欧美91视频| 国产AV线| 97精品国产97久久久久久| 极品销魂美女一区二区| 小骚逼被操的爽不爽| 久久性爱城| 黄骗免费网站| 精品二999| 99ri精品| 精品日韩人妻视频| 97精品网站| 精品超碰中文在线| 欧美黄色片在线播放| 美女上床网站| 九九九综合精品| 啪啪AV导航| 一区二区视频在看| 青青草视频导航官网| 黄aaaaaaaaaaaaaaaaaa色网站| 久九色| 久久亚洲色图中文字幕| 麻豆国产尤物AV| 26uuu欧美日韩| 91中出视频| 亚洲免费97免费| 色色综合网站| 成人免费看吃奶视频网站| 我爱操| 激情图片亚洲色图| 99久久婷婷| 亚洲无线码欧洲精品区别| 我要色综合网站| 青青操在线亚洲视频观看欧美在线 | 亚洲国男人的天堂| 亚洲无吗在线视频| 中文字幕三四区| 97爱啪| 第45页一区二区| 超碰成人免费| 亚洲欧美综合区自拍另类| 日韩97P| 久久久熟女一区| 情色av电影| 91久久久久久| 综合久久六月久久婷婷| 国产亚洲色停停久久99精品91| 日韩BBN| 乱久久久| 亚洲三级网址久久最新| 26uuu欧美| 国语对白在线播放视频| 岛国福利在线精品播放| 九九热九九| 蜜臀99久久精品| 97一区二区三区视频| 97干在线看| 五月婷丁香| 人妻乱仑一区二区三区| 日韩熟女乱伦中出| 日韩av性爱在线播放| 97超碰色情| 免费男人的天堂| 青青草久草AV| 一本大道综合伊人精品热热| 国产精品久久久久久夜夜夜| 男人的天堂啪啪啪啪啪蜜桃不卡| ?亚洲伊人伊成久久人综合网| 国产在线激情视频| 女欧美一区二三区| 尤物视频视频官网| 婷婷综合伊人一区| 国产精品久久久久久久久久久久久久吹| 美国三级日本三级久久99| 日韩噜噜69| 天美传媒在线一区| 亚洲视频小说| 国产美女口爆吞精| 99re69| 精品人妻一区二区乱码一区二区| 97一区二区蜜臀| 伊人大香蕉在线| 一本正道久久熟女| 久久国产视频专区一二三| 97综合在线观看| 综精品久久久aaaa| 欧美日韩淫加| 吉川爱美98堂在线| 99re69| 91五月天| 日本高清加勒比| 亚洲 综合 第一页| 97欧美色综合| 高清孕妇孕交 交孕妇| 久久超碰天天| 精人妻一区二区三区| 熟女熟妇一区二区三四区| 久久国产精品m码| 啊啊啊无码| 国产强奸乱伦欧美| 亚洲精品一区二区精品| 无套内射人妻在线播放| 91动漫操逼视频| 日韩精品一区的| 另类小说五月天| 丁香五月天婷婷姐| 黄总AV色图| 亚欧美综合网。| 久久久96精品| 日夜精品| 无码一区免费在线不卡| 熟女这里只有精品6| 金莲网址| 啊v视频在线观看| 亚洲影视综合网| 天天碰操中国年青熟妇| 风月影院男女十八禁| 东京热伊久| 久久这里只有精品9| 日韩三级在线观看网站| 色在线亚洲视频www| 男人的天堂一区三区| 3571色综合一区二区二区| 一区二区精品更新提醒| 美女91色黄18| 亚洲97精品| 十八禁视频一区二区| 久久av成人无码免费| 99精品在线| 欧美色图亚洲特色| 97资源站久久| 久久久久久9| 久久这里是精品| 亚洲色啪| 99xav| 国产精品日日摸天天碰| 美国日韩黄片| 亚洲AV无码成人精品久久| 蜜臀久久99精品久久综合| 蜜臀久久在线视频| 中文字幕一区二区三区人妻不卡| 91看黄片| 国产激情综合| 操b网站亚洲无码| 伊人网在线点播| 欧美高清18A片| 免费看久久久性性| 啊啊啊啊啊在线视频| 91中文字幕在线观看| 国内精品嫩模A∨私拍小视频| 国产精品自产拍在线观看社区| 毛片视频白嫩| 小电影欧美91| 亚洲 欧美 制服 另类 自拍| www久久久| 99国产精品久久久在线播放| 欧美日韩亚洲天堂| 亚洲人妻中文高清| 欧美图片色综合| 国产精品农村妇女精品| 精品国产无码中文| 91久久精品国产| 黄站在线免费观看| 亚洲成人性爱网站在线播放| 五月天婷婷综合网| 色悠久久久av| 大屁股人妻女教师撅着屁股| 91操人| 看看日B真人视频| 在线岛国新天堂8| 98一区二区精品| #NAME?| 国产熟女完整版中字| 亭亭丁香激情| 欧美97色| 久久婷婷色| 日韩淫色网| 综合国产影视三级| 天堂av2019| 上床啊啊啊| 韩日无码在线观看| 九九九九九九九九九五码| 国产午夜在线观看| 亚洲天堂男人在线| 午夜噜噜噜| 午夜黄色免费在线观看| 天天舔天天日天天射| 亚洲国产精品成人综合| 亚洲18禁| 亚洲综合20p| www.久久爱| 夜夜春夜夜操| 99久久精品国产高潮| 狠操91,com| 曰本人妻人人澡人人夹| www.高清无码诱惑一区.com | 国产深喉| 在线观看av区| 国产精品粉嫩福利在线| 亚洲 日韩 丝袜 熟女 变态| 欧美综合制服在线| 免费av高清无码| 国产SV一线| 翔田千里无码一区| 91色五月俺来也| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 区一在线观看| 大香蕉中文在线| 国产丝袜视频| 亚洲激情视频| 97九色人妻| 免费一二区| 久操高青| 91P0RNY大屁股人妻| 超碰在线974| 超碰免费人妻人人| 麻豆影音天美视频| 人人操人人操人人人操| 九九九九九用不成了| 操逼免费视频无码国产| 97爱b| 1024人妻熟女一区二区三区| 欧美成人精品一区二区男人蜜臀 | 69超碰综合| 在线97视频| 精品人妻一区二区三区-国产| 欧美精品二区视频在线| 色综合加勒比四四季| 18啪啪手机免费性爱| 亚洲日韩乱码中文无码蜜桃臀网站 | 色哟哟-国产专区| 操人人| 美女让帅哥通她小鸡鸡| 偷窥自拍A片| 亚洲人久久久久日| 久久国产视频专区一二三| 国产美女销魂在线观看不卡| 偷拍2020| 婷婷五月影院| 97超碰人人操人人操| 免费网色网站| 欧美日韩操逼嗦吊| 欧美黑人熟妇精品91| 吉川爱美98堂在线| 免费簧片在线观看| 久久九九97| 大香蕉伊人网WWWn0n| 日韩亚洲中文有码视频| 后入综合久久| 青青草原狼av| 18禁精品网站在线看| 国内精品99999| 三级片大波波| 色综合av男人天堂| 91精品人妻一区二区三区蜜臀| 丰满少妇一区二区三区四区观看| 亚洲精品xxx| 国语精品av| 69综合网| 强奸a片网| 日本影视久久免费| 97超碰人操| 中亚精品极乱| 啪啪AV导航| 极品肉射| 亚洲男人的天堂网| 丁香六月综合激情| 涩综合导航| 暴力av在线| 超碰在线人妻不卡| 综合色啪| 丰满人妻一区二区三区性色| 久久中文字幕人妻熟av女蜜柚| 色噜噜国产在线| 欧美劲爆视频一区二区| 日本操逼视频免费| 少妇激情AV| 日韩天堂av电影在线观看| 伊欧美综合视频| 亚洲AV麻豆Aⅴ无码电影一| 日日AAvv| 另类av综合久久| 91久久精品蜜臀| 日韩精品黄片免费观看| 国产精品 视频| 国内外毛片在线观看| 亚洲人在线| 日日操天天操| 顶级丝袜熟女一区二区三区| 日本一级特级毛片视频| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 丰满人妻一区二区中文| 91在线美女| 综合色色婷婷| 日本操逼视频导航| 黄色成人网久久久久久| 天天操妹子| 久久中文字幕一区不卡| 国产视频97| 怡红院视频在线| 国产精品点击进入在线影院高清| 大香蕉伊在线久草麻豆天堂故事| 天天干天天操天天干天天操| 大香蕉淫人| 黑丝日韩av丝袜av| 日少妇视频| 一区二区影视| 亚洲国产一级黄色视频| 久久av一级av少妇av高潮| 欧美成人午夜免费福利785| 婷婷五月天丁香花| 久久久亚洲精品电影免费看| 中国黑人三级片网站上区| 一区二区亚州激情久婷婷欧美| 一本色道熟妇| 被窝影院午夜看片无码| 日韩人妻 中文字幕| 99热18| 久久色一区| 日韩综合97P| 欧美 亚洲精品首页| 日本αv| 国产av美女被艹的乱叫| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 日韩性爱高清免费视频| 大香蕉伊利av| 男人精品天堂一区| 国产熟女一区二区| 色屁屁影院www国产| 国产视频不卡在线观看| 97九色人妻| 亚洲欧美日韩电影网站一区 | 亚洲各类熟们中文字幕| 偷窥自拍亚洲色图| 搡老女人老91妇女熟女| 丁香九月婷婷| 高清无码 国产精品| 91亚州日韩高清| 色亚州人久干视频在线观看免费版| 97se亚洲综合自| 久久精品日韩| 久久久一区二区三区四曲免费听 | 九九热精品免费视频| 99热日| 伊人天天久久动态图| 久久久久亚洲Aⅴ无码| 91丝袜美女| 精品少妇一区二区| 久艾草在线精品视频在线观看| 久久99亚洲精品久久99果| 欧美一区二区传媒| 天天摸天天操视频| 成人av影院在线观看| 丁香五月天社区| 久久精品99久久久久久| 天天草天天日| 亚洲精品成人激情在线| 国产美女精品| 一区二区不卡视| 成人免费不卡在线视频| 无码人妻丰满熟妇奶水区毛片| 久久久999国产精品| 天天摸夜夜添无码小视频| 久久色人体 | 日韩图色| 国语精品内射在线观看| 美日韩一卡二卡三卡免费人妻精品| 偷拍亚洲情色| 欧美亚洲色图另类国产| 欧美日韩情色一区二区| 大香蕉2017| 日韩欧美成人性爱在线| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 97日视频| 91狠狠| 五月天综合| 少妇精品久久久八区九区| 国产一区二区三三视频| 高凊专区人人操| 97日亚洲欧美| 九九无码视频| 久久久成人精品| AV一区观看| 尤物av网站| 1240青青草一区二区三区视频天爱| 婷婷亚洲五月***久久| 精品无码久久久久| 综合av社区| 观看免费区二区三区二| 亚洲国产精品无石码久久 | 青娱乐黄色录像| 日亚韩精品视频二区三| 性交一区二区在线播放| 影视综合无码少妇| 色女99一级片在线观看| 啊啊啊在线观看| 九九九九久久久| 嗯嗯不要 视频| 91精品国产麻豆国产自产在| 欧美人妻另类在线| 99精品视频在线观看免费| 亚洲免费97免费| 激情小说日韩无码| 福利偷拍视频-中文字幕2019国语完整视频大全-S91AV | 日韩图色| 欧美成人一区二区三区在线播放| 青青草色插素人| 夜夜操青青草| 热热热热日日漂亮永久永久国产日| 青青青国产手线观看视频2| 怡红院怡春院| 立川理惠被中出无码| 91在线美女| 亚洲高清视频在线免费观看| 国模限制级电影| 欧美91在线| 旡码电影特区| 国产色产精品在线观看 | 人妻少妇av在线观看| 亚洲熟女少妇免费视频| 欧日a| 亚洲第一男人天堂| 精品国产片亚洲一区| 男人天堂导航| 麻豆久久久一区二区| 97精品免费| 午夜呻吟欧美| 免费看黄片现成| 日日夜夜青青草母狗| 黄色av网站在线播放| ai欧美亚洲小说| 久久久久国产精品喷潮免费观看臀| 国产风韵犹存熟妇三区| 欧美强奸一区二区诱惑| 男人的天堂kva| 丁香激情五月天| 91老熟妇| 九九英色视频| 欧美精品xxxwww| 中出91视频| 天美传媒一二三区永久网站| 99无码狠狠久久| 丝袜视频一区二区在线播放国产中文| 国产成人精品无码久久| 青青草一区二区三区四| 色播综合| 午夜操一操| 精品国产99| 加勒比久久综合网高清| 综合熟妇一区二区三区| 亚洲高潮少妇| 亚洲人妻中文在线视频| 欧美 亚洲 91| 丁香五月久久| 亚洲?V高清一区二区三区尤物| 欧美精品第四五页中文字幕在线观看| 日本免费中文字幕在线| 国产91丝袜 在线播放| 青青操青娱乐|