99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

Hadoop分布式存儲(chǔ)架構(gòu)實(shí)戰(zhàn):氣象海量小文件與HDFS優(yōu)化策略

Hadoop分布式存儲(chǔ)架構(gòu)實(shí)戰(zhàn):氣象海量小文件與HDFS優(yōu)化策略 簡(jiǎn)介一份面向計(jì)算機(jī)科學(xué)與技術(shù)、軟件工程等專(zhuān)業(yè)本科畢業(yè)生的Hadoop方向?qū)W士學(xué)位論文圍繞氣象數(shù)據(jù)的分布式存儲(chǔ)展開(kāi)研究。論文從Hadoop架構(gòu)入手系統(tǒng)講解HDFS分布式文件系統(tǒng)與MapReduce計(jì)算模型并結(jié)合氣溫、濕度、風(fēng)速等多源氣象數(shù)據(jù)的特點(diǎn)設(shè)計(jì)基于Hadoop的存儲(chǔ)系統(tǒng)完整覆蓋系統(tǒng)架構(gòu)、數(shù)據(jù)分布策略、功能實(shí)現(xiàn)與性能評(píng)估。全文按緒論、Hadoop技術(shù)概述、氣象數(shù)據(jù)存儲(chǔ)技術(shù)研究、基于Hadoop的存儲(chǔ)系統(tǒng)設(shè)計(jì)、功能實(shí)現(xiàn)與性能評(píng)估、總結(jié)與展望六章展開(kāi)還包含國(guó)內(nèi)外研究現(xiàn)狀綜述以及數(shù)據(jù)安全、資源管理等實(shí)踐問(wèn)題可作為畢業(yè)論文參考、畢業(yè)設(shè)計(jì)擴(kuò)展或大數(shù)據(jù)入門(mén)學(xué)習(xí)資料。論文為原創(chuàng)撰寫(xiě)未入常見(jiàn)論文庫(kù)可通過(guò)查重系統(tǒng)。資源包為1個(gè)docx文檔壓縮后約31KB已有288人學(xué)習(xí)下載。1. 用Hadoop扛氣象數(shù)據(jù)先想清楚這四件事氣象數(shù)據(jù)是最典型的“海量小文件少量大文件”混合體一個(gè)國(guó)家級(jí)氣象站每分鐘生成的觀測(cè)報(bào)文本只有幾KB一部天氣雷達(dá)一小時(shí)產(chǎn)生的基數(shù)據(jù)卻有幾百M(fèi)B而數(shù)值模式跑一次輸出的格點(diǎn)場(chǎng)動(dòng)輒幾十TB。傳統(tǒng)的NFS集中存儲(chǔ)擴(kuò)不動(dòng)、查不快于是很多人把目光轉(zhuǎn)向基于Hadoop的分布式存儲(chǔ)技術(shù)。但反直覺(jué)的是直接把幾百萬(wàn)個(gè)小文件扔進(jìn)HDFS撐死你的往往不是磁盤(pán)而是NameNode的內(nèi)存——一個(gè)文件元數(shù)據(jù)就要占150字節(jié)左右千萬(wàn)個(gè)文件就是幾個(gè)GB的堆空間。這篇筆記就圍繞這個(gè)矛盾展開(kāi)從氣象數(shù)據(jù)為什么要走Hadoop到偽分布式、HA集群的搭建路線再到小文件合并、跨集群遷移和各類(lèi)翻車(chē)現(xiàn)場(chǎng)的排查方法最后給你一份驗(yàn)證思路和成本測(cè)算。適合氣象業(yè)務(wù)運(yùn)維、數(shù)據(jù)工程崗和做hadoop課程設(shè)計(jì)或研究課題的人新手能跟著敲命令熟手直接看邊界參數(shù)。2. 為什么氣象數(shù)據(jù)必須走分布式存儲(chǔ)從文件體積到計(jì)算模式的硬約束2.1 氣象數(shù)據(jù)的三種典型規(guī)模和訪問(wèn)特征氣象數(shù)據(jù)不是一個(gè)均勻的隊(duì)列至少可以分成三類(lèi)。第一類(lèi)是地面自動(dòng)站觀測(cè)數(shù)據(jù)全國(guó)幾萬(wàn)個(gè)站點(diǎn)逐分鐘上報(bào)單個(gè)文件只有幾KB到幾十KB。這類(lèi)數(shù)據(jù)的特征是“海量、極小、持續(xù)追加”一天下來(lái)可能積累上千萬(wàn)個(gè)文件。它最棘手的問(wèn)題不是容量而是元數(shù)據(jù)數(shù)量——HDFS里每個(gè)文件都對(duì)應(yīng)一串NameNode內(nèi)存中的樹(shù)節(jié)點(diǎn)當(dāng)文件數(shù)突破百萬(wàn)一次啟動(dòng)fsimage加載就會(huì)明顯變慢更不用說(shuō)日常的目錄操作。第二種是氣象雷達(dá)基數(shù)據(jù)一個(gè)體掃文件大約幾十MB到幾百M(fèi)B一天一部雷達(dá)能產(chǎn)生幾個(gè)GB全國(guó)組網(wǎng)就是TB級(jí)。它的訪問(wèn)特征是按站點(diǎn)和時(shí)刻隨機(jī)讀取適合按站點(diǎn)分目錄存儲(chǔ)單個(gè)文件又達(dá)不到HDFS塊大小需要適度合并。第三種是數(shù)值模式輸出的格點(diǎn)場(chǎng)全球模式或區(qū)域模式一次run的產(chǎn)物從幾十GB到幾十TB文件通常是大文件且后續(xù)要做多維切片和統(tǒng)計(jì)分析。它們的共同點(diǎn)是“寫(xiě)一次、讀多次、極少原地修改”這恰好是HDFS的舒適區(qū)。但不同規(guī)模對(duì)塊大小、壓縮格式和副本策略的要求完全不同所以存儲(chǔ)方案必須分層設(shè)計(jì)。我一般先把數(shù)據(jù)按來(lái)源與訪問(wèn)模式分類(lèi)再?zèng)Q定是直接落HDFS、走SequenceFile合并還是轉(zhuǎn)成ORC列式存儲(chǔ)。2.2 HDFS為什么比傳統(tǒng)NAS和對(duì)象存儲(chǔ)更適合氣象數(shù)據(jù)不少人問(wèn)NAS也能擴(kuò)對(duì)象存儲(chǔ)也能存為什么非得用Hadoop這里要從訪問(wèn)模式說(shuō)起。傳統(tǒng)NAS通過(guò)NFS/CIFS掛載適合小規(guī)模共享但元數(shù)據(jù)服務(wù)是中心化的單點(diǎn)文件數(shù)超過(guò)百萬(wàn)后ls都會(huì)卡頓橫向擴(kuò)展要么換代要么加昂貴的專(zhuān)用網(wǎng)關(guān)。對(duì)象存儲(chǔ)比如MinIO、CEPH RGW在容量和帶寬上很強(qiáng)但List操作延遲高、對(duì)大數(shù)據(jù)計(jì)算框架的本地方支持弱Spark/Hive讀對(duì)象存儲(chǔ)往往要走S3A協(xié)議每次讀都要做HTTP握手。放在氣象業(yè)務(wù)的真實(shí)場(chǎng)景里我們經(jīng)常要用MapReduce或Spark直接掃描一個(gè)時(shí)段的全部觀測(cè)文件做質(zhì)控這時(shí)候數(shù)據(jù)本地性Data Locality很關(guān)鍵。HDFS把數(shù)據(jù)切塊分散在各節(jié)點(diǎn)計(jì)算任務(wù)能優(yōu)先調(diào)度到持有數(shù)據(jù)塊的節(jié)點(diǎn)減少網(wǎng)絡(luò)傳輸。這種“存儲(chǔ)與計(jì)算同池”的架構(gòu)讓歷史氣象數(shù)據(jù)回算、批量重處理這類(lèi)任務(wù)的效率比其他方案高一個(gè)量級(jí)。另一層是可靠性三副本機(jī)制或者機(jī)架感知下的雙副本跨機(jī)架副本能夠容忍節(jié)點(diǎn)故障對(duì)長(zhǎng)年累積的氣象歷史數(shù)據(jù)來(lái)說(shuō)硬件損壞是必然的數(shù)據(jù)恢復(fù)能力比鏡像備份更省心。當(dāng)然HDFS不支持原地修改文件如果你要頻繁更新某個(gè)時(shí)次的觀測(cè)值就得走Overwrite重寫(xiě)整個(gè)文件這是選型時(shí)就要接受的限制。為了幫你決策這張表是我常用的對(duì)比維度維度傳統(tǒng)NAS對(duì)象存儲(chǔ)HDFS文件數(shù)上限百萬(wàn)級(jí)后明顯卡頓支持多但List延遲高千萬(wàn)級(jí)需優(yōu)化元數(shù)據(jù)內(nèi)存追加寫(xiě)支持支持只支持塊內(nèi)追加整體重寫(xiě)數(shù)據(jù)本地性無(wú)弱強(qiáng)隨機(jī)讀小文件快一般慢需合并與Spark/Hive集成需掛載通過(guò)S3A有開(kāi)銷(xiāo)原生結(jié)論是如果你的氣象數(shù)據(jù)處理鏈路里只有“存起來(lái)、偶爾下載”對(duì)象存儲(chǔ)夠用一旦要做批量計(jì)算和在線分析基于Hadoop的方案更劃算。這個(gè)判斷也符合當(dāng)前大數(shù)據(jù)平臺(tái)的主流選擇。2.3 存儲(chǔ)格式取舍HDFS塊大小、壓縮、列式存儲(chǔ)確定了用HDFS下一步是定塊大小和文件格式。HDFS默認(rèn)塊大小在舊版本是64MB新版本一般默認(rèn)128MB但氣象數(shù)據(jù)要具體調(diào)。雷達(dá)基數(shù)據(jù)單文件幾百M(fèi)B塊設(shè)成64MB會(huì)讓一個(gè)文件拆成多個(gè)塊讀取時(shí)要跨多個(gè)DataNode如果設(shè)成256MB單體掃描更連續(xù)但也會(huì)減少集群內(nèi)并行度。我一般遵循一個(gè)原則塊大小取“文件平均大小的1~2倍”并且不少于128MB。地面站小文件不能靠調(diào)塊解決必須走合并后面第4章會(huì)展開(kāi)。格式上原始觀測(cè)報(bào)文直接用Text文件存方便氣象業(yè)務(wù)軟件對(duì)接但分析場(chǎng)景要轉(zhuǎn)成列式格式。ORC或Parquet對(duì)浮點(diǎn)格點(diǎn)場(chǎng)的壓縮比很驚人一個(gè)10GB的模式輸出按4字節(jié)浮點(diǎn)存成二進(jìn)制可能是2.5GB用ORC加zlib壓縮后還能再壓到1GB以下。壓縮格式選擇上生產(chǎn)環(huán)境我推薦LZ4或Snappy壓縮速率高解壓帶寬大zstd壓縮比更高但CPU開(kāi)銷(xiāo)也更大。簡(jiǎn)單說(shuō)數(shù)據(jù)沉淀后需要反復(fù)查詢(xún)的轉(zhuǎn)ORC/Gzip只是中間結(jié)果或臨時(shí)數(shù)據(jù)保留Snappy甚至不壓縮。氣象數(shù)據(jù)還有一個(gè)特點(diǎn)時(shí)間維度天然有序按小時(shí)或日期分區(qū)能帶來(lái)顯著的裁剪效果。比如查詢(xún)“2024年5月1日強(qiáng)對(duì)流個(gè)例的雷達(dá)數(shù)據(jù)”分區(qū)裁剪能把掃描范圍從全庫(kù)縮到一個(gè)目錄。所以存儲(chǔ)格式設(shè)計(jì)不是孤立的文件格式問(wèn)題而是“目錄規(guī)劃文件合并列式轉(zhuǎn)換”的組合決策。3. 基于Hadoop的氣象數(shù)據(jù)存儲(chǔ)架構(gòu)從偽分布到HA集群的落地路徑3.1 偽分布式搭建用docker鏡像快速驗(yàn)證存儲(chǔ)方案在正式買(mǎi)服務(wù)器之前先用一臺(tái)機(jī)器或一臺(tái)筆記本上的Docker容器跑通偽分布式是最快的驗(yàn)證方式。網(wǎng)上常見(jiàn)的是hadoop偽分布式搭建教程通常步驟是裝JDK、關(guān)免密登錄、改四個(gè)xml但手動(dòng)配環(huán)境容易翻車(chē)。我習(xí)慣直接拉一個(gè)現(xiàn)成的hadoop docker鏡像比如帶Hadoop 3.x的鏡像用容器起NameNode和DataNode。下面是一組最小命令我用CentOS系統(tǒng)演示但macOS也一樣# 拉取包含 Hadoop 3.3.4 的 Docker 鏡像這里以 bde2020 的鏡像為例 docker pull bde2020/hadoop-base:latest # 用 docker-compose 啟動(dòng)一個(gè)簡(jiǎn)單的集群包含 namenode 和 datanode cat docker-compose.yml EOF version: 3 services: namenode: image: bde2020/hadoop-base:latest container_name: namenode environment: - CORE_CONF_fs_defaultFShdfs://namenode:9000 - HDFS_CONF_dfs_namenode_name_dirfile:///hadoop/dfs/name ports: - 9870:9870 volumes: - ./data:/data command: [hdfs, namenode] datanode: image: bde2020/hadoop-base:latest container_name: datanode environment: - CORE_CONF_fs_defaultFShdfs://namenode:9000 depends_on: - namenode volumes: - ./data/datanode:/hadoop/dfs/data command: [hdfs, datanode] EOF docker-compose up -d這段命令里CORE_CONF_fs_defaultFS 指定了默認(rèn)文件系統(tǒng)的地址偽分布式下所有進(jìn)程都連這一個(gè)NameNode。掛載./data到容器是讓容器退出后數(shù)據(jù)不丟這一步很關(guān)鍵很多新手臨時(shí)起容器關(guān)掉就一切歸零。啟動(dòng)成功后打開(kāi) http://localhost:9870 就能看到NameNode的Web界面Datanode列表里會(huì)出現(xiàn)一個(gè)節(jié)點(diǎn)。然后隨便傳一個(gè)文件測(cè)試# 進(jìn)入容器執(zhí)行 hdfs 命令 docker exec -it namenode bash hdfs dfs -mkdir -p /weather/obs/2024/05 hdfs dfs -put /data/sample_obs.txt /weather/obs/2024/05/ hdfs dfs -ls /weather/obs/2024/05這種方式的優(yōu)點(diǎn)是不污染宿主機(jī)JDK、Hadoop環(huán)境全在鏡像里。缺點(diǎn)是偽分布式只有單機(jī)測(cè)不了機(jī)架感知、故障恢復(fù)這些集群行為。如果你做的是hadoop安裝與配置相關(guān)的課程設(shè)計(jì)或技術(shù)驗(yàn)證偽分布式足夠看到HDFS的完整讀寫(xiě)流程如果要測(cè)HA或擴(kuò)容就得跳到3.2節(jié)的多節(jié)點(diǎn)搭建。另外提醒一句docker鏡像版本魚(yú)龍混雜bde2020這個(gè)系列我看到還在維護(hù)但建議你拉鏡像后先docker inspect看HADOOP_VERSION環(huán)境變量確認(rèn)是3.x再往下走。3.2 多節(jié)點(diǎn)集群搭建NameNode/DataNode/JournalNode部署要點(diǎn)真實(shí)氣象業(yè)務(wù)至少需要三臺(tái)以上物理機(jī)或云主機(jī)。常見(jiàn)做法是部署一個(gè)雙NameNode的HA集群配合3個(gè)JournalNode、3個(gè)ZooKeeper節(jié)點(diǎn)和一組DataNode。下面是我的推薦角色分配以5臺(tái)機(jī)器為例節(jié)點(diǎn)角色node1NameNode(Active)、ZKFC、JournalNodenode2NameNode(Standby)、ZKFC、JournalNodenode3JournalNode、ResourceManager、DataNodenode4DataNode、NodeManagernode5DataNode、NodeManager搭建前要做的準(zhǔn)備所有節(jié)點(diǎn)互信ssh-copy-id、安裝JDK8或JDK11、把Hadoop安裝包解壓到一致路徑。接下來(lái)最核心的是四個(gè)配置文件的修改。先說(shuō)core-site.xmlconfiguration property namefs.defaultFS/name valuehdfs://mycluster/value /property property nameha.zookeeper.quorum/name valuenode1:2181,node2:2181,node3:2181/value /property /configuration這邊f(xié)s.defaultFS不再寫(xiě)成具體namenode地址而是寫(xiě)成邏輯名mycluster由HA服務(wù)去解析當(dāng)前Active節(jié)點(diǎn)。ha.zookeeper.quorum是ZooKeeper連接串用于選舉。然后hdfs-site.xml里要寫(xiě)nameservice、NameNode的RPC地址、故障切換方式configuration property namedfs.nameservices/name valuemycluster/value /property property namedfs.ha.namenodes.mycluster/name valuenn1,nn2/value /property property namedfs.namenode.rpc-address.mycluster.nn1/name valuenode1:8020/value /property property namedfs.namenode.http-address.mycluster.nn1/name valuenode1:9870/value /property property namedfs.namenode.rpc-address.mycluster.nn2/name valuenode2:8020/value /property property namedfs.namenode.http-address.mycluster.nn2/name valuenode2:9870/value /property property namedfs.namenode.shared.edits.dir/name valueqjournal://node1:8485;node2:8485;node3:8485/mycluster/value /property property namedfs.client.failover.proxy.provider.mycluster/name valueorg.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider/value /property property namedfs.ha.automatic-failover.enabled/name valuetrue/value /property /configuration這里最關(guān)鍵的是dfs.namenode.shared.edits.dir它要求所有NameNode把編輯日志寫(xiě)到同一組JournalNode上兩個(gè)NameNode通過(guò)讀取共享日志保持元數(shù)據(jù)同步。自動(dòng)故障轉(zhuǎn)移要靠ZooKeeper所以必須配合3.3節(jié)的ZooKeeper配置。改完配置后不要急著啟動(dòng)所有節(jié)點(diǎn)要按順序先啟動(dòng)ZooKeeper集群再在node1上執(zhí)行hdfs namenode -format然后在node2上執(zhí)行hdfs namenode -bootstrapStandby把元數(shù)據(jù)同步過(guò)來(lái)最后用hdfs haadmin -transitionToActive強(qiáng)制切換一次。這一步容易踩坑后面第5章會(huì)展開(kāi)。3.3 Hadoop與Zookeeper整合實(shí)戰(zhàn)HA高可用的選主與腦裂規(guī)避Hadoop HA能實(shí)現(xiàn)NameNode自動(dòng)切換底層實(shí)際上是ZooKeeper在扛選主。每個(gè)NameNode旁邊跑一個(gè)ZK Failover ControllerZKFC守護(hù)進(jìn)程它負(fù)責(zé)向ZooKeeper登記自己為候選節(jié)點(diǎn)并監(jiān)控NameNode的健康狀態(tài)。當(dāng)Active的ZKFC發(fā)現(xiàn)心跳中斷就自動(dòng)把Active狀態(tài)讓給Standby。這個(gè)過(guò)程就是hadoop和zookeeper整合實(shí)戰(zhàn)中最核心的機(jī)制。ZooKeeper的安裝不需要多講只要保證3個(gè)節(jié)點(diǎn)版本一致。需要注意的是ZooKeeper的myid文件必須唯一conf/zoo.cfg里dataDir要指向有空間的目錄并加上server.1node1:2888:3888這樣的配置。Hadoop這邊需要把ZooKeeper客戶(hù)端相關(guān)JAR放到Hadoop的lib下多數(shù)發(fā)行版已自帶。然后啟動(dòng)順序有講究# 在三臺(tái)ZK節(jié)點(diǎn)上分別啟動(dòng) ZooKeeper zkServer.sh start # 在所有Hadoop節(jié)點(diǎn)啟動(dòng)HDFS start-dfs.sh # 在node1上檢查HA狀態(tài) hdfs haadmin -getAllServiceState # 期望輸出 # node1:8020 active # node2:8020 standby我在實(shí)際部署中遇到最多的問(wèn)題是ZooKeeper起來(lái)了但HDFS的HA沒(méi)有生效NameNode兩側(cè)都顯示standby。原因通常是ZooKeeper會(huì)話(huà)超時(shí)配置太長(zhǎng)或者防火墻沒(méi)放開(kāi)2181、2888端口。建議把dfs.ha.zookeeper.quorum里的地址換成完整主機(jī)名并檢查hosts文件避免不同節(jié)點(diǎn)解析不一致。另一個(gè)坑是腦裂在網(wǎng)絡(luò)分區(qū)時(shí)兩個(gè)NameNode可能同時(shí)認(rèn)為自己是Active。HDFS的解決方案是fencing隔離常見(jiàn)配置是shell指令把對(duì)方殺死或執(zhí)行ssh命令。在hdfs-site.xml里添加property namedfs.ha.fencing.methods/name valuesshfence/value /property property namedfs.ha.fencing.ssh.connect-timeout/name value30000/value /propertysshfence會(huì)在切換前通過(guò)SSH連到舊Active節(jié)點(diǎn)上執(zhí)行fuser -k強(qiáng)制殺掉NameNode進(jìn)程。如果SSH互信沒(méi)配置好fencing會(huì)失敗導(dǎo)致切換不成功這是我在面試時(shí)經(jīng)常用來(lái)梳理的細(xì)節(jié)也提醒你把互信配置到root和hadoop用戶(hù)兩層。4. 氣象數(shù)據(jù)入庫(kù)與訪問(wèn)目錄設(shè)計(jì)、分區(qū)和文件生命周期4.1 目錄與文件命名規(guī)范按觀測(cè)時(shí)間和類(lèi)型組織氣象數(shù)據(jù)一旦進(jìn)入HDFS目錄結(jié)構(gòu)就是它的索引。我在設(shè)計(jì)目錄時(shí)堅(jiān)持三條原則時(shí)間維度獨(dú)立層、數(shù)據(jù)類(lèi)型獨(dú)立層、原始與派生分離。一個(gè)推薦的地面觀測(cè)目錄結(jié)構(gòu)如下/weather/obs/2024/05/01/station_54511_202405010000.txt /weather/radar/2024/05/01/station_Z9000_202405010000.mz /weather/model/global_2024050100/0000/height.grb /weather/derived/2024/05/01/vis_analysis.orc為什么不把時(shí)間放在數(shù)據(jù)站下面比如/weather/station_54511/2024/05/01因?yàn)榻^大多數(shù)氣象查詢(xún)是“某個(gè)時(shí)間段、覆蓋很多站”“按時(shí)間分區(qū)”能讓Spark讀取目錄列表時(shí)直接剪掉無(wú)關(guān)時(shí)間片。文件命名要帶上站號(hào)和觀測(cè)時(shí)刻如station_54511_202405010000.txt這樣即使目錄結(jié)構(gòu)丟了文件名本身還能恢復(fù)元數(shù)據(jù)。原始目錄raw和派生目錄derived分開(kāi)因?yàn)樵紨?shù)據(jù)有氣象業(yè)務(wù)合同要求保留派生數(shù)據(jù)可以隨時(shí)重新生成兩者的生命周期和副本策略可以不同。分區(qū)粒度建議按天。粒度過(guò)細(xì)會(huì)導(dǎo)致目錄數(shù)量爆炸舉例全國(guó)5萬(wàn)站一天一個(gè)文件按小時(shí)分區(qū)就比按天多24倍目錄NameNode的目錄樹(shù)負(fù)擔(dān)很大。只有雷達(dá)數(shù)據(jù)這種單文件大、時(shí)次少的可以按小時(shí)或按時(shí)次分目錄。一旦定了規(guī)范就需要用腳本強(qiáng)制約束我習(xí)慣在采集端就生成符合規(guī)范的路徑入庫(kù)代碼里不再做二次解析減少出錯(cuò)。4.2 小文件合并與SequenceFile/ORC轉(zhuǎn)換大多數(shù)氣象觀測(cè)文件都是小文件如果把原始TXT直接put到HDFS對(duì)NameNode的壓力非常大。解決思路有幾個(gè)一是用Hadoop的CombineFileInputFormat讓計(jì)算框架在讀取時(shí)合并但這對(duì)存儲(chǔ)本身沒(méi)有幫助二是在入庫(kù)前把多個(gè)小文件合并成一個(gè)SequenceFile三是直接轉(zhuǎn)成ORC表。我這里提供一個(gè)用Spark批量轉(zhuǎn)換的思路適合把某一天成千上萬(wàn)個(gè)站的地面觀測(cè)TXT合并成一個(gè)按天分區(qū)的ORC表// 用 Spark 讀取 /weather/obs/2024/05/01 下的所有 txt val inputPath /weather/obs/2024/05/01 val df spark.read .option(delimiter, ,) .option(header, false) .schema(new StructType() .add(station, StringType) .add(time, StringType) .add(temp, DoubleType) .add(pressure, DoubleType)) .csv(inputPath) // 寫(xiě)入 ORC按站號(hào)分區(qū)snappy壓縮 df.write .mode(overwrite) .partitionBy(station) .option(compression, snappy) .orc(/weather/derived/2024/05/01)這段代碼里partitionBy(station) 會(huì)在ORC目錄下再建一層站號(hào)子目錄查詢(xún)單站數(shù)據(jù)時(shí)能快速定位。選擇ORC而不是Parquet是因?yàn)樵贖ive/Spark生態(tài)里ORC的ACID能力和浮點(diǎn)壓縮表現(xiàn)更穩(wěn)定。合并操作完成后原始txt文件是否刪除要視業(yè)務(wù)需要?dú)庀髿v史參考文件一般至少保留一年但可以移到成本更低的目錄比如通過(guò)設(shè)置副本數(shù)為2。如果你不想引入Spark也可以用Hadoop自帶的SequenceFile寫(xiě)入器但維護(hù)一堆byte數(shù)組畢竟麻煩生產(chǎn)上我更愿意定義好Schema后直接上ORC。小文件合并這個(gè)動(dòng)作不只是一次性的我通常會(huì)每天在數(shù)據(jù)接入后觸發(fā)一個(gè)定時(shí)合并任務(wù)比如用Oozie或Airflow調(diào)度避免數(shù)據(jù)文件持續(xù)積壓。4.3 distcp參數(shù)說(shuō)明跨集群遷移與備份氣象數(shù)據(jù)存儲(chǔ)研究里跨集群復(fù)制是常見(jiàn)需求把生產(chǎn)集群的歷史數(shù)據(jù)同步到分析集群做實(shí)驗(yàn)或者做異地災(zāi)備。Hadoop自帶的distcp是首選工具它本質(zhì)上是MapReduce作業(yè)在Map任務(wù)里并行拷貝文件。我最常用的命令是這樣# 把生產(chǎn)集群 /weather 目錄下 2024 年 5 月的數(shù)據(jù)同步到分析集群相同路徑 hadoop distcp -m 20 -b 2048 -p hdfs://prod:8020/weather/obs/2024/05 hdfs://analysis:8020/weather/obs/2024/05參數(shù)說(shuō)明-m 20 表示最多開(kāi)20個(gè)Map任務(wù)并行度過(guò)高會(huì)讓源集群NN壓力大建議根據(jù)源端DataNode數(shù)量設(shè)為節(jié)點(diǎn)數(shù)的1~2倍。-b 2048是帶寬限制單位MB適合在業(yè)務(wù)高峰期做限速避免網(wǎng)卡被打滿(mǎn)。-p保留屬性包括權(quán)限、塊大小、復(fù)制數(shù)等遷移氣象數(shù)據(jù)時(shí)建議保留否則目標(biāo)端副本數(shù)會(huì)使用集群默認(rèn)值。-diff參數(shù)可以增量同步我通常在第二次運(yùn)行時(shí)加上--diff只復(fù)制源與目標(biāo)不同的文件。distcp遇到小文件時(shí)Map任務(wù)還是會(huì)按文件粒度處理所以前面說(shuō)的合并步驟對(duì)distcp同樣能減少任務(wù)數(shù)。還有一個(gè)坑distcp默認(rèn)不會(huì)覆蓋目標(biāo)端同名文件如果業(yè)務(wù)上需要覆蓋請(qǐng)加-overwrite參數(shù)。5. 常見(jiàn)問(wèn)題與避坑排查氣象數(shù)據(jù)存儲(chǔ)翻車(chē)現(xiàn)場(chǎng)5.1 小文件導(dǎo)致NameNode內(nèi)存爆掉現(xiàn)象集群運(yùn)行幾個(gè)月后NameNode的JVM堆內(nèi)存持續(xù)走高頻繁Full GC界面卡死甚至進(jìn)入SafeMode。原因每個(gè)文件元數(shù)據(jù)在NameNode內(nèi)存里大約占150~220字節(jié)含目錄項(xiàng)、權(quán)限、塊信息一堆幾KB的觀測(cè)文件積累到千萬(wàn)級(jí)別堆內(nèi)存幾個(gè)GB就被吃光了。這是“海量小文件分布式存儲(chǔ)”的經(jīng)典組合拳。解決先救命再治本。臨時(shí)調(diào)大NameNode堆內(nèi)存在hadoop-env.sh里設(shè)置HADOOP_NAMENODE_OPTS-Xmx8g并重啟。長(zhǎng)期做法是執(zhí)行4.2的小文件合并把原始TXT按天轉(zhuǎn)成ORC同時(shí)清理無(wú)用的臨時(shí)文件hdfs fsck可用于統(tǒng)計(jì)小文件占比。日常監(jiān)控建議每半小時(shí)記錄一次NN堆內(nèi)存和活躍文件數(shù)閾值設(shè)置到80%時(shí)告警。5.2 塊大小設(shè)成64MB造成大量小塊現(xiàn)象一個(gè)雷達(dá)基數(shù)據(jù)文件300MB讀取時(shí)跨3個(gè)塊花的時(shí)間反而比單塊讀更長(zhǎng)NameNode塊對(duì)象數(shù)量多fsck掃描慢。原因很多教程還是老版本的64MB默認(rèn)值氣象大文件被無(wú)謂切碎。解決在hdfs-site.xml里設(shè)dfs.blocksize為268435456256MB或至少134217728128MB。修改后新寫(xiě)入的文件會(huì)使用新塊大小歷史文件不會(huì)自動(dòng)重切如果需要統(tǒng)一可以用distcp加-updated重寫(xiě)一遍。我一般按數(shù)據(jù)類(lèi)型分別配置比如雷達(dá)目錄用256MB觀測(cè)小文件合并后的ORC塊默認(rèn)128MB即可。5.3 數(shù)據(jù)傾斜與機(jī)架感知配置現(xiàn)象某個(gè)新增DataNode磁盤(pán)利用率很快爆滿(mǎn)而其他節(jié)點(diǎn)空閑或者計(jì)算任務(wù)總是往少數(shù)節(jié)點(diǎn)上跑。原因HDFS數(shù)據(jù)均衡策略是隨機(jī)輪詢(xún)副本放置也沒(méi)有機(jī)架感知集群拓?fù)浔划?dāng)作單機(jī)架處理。解決配置機(jī)架感知腳本讓Hadoop知道網(wǎng)絡(luò)拓?fù)?。在core-site.xml里設(shè)置property namenet.topology.script.file.name/name value/opt/hadoop/etc/hadoop/rack-aware.sh/value /property腳本內(nèi)容按IP映射到機(jī)架名例如#!/bin/bash # 簡(jiǎn)單的機(jī)架感知腳本前兩個(gè)字節(jié)相同視為同一機(jī)架 case $1 in 192.168.1.*) echo /rack-1 ;; 192.168.2.*) echo /rack-2 ;; *) echo /rack-default ;; esac注意腳本要有可執(zhí)行權(quán)限。有了機(jī)架感知HDFS在第二個(gè)副本時(shí)會(huì)優(yōu)先放到不同機(jī)架第三個(gè)副本再回到第一個(gè)副本所在機(jī)架的不同節(jié)點(diǎn)這樣既容災(zāi)又均衡。如果已經(jīng)存在傾斜執(zhí)行hdfs balancer -threshold 10讓它均衡但要在業(yè)務(wù)低峰跑因?yàn)樗鼤?huì)占用IO。5.4 副本策略在氣象場(chǎng)景下的調(diào)整現(xiàn)象默認(rèn)3副本磁盤(pán)成本翻三倍氣象原始數(shù)據(jù)有壓縮歸檔卻沒(méi)地方放。原因很多人照搬默認(rèn)配置沒(méi)想過(guò)氣象數(shù)據(jù)的副本需求其實(shí)可以從3降到2甚至1。解決氣象數(shù)據(jù)有重建途徑如雷達(dá)基數(shù)據(jù)可以從雷達(dá)站重新導(dǎo)模式數(shù)據(jù)可以重新run對(duì)原始觀測(cè)文件2副本已經(jīng)能容忍單節(jié)點(diǎn)故障如果有Hadoop Archive冷備份副本可降到1。設(shè)置方式在hdfs-site.xml里全局改dfs.replication2也可以對(duì)特定目錄設(shè)置hdfs dfs -setrep -R 2 /weather/raw這個(gè)命令會(huì)把指定目錄及已有文件的副本數(shù)改成2適合對(duì)不同數(shù)據(jù)類(lèi)型做差異化成本控制。不過(guò)要提醒副本數(shù)設(shè)得太低在DataNode單點(diǎn)故障時(shí)會(huì)導(dǎo)致塊丟失需要用hdfs fsck -list-corruptfileblocks定期檢查。降副本前務(wù)必確認(rèn)數(shù)據(jù)源還有原始文件否則一旦磁盤(pán)壞就是真翻車(chē)。5.5 磁盤(pán)故障與節(jié)點(diǎn)掉線后的恢復(fù)時(shí)序現(xiàn)象DataNode進(jìn)程在但Web UI顯示某個(gè)塊副本缺失或者某塊磁盤(pán)IO錯(cuò)誤節(jié)點(diǎn)被標(biāo)記為壞盤(pán)最終Node進(jìn)入Decommission狀態(tài)。原因DataNode多目錄中一個(gè)壞盤(pán)會(huì)導(dǎo)致整個(gè)節(jié)點(diǎn)被判斷為異常NameNode檢測(cè)到超時(shí)后啟動(dòng)塊復(fù)制但因?yàn)楦北旧倩蚓W(wǎng)絡(luò)帶寬不夠恢復(fù)很慢。解決該節(jié)點(diǎn)的hdfs-site.xml里設(shè)置dfs.datanode.data.dir為多個(gè)獨(dú)立盤(pán)目錄例如/srv/hdfs/data1,/srv/hdfs/data2這樣單盤(pán)損壞只影響那部分塊不會(huì)整個(gè)節(jié)點(diǎn)宕掉。壞盤(pán)處理流程是發(fā)現(xiàn)壞盤(pán) → 從配置中移除該目錄 → 修改fsimage并重啟DataNode → 等待塊的re-replicate?;謴?fù)期間可以用hdfs dfsadmin -report查看各節(jié)點(diǎn)磁盤(pán)狀態(tài)用hdfs fsck /weather -files -blocks檢查損壞文件列表。再一個(gè)常見(jiàn)坑很多人在DataNode內(nèi)存溢出或磁盤(pán)滿(mǎn)后不檢查就重啟導(dǎo)致節(jié)點(diǎn)反復(fù)異常。應(yīng)該先看日志/opt/hadoop/logs/hadoop-hdfs-datanode-*.log里的異常再動(dòng)手。6. 這個(gè)方案值不值得投入驗(yàn)證方法、成本估算與一個(gè)進(jìn)階技巧6.1 用hadoop面試題清單給存儲(chǔ)方案做驗(yàn)證做完這套架構(gòu)你可以用幾個(gè)hadoop面試題來(lái)驗(yàn)收自己是否真正吃透請(qǐng)描述NameNode的啟動(dòng)流程以及SecondaryNameNode與HA中的Standby節(jié)點(diǎn)有什么區(qū)別。副本放置策略的默認(rèn)規(guī)則是什么機(jī)架感知改了之后會(huì)影響哪些行為小文件為什么影響HDFS除了合并還有哪些治理手段distcp在增量同步時(shí)如何保證數(shù)據(jù)一致性這些問(wèn)題覆蓋了從原理到運(yùn)維的邊界。如果你能不看文檔答上來(lái)說(shuō)明你的氣象數(shù)據(jù)存儲(chǔ)方案不是搭個(gè)環(huán)境了事。我自己的習(xí)慣是每完成一個(gè)集群節(jié)點(diǎn)配置就在心里過(guò)一遍這些題用來(lái)發(fā)現(xiàn)盲區(qū)比如最初我以為Standby節(jié)點(diǎn)就是用來(lái)讀的實(shí)際上它的主要職責(zé)是熱備和及時(shí)切換。6.2 存儲(chǔ)成本與壓縮比實(shí)測(cè)方法在投入生產(chǎn)前建議先搞一個(gè)真實(shí)月份的樣本測(cè)試。選擇最近一個(gè)完整月的數(shù)據(jù)統(tǒng)計(jì)原始大小、文件個(gè)數(shù)。然后用下面的命令測(cè)量HDFS實(shí)際占用# 查看某個(gè)目錄的實(shí)際容量-h 顯示人類(lèi)可讀 hdfs dfs -du -h /weather/raw/2024/05假設(shè)原始數(shù)據(jù)是2TBHDFS占用為2TB × 副本數(shù)2 4TB如果轉(zhuǎn)成ORC壓縮后體積變?yōu)?00GB那么有效存儲(chǔ)成本就變成4TB里實(shí)際只用了600GB的物理空間緊縮比約70%。再結(jié)合硬盤(pán)價(jià)格和服務(wù)器折舊就能算出每TB氣象數(shù)據(jù)成本。這里要注意du顯示的是邏輯塊大小不是物理磁盤(pán)寫(xiě)入量因?yàn)閴K校驗(yàn)checksum也會(huì)占用一點(diǎn)點(diǎn)空間但通常忽略。還要算上NameNode內(nèi)存成本每100萬(wàn)文件大約需要200MB堆內(nèi)存按云主機(jī)單價(jià)折算也是一筆賬。把這些算完你就可以給決策層交一份有數(shù)字的存儲(chǔ)預(yù)算方案。6.3 一個(gè)進(jìn)階技巧基于文件大小的自動(dòng)歸檔策略最后給你一個(gè)實(shí)用的冷熱分層技巧。氣象歷史數(shù)據(jù)訪問(wèn)頻率越來(lái)越低但磁盤(pán)還在持續(xù)寫(xiě)入??梢杂肏adoop ArchiveHAR歸檔老數(shù)據(jù)將多個(gè)小文件打包成har文件減少NameNode元數(shù)據(jù)壓力同時(shí)不丟數(shù)據(jù)。建一個(gè)定時(shí)歸檔任務(wù)# 把 2023 年及以前的觀測(cè)原始文件歸檔成 har 包 hadoop archive -archiveName obs-2023.har -p /weather/obs/2023 /weather/archive/2023執(zhí)行后/weather/archive/2023下會(huì)出現(xiàn)一個(gè)obs-2023.har里面包含所有小文件。訪問(wèn)歸檔文件時(shí)不用解壓可以直接hdfs dfs -ls har:///weather/archive/2023/obs-2023.har讀取。歸檔后原始目錄可以設(shè)置成只讀或清理你仍然能通過(guò)Spark讀har里的數(shù)據(jù)只是性能略低于未歸檔。這個(gè)技巧特別適合存量氣候數(shù)據(jù)能在一周內(nèi)存活集群的元數(shù)據(jù)壓力降一個(gè)量級(jí)。我的教訓(xùn)是歸檔腳本要放在業(yè)務(wù)低峰執(zhí)行并且先跑一次小范圍樣例驗(yàn)證查詢(xún)端能正常讀har再全量歸檔因?yàn)镠AR壓縮過(guò)程如果中途失敗部分小文件可能不可見(jiàn)需要原始目錄的副本兜底。這套基于Hadoop的氣象數(shù)據(jù)分布式存儲(chǔ)方案從架構(gòu)選型到集群搭建、數(shù)據(jù)入庫(kù)、成本測(cè)算我已經(jīng)講完了。如果你正在做氣象數(shù)據(jù)平臺(tái)建議先從偽分布式驗(yàn)證目錄設(shè)計(jì)和合并流程再逐步擴(kuò)展到HA集群。每個(gè)環(huán)節(jié)的數(shù)據(jù)格式、塊大小、副本策略都要結(jié)合你自己的數(shù)據(jù)規(guī)模去試不要照抄默認(rèn)值。單機(jī)實(shí)驗(yàn)和集群生產(chǎn)之間最大的差別往往就在那些看起來(lái)不起眼的參數(shù)上等你因?yàn)橐粋€(gè)配置失誤半夜爬起來(lái)重啟節(jié)點(diǎn)時(shí)就會(huì)懂我今天為什么把這些坑單列一章。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
夜夜骑日日夜夜| 91精品久久久久久综合五月天| 天天插天天干天天舔| 黄色录像网点| 亚洲精品国产成人AV在线| AV激情五月| 99riAV成人在线视频| 99九九热在线观看| 婷婷综合另类| 午夜69成人做爰视频| 26uuu最新地址| 九九激情网| 色五月婷婷激情基地| 成人av免费观看| 五月天婷婷中文字幕在线播放| 99啪啪| 激情涩播| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 亚洲成人在线在线| 99热免费| 亚洲国产无线乱码在线观看| 99精品在线观看视频| 日夜夜久久| 99久久精彩视频。| 熟女激情网| 蜜臀av粉嫩av懂色av| 少妇水多A片太爽了| WWW,五月| 操碰99| 色丁香影院| 金桔一区二区ab地址| 毛v一区二区视频| 伊人无码高清| 色色色色色色综合网| 丁香色情五月天| 91九色欧美| 久久婷婷五月丁香蜜桃网| 午夜丁香婷婷| 国产毛片精品一区二区色欲黄A片 99国产在线精品视频 | 丁香五月婷婷国产在线| 激情五月婷婷丁香综合网| 激情综合五月婷婷| 草草夜夜操| 亚洲精品又粗又大又爽A片| 91色综合| 开心激情站| 久久久久久欧美精品se一二三四| 中文字幕在线观看视频www| 欧美日本另类| 五月婷婷色| 玖玖在线视| 激情亭亭五月| www色色色com| 丁香亭亭激情四射| 色婷婷五月在线| 男女免费视频999| 九九久久高清| 这里只有精彩小视频视频网站| 丁香婷婷六月天| 无码区婷婷五月花开| 九九超碰人人| 久久婷婷五月国产色综合激情| 久综合色| 激情婷婷丁香色五月综合| 五月丁香婷婷无码A∨| 五月婷婷伦理| 毛v一区二区视频| 久久人视频| 97超级免费无码| 日韩无码91| 9久热在线视频精品| 久99视频在线观看| α久久| 五月丁香婷婷综合网色欲| 欧美综合五月丁香六月婷| 五月宗合激情网| 五月婷婷丁香五月婷婷丁香| 日本三级大片| 99综合成人视频在线观看 | 狠狠色婷婷丁香六月| 五月熟妇婷婷久久| 国产日韩欧美性爱| 五月丁香婷婷综合| 日韩无码系列| 亚洲舔观看| 俺也去综合| 婷婷日日夜夜| 99ER热精品视频| av在线免费播放观看| 五月婷中文娱乐综合| 午夜日韩久久久网站| 思思99久久| 激情com| 天天爽天天摸| 五月天激情网图片| 思思99久久| 婷婷不干网| 99久久久精品| 婷婷五月天伦理| 婷婷五月激情视频| 三十熟女| 久色视频在线| 日韩 中文 欧美| 欧洲色区| 亚洲色色色色色色色色色| 噜噜噜噜在线| 亚洲激情av| 婷婷丁香先锋资源网站| www,com,五月色色| 久久精品视频在这里有| 欧美性猛交99久久久久99按摩| 99色视| 五月婷婷久久综合| 99精品网| 亚洲精品视频在线播放| 操日视频| 人人性久久| 爽tv | 婷婷五月天VI| 成人五月天在线视频在线观看| 五月婷婷五月色| 性爱综合网| 伊人综合婷婷| 婷婷丁香18| 夜夜嗨一区二区三区直播内容| 婷婷久久丁香五月| 婷婷五月天天爽| 日本波多野结衣视频| 久久xx| 婷婷丁香五月天熟女丝袜| 婷婷五月天天天日日夜夜| 欧美黄色AA片哗啦啦啦| 丁香五月激情五月色综合| 狠狠狠婷婷五月综合| 狠狠操狠狠插| 狠狠五月激情丁香六月| 日本美女上人| 激情99热| 欧美操人| 99热99网| 天天做天天爱| 狠狠色丁婷婷日日,伊人激情综合网| 婷婷久久五月丁香| 99精品视频在线观看免费| www.99热这里只有精品| 99啪在线| 色婷婷狠狠18禁| 亚洲综合一区二区| 五月停亭六月,六月停亭的英语| 91人人爽人人操| 婷婷免费无视频| 婷婷综合五月| 能看的av片| 色婷婷六月| 九九AV| 久久92| 国产97色在线 | 日韩| 婷婷五月在线播放| 91九色|疯狂|高潮|对白|| 久久婷婷五月天| 美国不卡视频| 7月婷婷六月丁香| 亚洲成人AV在线播放| 久久久久久久久久久月丁| 久色资源网| 婷婷五月综合社区在线| 婷婷娌伦网| 亚洲婷婷婷| 亚洲va成人va成人va在线观看| 久久五月天精品视频| 丁香五月激情视频| 色综合天堂| 婷婷的99视频网站| 婷婷五月天99| 91人人澡人人爽人人看| 五月丁香成人网| WwW天天干| 超碰在线日夜| 日本啪啪天堂| 五月丁香亚洲综合网| av中文网| 91男同| 色五月婷婷婷婷婷婷婷婷婷婷| 色色色色综合| 五月丁香无码| 怡红院 久久| 国产AV影片| 色情五月停停丁香| 安息电影在线观看完整版| 成人午夜天| 天天操屄网| 丁香五月手机在线| 97超级啪啪在线观看| 五月丁香中文| 五月天成人伊人| 97干资源在线观看| 97色吧| 性色视频| 久久亚洲色导航| 爱操天堂| 色5月婷婷| 天堂AV在线看| 婷婷在线观看五月天在线视频| 超碰人人摸人人操| www.91色| 中文色婷婷| 亚洲五月综合色播| 亚洲超碰在线| 爆乳熟女一区二区三区爆乳| 欧美日韩二区在线| 婷婷五月综合在线| AV中文在线| 免费视频这里只有精品| 色综合爱综合| 天天 青草 制服丝袜 在线| 五月天丁香啪啪网| 97精品人人A片免费看| 色五月av| 丁香五月欧美激情| 深爱五月天 开心网| www.日本91| AAA级久久久精品| 五月婷婷亚洲| 大香蕉天堂| 亚洲乱码日产精品BD| 日韩久热| 丁香蜜臀黄色婷婷五月天| 日韩欧美四五区| 九热...av| 日韩AC在线免费观看| 思思热精品在线视频| 五月婷婷香| 国产26uuu视频| 色九月婷婷综合| 超级碰碰碰久久网站视频| 五月丁香综合网| 狠狠综合网| 五月天激情中文字幕| 天天爱天天做天天日| 伊人久久大香| 色青五月天| 一本色道久久88加勒比| 色99综合色88| 97人人妻人人艹| 久色| 极品人妻VIDEOSSS人妻 | 久久新| 久久久亚洲成人无码A片| www.夜夜| 少妇大叫太大太粗太爽了A片| 日韩成人精品中文字幕| 99热这里只有精品66| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 天天爽天天摸| 99性视频| 色婷婷精品视频| 五月天亭亭俺也| 国产资源91在线| 五月丁香伊人网| 视色网在线播放| 五月丁香婷婷综合在线| 五月丁香六月欧美综合| 婷婷综合在线观看视频| 99热这里只有免费精品| 日本色天堂| 婷婷五月综激情| 五月色色色| 99综合久久| 色停停香蕉视频| 97碰碰在线观看视频| 五月天婷婷社区| 五月激情天| 五月天成人综合| 九九色婷婷| 天天综合网在线| 能看的AV| 五月婷婷综合色啪首页 | 97精品欧美91久久久久久久| 久操操| 丁香网站| 亚洲精品中文字幕成人片| CAoub青青超碰| 丁香五月婷婷基地| 99性感视频| 五月花综合视频| 激情九九六月激情免费视频| 日韩九区| 1囯产午夜仑鲁鲁| 97色色综合| 热的五码久久精品| 久久久久久性爱视频| 九九无码| 成人.在线日韩| 71在线精品视频一区| 亚洲视频五区| 巴基斯坦粉嫩无码视频| 天天狠狠夜夜狠狠2023| 久久婷婷的综合色丁香五月| 九九热亚洲中文在线观看免费| 五月激情久久综合| 久久久99久久| 亚洲色图日韩网址| 色五月婷婷开心| 思思久久99| 91热爆在线| 色色五月天 亚洲| 九九99九九99| 99热6这里只有精品| 久久久久亚洲AV无码网影音先锋| 极品 少妇 内射| 深爱激情丁香| 国产婷伊人| 一级性感黄色内射视频| AV操操操| 亚洲激情四射色| 婷婷五月天Av| 激情五月婷婷色| 五月丁香人妻| 91人人超碰在线| 狠狠久综合| 色婷婷先锋| 亚洲三A| www.五月天色色.com| 亚洲丁香网| 色五月人妻| 日韩大片艹艹| 激情深爱五月| 免费在线观看av网站| 九九热AV| 狠狠久久婷五月| 色婷婷AV久久| 色色网五月激情| 狠狠爱综合网| 五月天天天操天天爽夜夜操| 婷婷色影院| 欧美日韩国产一区二区| 日韩AV大全| 无码激情AAAAA片-区区| 夜夜夜天天操| 激情综合五月| 色婷婷基地在线| 99a级片| 色五月婷婷影视| 五月婷婷婷自由综合| 综合激情婷婷| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 思思9久久| 青青草性爱视频| 99热大香蕉| 丁香婷婷性久久| 开心激情网五月| 丁香婷婷五月份| 五月婷婷六月丁香激情综合网| 久久综合激情| 九月丁香婷婷综合激情| 99在线精品免费视频| 99色这里| 性生生活大片又黄又| 樱花99视频| 婷婷五月天影院| 激情五月天在线观看色婷婷| 人妻少妇色综合| 激情五月伊人婷婷| 亚洲春色奇米影视| 热99AV网站| 99热伊人综合| 天堂综合久| 激情国产综合| 97色色色色色| 777.色色| 五月婷综合| 五月天桃色深爱网| 91操人视频| 9+1视频网址| 丁香六月婷月91婷月| 中文字幕无码人妻少妇免费视频 | 激情五月天天| 五月天成人综合| 色色色色色色色色色色色色色97| 婷婷视频网| www.xtbsty.cn.com蜜乳AV| 青草性爱视频| 婷婷丁香91综合| 亚洲色情网站| 在线婷婷| 极骚大香蕉伊人| 亚洲婷婷乱乱丁香| 五月停亭六月,六月停亭的英语| 色色婷婷五月| 九色色| 色五月婷婷激情基地| 婷婷的色色五月天| 开心五月婷婷六月丁香| 亚洲AV永久无码影院黑人 | 天天艹| 97人人操| 九九热视频思思| 久久一品区| 丁香六月婷婷| 国产午夜精品久久久观看| 五月丁香六月婷婷久久肏| 久久久婷| 激情www| 日韩色色网| 大香焦A∨| 久久婷五月综合| 激情五月天激情网| 免费在线a| 日韩啪啪网| 天天色综合网1| 九九九日本熟女| 四LLL少妇BBBB槡BBBB| 婷婷金品综合视频| 这里只有精品99视频| 五月丁香久久激情综合| 激情五月综亚网| 午夜日日| 天天干天天日蜜臀av| 伊人五月天| 丁香六月av| 手机在线日韩视频中文字幕| 婷婷六月天| 色99色| 亚洲色频| 久久久精品人妻录| 俺五月| 亚洲成人在线免费| 超碰av天堂| 丁香五月-激情综合| 96精品久久久久久久久| 五月综合无码| 激情五月天色婷婷| 婷婷成人丁香色情基地30| 91色在线| 99热国产婷婷| 人人超碰99| 日日影院 | 久久久婷婷| 亚洲精品99| 婷婷丁香激情五月天色色| 五月天社区| 大香蕉狼人久久| 九九99偷拍视频| 国产成人精品一区二三区熟女在线| 91seav| 99热这里只有精品在线观看| 超碰熟女拍拍| 夜夜夜夜夜骑撸| 日韩久久这里只有精品| 天天操夜夜玩!| 丁香五月婷婷亚洲色图| 色色日韩| 99热成人精品| 91热er| 激情丁香五月婷| 五月天婷婷综合久久| 色综合久久天天综合网| 久久久中文| 欧美色99| 女性自慰系列第五页| 久久五月丁香婷婷| 99精品激情| 久久久久久久五月婷婷六月丁香综合,开心激情综合网 | 激情色色| 五月花婷婷在线精品视频| 91viP在线看| 97碰免费视频在线| 五月丁香怕怕综合| 26UUU亚洲欧美| WWW五月天| www.久久五月天.com| 欧美久久五月婷婷| 五月丁香六月婷婷亚洲| 99热在线免费| 9有码中文| 久久久久久久97| 激情AV| 天天干天天拍| 婷婷五月天综合亚洲| 操人妻AV| 五夜丁香| 日日操夜夜操狠狠操| 五月丁香拍拍激情综合| 99综合色| a在线观看| 五月天狠狠| 欧美日韩中文国产一区发布| 久久涩视频| 色婷婷色和| 午夜九九九九九九九九九九九九九| 天堂久久精品| 五月丁香婷婷啪啪综合网| 十月丁香九月婷婷综合| 五月丁香好婷婷A片网| 五月丁香天堂网| 国产在线aaa片一区二区99| 97碰精品| 五月丁香色情| 天天做天天爱综合| 99热这里只有精品4| 97超碰婷婷五月天| 婷婷色网址| 99热99天堂| 激情久久久| 天天综合亚洲综合| 久久五月婷婷丁香| 大香蕉久久视频久久视频| 丁香五月天激情四射网| 日韩激情婷婷五月天| 国产日韩亚洲欧美在线观看| 久久久免费精彩视频| 天天躁日日躁狠狠躁日日躁2022年5月9日 | 色综合播放| 99在线视频精品| 色五月婷婷、老熟女| 亚洲这里只有精品| 中国女人内射6XXXXX| 激情五月天婷婷色色色色色色色色色色色| 久久这里只有精彩| 色久丁香五| 婷婷丁香六月天| 亚洲 欧洲 国产 伦综合| 丁香五月激情宗合| 五月丁香亭亭| 97碰碰免费.视频| 91九色精品熟女内射| 思思热再线视频| 丝袜大香蕉| 激情影院69| 在线国产精品色| 永久精品| 天啪天啪天啪天啪| 五月丁香直播| 综合网天天| 99热日| 另类视频丁香五月| 少妇高潮呻吟A片免费看软件 | www.色综合| 99热国产这里只有精品| 热99玖玖99玖玖99九九| 玖玖伦理电影| 丁香五月自拍| 天天肏夜夜肏| 色99在线观看| 在线看av| 婷婷狠狠爱| 五月婷婷激情色情网| 丁香激情久久| 日韩av在线电影| 五月婷婷亚洲| 日本在线观看99| 色久婷婷网| 亚洲第一第二网站| 婷婷色播婷婷| 五月丁香福利| 九九九九国产| 天天干狠狠| 五月伊人网| 性爱网五月天| 亚洲AV成人片无码网站| 久久久久久综合88| 日韩综合网络男女香蕉a片| 成人va在线播放| 毛片九九九九九九| 婷婷六月激情| 91色吧网| 久热9| 亚洲婷婷91丁香| 丁香婷婷九月| 久久九色| www.99视频| 激情婷婷内射| 韩国中文字幕91| 亚洲九九在线| 超碰97色| www.henhenl| 国产9色在线/日韩| 婷婷五月激情丁香| 日韩草草草草草草草草草草草草| 粉嫩AV久久一区二区三区| 人妻系列久久久久久久久久久| 丁香在线视频| 六月色国内综合| 亚洲区1| 五月天婷婷7米| 色碰干| 26uuu亚洲| 成人色站,在线视频,看片-SS1AV| 日韩黄在免| 国语精品探花| 久久婷婷五月综合色奶水99啪| 婷婷成人综合| 桃色激情婷婷伊人网| 三年高清大片免费观看国语| 婷婷五月天电影区小说区| 九九99在线| 亚洲1区| 成人久久天天x资源站| 婷婷五月性感| 色吧五月婷婷| 婷婷区日本| 青青草99re| AV在线观看网站| 五月色婷婷亚洲 | 超碰97色| 9l视频自拍9l九色9l成人| 九九五月天| 亚洲国产精品二二三三区 | 99人这里只有精品| 五月天婷婷激情六月久久| 91主播在线| 色伊人婷婷| 婷婷五月天免费小说| 色色色香蕉五月婷| 操操自拍| 我要色综合五月婷婷| 六月婷婷AV| 色婷婷色99国产综合精品| 丁香六月婷婷高清| 成人网在线视频| 能看的av网站| 色欲午夜无码久久久久久张津瑜| 成人短视频在线观看| 亚洲传媒在线观看| 五月丁香啪啪网| 五月丁香婷中文字幕 | 五月婷婷中文字幕| 丁香五月综合福利视频导航| 欧美性爱中文字幕| 久9精品视频在线| 久99综合婷婷| 婷婷 亚洲图片 丁香| 久九九热| 九月丁香婷婷基地| 九月丁香| 亚洲天堂大香蕉| 五月天色视频| 精品无码色| 91视频免费后入强操| 大地9中文在线观看免费高清| 夜夜操夜夜操| 亚洲第一色区| 丁香月五月天婷婷久久| 二色av| 国产av网| 少妇被下春药玩弄A片| 91seav| 五月天 另类图片| 色国产五月| 免费啪啪亚州视频| 中文字幕不卡网站| 五月激情天| 丁香五月另类色婷婷麻豆| 五月婷婷在线播放| 伊人五月人妻精品| 开心五月婷婷六月丁香| www.久久| 久久婷婷五月综合啪| 成人AV片播放| 黄网在线免费| 九久久婷婷| 五月丁香影视| 99热66| jiZZdr| 色色五月婷| 大香蕉久久婷婷| 亚洲热热视频| 噜一噜在线| 色综合激情| 五月丁香六月综合基地| 亚洲色婷婷视频| 丁香五月天激情网| 99热的无码| 思思热精品免费视频| 99热6这里只有精品6| 99热99干| 色噜噜伊人| 婷婷激情五月天7| 亚洲丁香婷婷五月天综合色| 99er这里只有精品| 亚洲乱码w在线观看| 亚洲综合一区二区| 91九色丨国产丨爆乳| 五月丁香av中文| 国产ava| 色5月婷婷| 狠狠色婷婷7777久| 婷婷丁香五月天综合网| 五月天色五月天| 婷婷丁香五月久久| 久久这里有精品视频在线免费观看| 丁香五月天激情小说| 五月天激情子轮| www五月天com| 色啪影院| 九九热视频在线观看| 超碰97在线操| 一区二区你懂的| 综合九九久久| www.天天色综合| 五月色欧洲| 情趣视频66| 欧美在线视频免费播放| 色婷久久| 99色在线观看视频者| www.99热这里精品 | 热99.com婷婷| 亚洲天堂爱爱| 五月激情另类| 激情五月影院| 五月激情小说| 五月丁香 狠狠爱| 婷婷五月中文字幕| 激情综合4月| 99人人操人人摸| 99色热视频| 五月丁香六月婷婷色日| 99在线观看| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 久久久大香蕉| 国产成人AV| 婷婷久久在线| 丁香婷婷丁香五月欧美人| 爱婷婷五月| 色播婷婷大香蕉| 国产欧美熟妇另类久久久 | 色六月婷婷| www.久久爱| 久草婷妨| 久久天天天| 免费观看的婷婷五月视频在线| 婷婷91| 天堂二区| 亚洲午夜精品久久久久久人妖| 五月婷婷婷自由综合| 婷婷五月综合久久中文字幕| Blackedraw视频一区二区| 日韩在线一级| 天天做天天双| 人人妻人人澡| 五月婷婷欧洲| 日 日干 日日做| 1区2区视频| 一本色道久久综合狠狠躁一二三| 91碰视频| 五月激情综合网| 鲁鲁色五月| 《诡秘之主》在线观看| 天天干天天干天天操| 久久A极片| 五月色色网| 亚亚州久久高潮| 99亚洲精品| 久久婷婷内射| 99久久大片| 九九综合久久| 九九伊人网| 五月激情影院| 99在线综合视频| 久久精品小视频| 五月婷婷六月天| 97人妻碰碰碰久久香蕉| 丁香五月婷婷基地| 色天使色综合| 五月丁香无码| 97色五月婷婷在线| 超碰AAAAAAV| 夜夜谢天天干| 婷婷在线播放av| 一起草无码| 2016日日夜夜操| 婷婷五月天激情基地| 久9久视频精品| 色五月无码| 成年人丁香五月| 99精品视频在线观看免费| 久久天堂网| 99黄色在线视频精品熟女| 天天爱天天吃狠天天透| 丁香六月激情毛片| 女高怪谈在线观看| 婷婷五月综合色中文字幕| 人人操人人爱丁香五月| 婷婷伊人综合| 五月天色婷婷成人| 欧美久久久久久久久中文字幕| 久久99这里只有精品视频| 最近中文字幕2019视频1| 美女五月天婷婷| 久久精品99国产精品日本| 激情综合婷婷五月| 成人做爰A片免费看视频| 梁铮版蜘蛛女在线观看| 国产精品久久久爽爽爽麻豆色哟哟| 思思99精品视频在线观看| 极品人妻VIDEOSSS人妻| 亚洲亚洲激情| 欧美天堂婷婷日韩| 久久99热久久99精品| 2015WWW永久免费观看播放| 五月婷婷丁香婷婷| 97操碰免费视频| 婷婷五月天网| 久久人操-久草婷婷-成人AV| 96精品久久久久久久久| 91打屁股视频网站| 夜夜谢天天干| 狠狠色婷婷在线| 亚洲成人无码专区| 亚洲激情综合免费| 五月婷婷亚洲| 亚洲综合另类| 韩国三级五月天婷婷。| 婷婷热色| 99热99色| 日日鲁鲁夜夜爽爽| 美国不卡视频| 丁香婷婷激情六月五月开心| 丁香色五月直播| 国产欧美熟妇另类久久久| 国产午夜精品久久久观看| 99视频免费播放| 久碰婷婷视频| 日韩超碰在线| 思思9久久| 五月天最新网| 色婷婷丁香| 天天干天天日蜜臀av| 五月婷婷婷丁香播| 天天搞夜夜六| 热久久这里只有三级视频| 中文字幕在线播放视频| 激情婷婷丁香色情五月天| 婷婷五月综合色中文字幕| 99黄色性生活| 色综合99无码 | 天天综合网亚洲网站| 天堂中文国产| 少妇人妻丰满做爰XXX| 丁香五月婷婷五月天| 五月婷俺去也| 超碰精品国产首页| 超碰人人草| 深爱五月天| 婷婷亚洲五月丁香综合在线| 五月婷六月| 日逼影音先锋男人AV资源站| 国产在线中文字幕| 亚洲性爱干干| 五月丁香亭亭操逼| 91色色五月天| 超碰激情网| 婷婷五月天成人小说| 少妇高潮一区二区三区99欧美| 99热在线中出| 中文AV网| 欧美在线视频免费播放| 婷婷亚洲丁香五月| 99精品国产在热久久| 日日夜夜亚洲一区| 亚洲乱码日产精品BD| www.色9| 伊人啪啪网| 激情五月丁香色婷婷| 九九热AV| 91日视频| 婷婷亚洲久久| 天天综合天综合久久网| 婷婷五月天综合网| 中文字幕视频在线播放| 久久婷婷视频| 99色热视频| 九九精品这里只有| 毛片蕉地一二| 欧美日本不卡黄色片| 嫩草AV久久伊人妇女超级A| 久久久久激情| 影视av久久久噜噜噜噜噜三级| 五月六月激情| 亚洲色色精品| 亚洲AV激情五月综合网| 丁香婷婷六月婷婷六月婷婷六月婷婷| 欧美日韩五月婷婷| yazhochengrenavwang| 天堂美国久久| 九九九九九九热| 被强行糟蹋的女人A片| 国产99热| 色播五月天激情| 天天色天天| 99热99色| 激情五月天视频| 色婷婷综合影院| z色五月播播久久| 噜噜色婷婷| 久久人妻伊人| 丁香五月婷婷香| 丁香婷婷深情五月亚洲| 五月丁香激情综合网| 91色情播放| 激情五月天婷婷在线网址发给我| 天天爽天天日天天舔| 深爱激情丁香| 丁香婷婷激情五月天无毒不卡蜜桃| 五月婷婷六月丁香在线| 久久五月婷天天干| 久热这里只有精品视频免费观看| VfJxEwPH| jiZZdr| 噜噜干日本| 久久五月视频| 色婷婷成人| 9色在线| 中国女人做爰A片| 变态 另类 在线| 九九久久久综合| 色婷婷五月成人网| 中文字幕精品在线观看| www久| 日日夜夜狠狠婷婷色| 五月天激情小说电影| 我要射综合| 丁香婷婷噜噜| 91人操人人人操人| 欧美日韩aaa| 国产毛片精品一区二区色欲黄A片| 日韩色色色色| 亚洲国产精品VA在线看黑人| 国产女生爱爱AA| 香蕉狠狠爱视频| 99re这里只有精品99| www.狠狠色.com| 婷婷激情五月天在线| 天天综合色丁香| 丁香六月综合| 26uuu成人网| 91久久九久久九久久九久久九久久| 99在线视频精品| 日操五月婷| 久久婷婷成人综合色怡春院| 超碰精品在线| 亚洲国产精品二二三三区| 天综合日日夜综合7799| 亚洲啪视频| 日韩人妻操逼视频| 一区二区免费看| 日本精品人妻无码77777| 97伊人综合婷婷| 激情图片亚洲| 婷婷五月天在线一区| 97在线综合| A短视频免费在线观看| 天天操精品| 日日日日做夜夜夜夜无码| www.日日夜夜.com| 深爱激情五月网| 日本在线wwww| 久久五月天激情婷婷| 天天色视频| 婷婷五月天丁香| 亚洲色图81p| 四虎婷婷五月天| 丁香婷婷激情| 狠狠ri| 超碰在线人妻| 俺去也综合| 99噜噜噜在线播放| 日本精品99网站| 天天摸人人摸| 五月在线| 熟女91九色| 丁香六月成人网| 成人在线99| 91操屁股| 五月婷婷六月婷| 中文字幕网伦射乱中文| 五月天婷婷色色网| 九九精品视频在线6| 色五月 五月婷婷| 综合99综合久久久久久久| 色五月天天| 五月丁香婷婷综合网| 99 福利 导航| 色色色激情网| 天天综合色丁香| 五月开心网| 久久五月天丁香花| 午夜激情五月| 婷婷五月天激情网| 超碰人人在线| 色噜噜狠噜噜视频| 久久九⑨| 亚洲综合色网站| 婷婷啪啪| 天天肏夜夜肏| 五月丁香花视频| 婷婷九月丁香天堂丁香天堂| WWW五月婷婷| 青青草成人网| 久久99免费视屏| 亚洲AV综合在线观看| 操人久久| 婷婷五月天在线观看| 99热热热国产超碰| 免费视频99| 日本在线观看aaa 99| 成人综合伍月天| 婷婷五月天天| 综合六月激情婷婷| 五月婷婷色色爱| 欧美色小说婷婷| 精品一区久热| 婷婷六月激情丁香| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 色婷婷五月婷婷五月婷婷五月| 日韩综合久| 亚洲色婷婷五月天| 五月丁香六月玩女人| 天天干天天干天天干| 久久五月天视频| 97操碰视频| 狠狠久久婷五月| 亚洲成人网在线观看| 色九月婷婷丁香| 99热在线成人网站| 艹天天射| 超碰av在线| 五月婷婷六月丁香| 狠狠干狠狠干| 色五月天在线| 一区=区操屄高清大全av| 人人视频人人干人人做| 99热热热天天人人人超超碰| 亚洲成人在线五月天| 天堂爱啪啪| 日日噜狠狠| 五月天激情小说电影| 26uuu成人网| 激情五月丁香亭亭| 五月婷网| 丁香五月色情| 激情色视频| 色九月欧美| 香蕉久久国产AV一区二区| 亚洲综合激| 99综合五月免费视频色婷婷| 久久综合五月天| 玖玖在线视频福利| 亚洲精品一区无码A片| 色婷婷色五月天| 91热爆在线| 欧美黑人巨大性生话| 欧美成人色婷婷| 亚洲成人AV在线观看| 熟妇人妻中文字幕无码老熟妇| 日韩操| 五月婷婷婷综合网| 五月丁香影视| 亚洲色99| 午夜丁香| 99碰碰碰| 色丁香久久| 久久久人妻门| 久久婷婷网站| 97很鲁在线视频| 五月丁香激情婷婷| 激情婷婷另类| 五月天婷婷伊人| 51精品国自产在线| 逼里香不卡| 99超级碰免费视频| 67194中文在线| 99久久性爱| 国产探花AV在线| 日本精品干| 爆乳熟妇一区二区三区四区| 久久爱婷婷| www色婷婷久久综合久色| 九热电影av| 99久久9| 五月婷婷综合在线| 深爱五月亚洲| 人妻AV在线观看| 9色小视频在线观看| 996热| 五月丁香婷婷综合网| 五月色丁香国产在线视频| 久久影视婷婷五月| 国产午夜精品一区二区三区四区 | 97干网站| 狠狠色婷婷777| 国产精品黑丝| 婷婷五月天网| 国产成人亚洲综合A∨婷婷| 六月香五月婷| 久久99热这里只有| 日韩大片艹艹| 日韩不卡123| 国产亚洲成AV人片在线观黄桃 | 超碰av在线| 五月丁香婷婷综合| 久久视频九九视频| 7月婷婷六月丁香| 99热伊人综合| 拍真实国产伦偷精品| 午夜美女人啪最红院| 婷久久| 丁香久月| 日韩精品无码AV| 丁香久久在线| 国产日韩欧美| 夜夜爽天天爽| 嫩草视频在线观看| 99啪99| 九九无码| 五月婷婷六月丁香综合| 午夜 外网 精品 在线| 天天做天天要天天爱| www.婷婷.com| 六月婷在线| 亚洲欧美国产A片免费观看| 少妇伦子伦精品无吗| 欧美在线干| 激情五月天综合| 国产高清精品色| 丁香五月成人在线| 五月丁香啪啪啪| 久久婷婷精品| 性爱AV天堂| 99精品久久久久久久久| 久久婷婷五月综合色区| 五月丁香本色在线观看| 第九色区av天堂| 69精品人人人人| 99热免费| 色五月婷婷网| 亚洲综合婷婷| 丁香婷婷六月天| 天堂久久精品| 六月婷婷中文字幕| 色色色无码| 青青福利网| 天天干天天干天天干天天干天天干天天干天天| 热99热久| 精品一二三区久久AAA片| 婷婷五月花| 色五月激情五月| AA片在线观看视频在线播放| 天天久| 九九免费精品在线视频| 激情综合网五月婷婷| 久色网址| 激情 五月 婷婷 丁香| 天天玩夜夜操天天爽| 天天做天天爰天天爽天天无遮挡| 丁香成人综合| 亚洲、热| 视色综合| 天天干天天操天天射| 色老久久| 日本色狠狠| 中文字幕在线资源| 99热这里是精品| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 婷婷五月在线观看| 怡红院AV亚洲一区二区三区H| 日本美女97在线视频| 91超碰人人操| 色欲AVV| 激情综合色图| 五月婷婷无码| 五月天婷婷在线观看精品男人| 五月天堂在线| 久久激情五月婷婷| 99亚洲精品视频| 嫩草AV久久伊人妇女超级A| 玖玖色综合色| 97色在线观看视频| 五月婷婷伦理| 丁香五月综合网亚洲综合欧美狠狠| 俺去也五月| 深爱五月激情| site:pnnrt.com| 日韩av手机在线观看| 91美女啪啪| 99热精品在线| 五月婷婷丁香大陆免费| 五月婷婷五月| 国产欧洲欧洲精品久久| 综合色色五月| 99精品久久久| 99热精国产这里只有精品| 深爱激情av| 影音先锋色婷婷| 七月丁香婷婷 色色| 97久久久| 九九热视频免费| 色色色色网站| www.激情com| 九九热只有这里精品| 色噜噜狠狠插综合| 超碰AV在线| 人人干女人| 婷婷五月天亚洲色| 久久久无码精品成人A片小说 | 人人操人av| 成人在线不卡| 婷婷色婷婷| 国产成人精品亚洲线观看| 岛国操B不卡在线| 婷婷丁香色五月天久久88| 色99在线| 在线超碰免费| 激情欧美婷婷| 26uuu日韩| 色婷婷丁香女女| 26UUU| 亚洲人人操| 免费在线观看AV网站| 婷婷丁香色五月亚洲| 开心激情网在线| 日韩av变天就操逼不卡区| 91久久久久久久| 激情五月婷婷丁香综合网| 丁香五月天电影| 国产脫衣舞一区二区三区| 丁香五月亚综合图片| 丁香激情五月| 色色激情网| 久久亚洲天堂| 1024在线观看免费视频| 激情色中文| 久久婷综合| 六月婷久久| 婷婷丁香色情| www.色99| 大香蕉五月天婷婷丁香91| 色色AV色色色东莞| 思思9久久| 五月人妻婷婷| 99精品视频免费观看| 婷婷九月激情| 天天干天天做| 色色色色区| 激情五月,激情综合网| 人妻久久久| 激情五月丁香婷婷夜夜操| 九色视频91| 91婷婷在线| 182TV大香蕉| 超碰人人91| 97欧美在线| 91久久五月天| 国产美女视频久| 97人妻碰碰碰碰碰久久久久久| 99热99热99热99热| 人人操婷婷| 日日操,夜夜爽| 99精彩视频网站在线| 综合热无码| 九月丁香八月婷婷加勒比| 丁香婷婷六月天| 国产 亚洲 在线| 久久婷婷伊人| 这里只有精品视频在线| 五月婷婷中字在线|