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

ARTICLE DETAIL

資訊詳情

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

三臺虛擬機(jī)實(shí)戰(zhàn)Hadoop:從WordCount跑通到故障調(diào)試

三臺虛擬機(jī)實(shí)戰(zhàn)Hadoop:從WordCount跑通到故障調(diào)試 1. 這不是“分布式”概念課而是我親手搭起三臺虛擬機(jī)跑通WordCount的真實(shí)記錄很多人第一次看到“分布式計(jì)算”四個(gè)字下意識會想到教科書里那張畫著幾臺服務(wù)器、中間連著閃電符號的示意圖——看起來很酷但離手能摸到的代碼差了整整一個(gè)調(diào)試器的距離。我也不例外。去年接手模擬項(xiàng)目X的后端數(shù)據(jù)清洗模塊時(shí)原方案用單機(jī)Python腳本處理20GB日志跑一次要47分鐘而業(yè)務(wù)方要求“T0實(shí)時(shí)反饋”。那天晚上我盯著任務(wù)監(jiān)控面板上緩慢爬升的CPU曲線突然意識到所謂“分布式”從來不是PPT里的架構(gòu)圖而是當(dāng)你按下回車鍵后三臺機(jī)器同時(shí)亮起、日志滾動(dòng)、結(jié)果秒出的那一聲“叮”。這本學(xué)習(xí)筆記就是從那個(gè)“?!甭曢_始的。它不講CAP定理的哲學(xué)思辨不列Hadoop生態(tài)的全家桶清單只記錄我如何從零配置三臺CentOS虛擬機(jī)讓它們真正協(xié)作完成一個(gè)可驗(yàn)證、可打斷、可重跑的WordCount任務(wù)——包括在第二臺節(jié)點(diǎn)意外斷電后如何不重啟整個(gè)集群就恢復(fù)計(jì)算。關(guān)鍵詞不是“高可用”或“彈性伸縮”而是可觸摸的進(jìn)程、可復(fù)現(xiàn)的日志路徑、可修改的配置行號。如果你正卡在“看了十篇教程還是不會啟動(dòng)NameNode”的階段或者想確認(rèn)“YARN的ApplicationMaster到底在哪個(gè)容器里跑”這篇筆記就是為你寫的。它適合兩類人一類是剛接觸分布式系統(tǒng)、需要把抽象概念錨定到具體文件和命令的初學(xué)者另一類是已有開發(fā)經(jīng)驗(yàn)、但缺乏真實(shí)集群運(yùn)維手感的工程師——畢竟所有分布式框架的“靈魂”都藏在/etc/hadoop/conf/core-site.xml第17行那個(gè)fs.defaultFS的值里。2. 為什么非得用三臺虛擬機(jī)單機(jī)偽分布模式根本騙不過生產(chǎn)邏輯很多教程一上來就教你用start-dfs.sh啟動(dòng)偽分布式模式理由很充分“省資源”“快上手”“適合學(xué)習(xí)”。我試過三次每次都在第三天崩潰。不是因?yàn)榧夹g(shù)難度而是因?yàn)閭畏植紡氐籽谏w了分布式系統(tǒng)最本質(zhì)的“故障面”——網(wǎng)絡(luò)分區(qū)、節(jié)點(diǎn)失聯(lián)、時(shí)鐘漂移。在單機(jī)上NameNode和DataNode共享同一塊內(nèi)存hdfs dfs -ls /永遠(yuǎn)返回成功但當(dāng)真實(shí)集群中某臺DataNode因磁盤滿而心跳超時(shí)NameNode的/var/log/hadoop-hdfs/hadoop-hdfs-namenode-*.log里會出現(xiàn)連續(xù)37行BLOCK* processReport: node X.X.X.X:9866 is not in the list of live nodes而偽分布環(huán)境里你永遠(yuǎn)看不到這37行。所以這次我堅(jiān)持用三臺獨(dú)立虛擬機(jī)1主2從全部基于CentOS 7.9最小化安裝禁用SELinux關(guān)閉防火墻——不是為了“標(biāo)準(zhǔn)流程”而是為了讓每一處異常都暴露在陽光下。主節(jié)點(diǎn)node1承擔(dān)NameNode和ResourceManager角色從節(jié)點(diǎn)node2、node3各運(yùn)行DataNode和NodeManager。關(guān)鍵決策點(diǎn)在于網(wǎng)絡(luò)配置三臺機(jī)器必須在同一子網(wǎng)我設(shè)為192.168.56.0/24且禁用DHCP全部手動(dòng)指定靜態(tài)IP。原因很簡單YARN的Container日志默認(rèn)通過HTTP服務(wù)暴露其URL由NodeManager上報(bào)的主機(jī)名解析而來。如果某臺機(jī)器用DHCP獲取IP重啟后主機(jī)名解析可能指向錯(cuò)誤地址導(dǎo)致ResourceManager頁面顯示“UNHEALTHY”卻查不到具體原因。提示不要用localhost或127.0.0.1作為任何節(jié)點(diǎn)的host配置。我在node2的/etc/hosts里曾寫過127.0.0.1 node2結(jié)果DataNode啟動(dòng)后向NameNode注冊的地址是127.0.0.1:9866NameNode在/var/log/hadoop-hdfs/hadoop-hdfs-namenode-node1.log里瘋狂報(bào)錯(cuò)Invalid datanode name: 127.0.0.1:9866。修正方法是刪除該行改為192.168.56.102 node2對應(yīng)實(shí)際IP。更隱蔽的坑在SSH免密登錄。Hadoop腳本依賴ssh node2直接執(zhí)行命令但OpenSSH 8.8默認(rèn)禁用ssh-rsa簽名算法。如果你用新版本OpenSSH生成密鑰ssh-copy-id會失敗start-dfs.sh執(zhí)行到starting datanodes時(shí)卡住。解決方案不是降級OpenSSH而是生成密鑰時(shí)明確指定算法ssh-keygen -t ecdsa -b 256 -f ~/.ssh/id_ecdsa再用ssh-copy-id -i ~/.ssh/id_ecdsa.pub node2。這個(gè)細(xì)節(jié)在官方文檔里藏得很深但它是你能否看到第一行DataNode日志的關(guān)鍵。3. HDFS核心配置的七處“魔鬼細(xì)節(jié)”從fs.defaultFS到dfs.namenode.name.dirHDFS的配置文件看似只有core-site.xml和hdfs-site.xml兩份但真正決定集群生死的是其中七處參數(shù)的精確取值。我逐行對比了三版配置官方默認(rèn)、某高校實(shí)驗(yàn)手冊、某云廠商模板發(fā)現(xiàn)它們在以下位置存在致命差異3.1 fs.defaultFS協(xié)議頭必須帶端口且與NameNode綁定端口嚴(yán)格一致在core-site.xml中property namefs.defaultFS/name valuehdfs://node1:9000/value /property注意9000不是隨意寫的。它必須等于hdfs-site.xml中dfs.namenode.rpc-address的端口值默認(rèn)9000。如果這里寫成hdfs://node1缺端口hadoop fs -ls /會報(bào)錯(cuò)Call From node1/192.168.56.101 to node1:8020 failed on connection exception——因?yàn)榭蛻舳四J(rèn)嘗試8020端口而NameNode監(jiān)聽的是9000。這個(gè)錯(cuò)誤信息極具迷惑性它把問題指向了“連接異?!睂?shí)則根源是配置不匹配。3.2 dfs.namenode.name.dir絕對路徑必須屬主為hdfs且磁盤剩余空間≥10GBproperty namedfs.namenode.name.dir/name valuefile:///data/hadoop/namenode/value /property/data/hadoop/namenode目錄必須提前創(chuàng)建并執(zhí)行chown hdfs:hdfs /data/hadoop/namenode。更重要的是該目錄所在磁盤的剩余空間不能低于10GB。NameNode啟動(dòng)時(shí)會在該目錄下生成fsimage_0000000000000000000等元數(shù)據(jù)文件首次格式化后約占用200MB但隨著文件數(shù)量增長EditLog會持續(xù)追加。我曾在一塊僅剩3GB空間的磁盤上部署集群運(yùn)行兩周后NameNode自動(dòng)退出日志顯示No space left on device而df -h卻顯示還有1.2GB——這是因?yàn)長inux ext4文件系統(tǒng)保留了5%的root空間普通用戶hdfs無法使用。解決方案是sudo tune2fs -m 1 /dev/sdb1將保留空間降至1%或直接換更大磁盤。3.3 dfs.datanode.data.dir多路徑配置必須用逗號分隔且各路徑權(quán)限獨(dú)立校驗(yàn)property namedfs.datanode.data.dir/name valuefile:///data/hadoop/datanode1,file:///data/hadoop/datanode2/value /propertyDataNode會輪詢寫入這兩個(gè)路徑。但每個(gè)路徑都必須單獨(dú)執(zhí)行chown hdfs:hdfs且/data/hadoop/datanode1和/data/hadoop/datanode2不能是同一磁盤的軟鏈接——HDFS會檢測inode發(fā)現(xiàn)相同則拒絕啟動(dòng)。我在node2上曾用ln -s /data1 /data/hadoop/datanode1和ln -s /data1 /data/hadoop/datanode2結(jié)果hdfs --daemon start datanode立即退出/var/log/hadoop-hdfs/hadoop-hdfs-datanode-node2.log里只有一行ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: Invalid configuration: multiple directories point to the same filesystem。3.4 dfs.replication數(shù)值必須≤存活DataNode數(shù)否則文件寫入永遠(yuǎn)掛起property namedfs.replication/name value3/value /property這個(gè)值常被誤解為“理想副本數(shù)”。實(shí)際上它是HDFS客戶端發(fā)起寫請求時(shí)的強(qiáng)制要求。當(dāng)集群只有2臺DataNodenode2、node3時(shí)若設(shè)為3執(zhí)行hadoop fs -put test.txt /input/后命令會卡住不動(dòng)jps顯示Client進(jìn)程仍在運(yùn)行/var/log/hadoop-hdfs/hadoop-hdfs-datanode-node2.log里反復(fù)出現(xiàn)Waiting for 1 more nodes to join。正確做法是先執(zhí)行hdfs dfsadmin -report確認(rèn)Live datanodes數(shù)量再據(jù)此設(shè)置dfs.replication。生產(chǎn)環(huán)境通常設(shè)為3但學(xué)習(xí)環(huán)境建議從2起步。3.5 dfs.namenode.handler.count線程數(shù)不足會導(dǎo)致RPC隊(duì)列積壓表現(xiàn)為主節(jié)點(diǎn)假死property namedfs.namenode.handler.count/name value10/value /propertyNameNode處理客戶端RPC請求的線程池大小。默認(rèn)值10在單機(jī)偽分布夠用但在三節(jié)點(diǎn)集群中當(dāng)同時(shí)運(yùn)行MapReduce作業(yè)和hdfs dfs -ls命令時(shí)線程池會迅速耗盡?,F(xiàn)象是hdfs dfs -ls /返回超時(shí)但jps顯示NameNode進(jìn)程正常netstat -tuln | grep 9000顯示端口監(jiān)聽中。此時(shí)查看/proc/$(pgrep -f NameNode)/status中的Threads:字段若長期10基本可判定此參數(shù)過小。我最終設(shè)為25公式是max(20, 2 × DataNode數(shù)量)。3.6 dfs.client.use.datanode.hostname跨網(wǎng)絡(luò)調(diào)試時(shí)必須設(shè)為trueproperty namedfs.client.use.datanode.hostname/name valuetrue/value /property此參數(shù)控制客戶端連接DataNode時(shí)使用主機(jī)名true還是IPfalse。在虛擬機(jī)環(huán)境中若設(shè)為false默認(rèn)客戶端會嘗試用DataNode上報(bào)的IP如192.168.56.102直連這通常沒問題但當(dāng)節(jié)點(diǎn)間存在NAT或端口映射時(shí)該IP可能不可達(dá)。設(shè)為true后客戶端通過DNS解析主機(jī)名再經(jīng)/etc/hosts映射到正確IP。這是解決“DataNode已啟動(dòng)但NameNode報(bào)告‘no live nodes’”的關(guān)鍵開關(guān)。3.7 dfs.permissions.enabled學(xué)習(xí)階段務(wù)必設(shè)為falseproperty namedfs.permissions.enabled/name valuefalse/value /propertyHDFS的權(quán)限檢查默認(rèn)開啟。在學(xué)習(xí)環(huán)境中它會引發(fā)大量Permission denied: userxxx, accessWRITE, inode/input:hdfs:hdfs:drwxr-xr-x錯(cuò)誤。關(guān)閉后所有操作均繞過權(quán)限校驗(yàn)讓你聚焦于數(shù)據(jù)流而非ACL配置。生產(chǎn)環(huán)境必須開啟但學(xué)習(xí)筆記的第一周請勇敢地把它設(shè)為false。4. YARN資源調(diào)度的“心跳陷阱”從yarn.resourcemanager.hostname到container-executor.cfg如果說HDFS是分布式存儲的骨架YARN就是讓計(jì)算在骨架上奔跑的肌肉。但YARN的配置比HDFS更易踩坑因?yàn)樗墓收贤槐憩F(xiàn)為“服務(wù)啟動(dòng)失敗”而是“作業(yè)提交成功卻永不運(yùn)行”。我花了兩天時(shí)間才定位到問題根源YARN的資源調(diào)度依賴一套精密的“心跳-響應(yīng)”機(jī)制而其中三個(gè)配置項(xiàng)的微小偏差足以讓ApplicationMaster在啟動(dòng)瞬間就崩潰。4.1 yarn.resourcemanager.hostname必須指向主節(jié)點(diǎn)且與/etc/hosts解析一致在yarn-site.xml中property nameyarn.resourcemanager.hostname/name valuenode1/value /property這個(gè)值不是隨便寫的主機(jī)名。ResourceManager會將其拼接為http://node1:8088作為Web UI地址更重要的是NodeManager向其注冊時(shí)會用此主機(jī)名構(gòu)造回調(diào)URL。如果/etc/hosts里沒有192.168.56.101 node1這一行NodeManager注冊時(shí)會解析node1為127.0.0.1導(dǎo)致ResourceManager收到的注冊地址是http://127.0.0.1:8042后續(xù)所有Container日志都無法通過該地址訪問?,F(xiàn)象是yarn node -list顯示RUNNING但點(diǎn)擊Web UI的節(jié)點(diǎn)鏈接跳轉(zhuǎn)到http://127.0.0.1:8042/node并報(bào)404。解決方案是確保/etc/hosts中node1解析到主節(jié)點(diǎn)真實(shí)IP192.168.56.101且yarn.resourcemanager.hostname值與之完全一致。4.2 yarn.nodemanager.resource.memory-mb數(shù)值必須≤物理內(nèi)存的80%且為1024整數(shù)倍property nameyarn.nodemanager.resource.memory-mb/name value4096/value /propertyNodeManager向ResourceManager上報(bào)的“可用內(nèi)存”。若設(shè)為5000MB而物理內(nèi)存僅4GBNodeManager啟動(dòng)時(shí)會因Cannot allocate memory失敗。更隱蔽的問題是該值必須是1024的整數(shù)倍。我曾設(shè)為4000yarn-daemon.sh start nodemanager無報(bào)錯(cuò)但yarn node -list顯示UNHEALTHY日志里有Invalid resource request: memory4000, must be multiple of 1024。計(jì)算公式是min(物理內(nèi)存×0.8, 1024×n)其中n為整數(shù)。對于4GB內(nèi)存虛擬機(jī)推薦值為30723GB或40964GB。4.3 yarn.nodemanager.env-whitelistJava環(huán)境變量必須顯式聲明property nameyarn.nodemanager.env-whitelist/name valueJAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME/value /property這是YARN最反直覺的配置。Container啟動(dòng)時(shí)NodeManager會清空所有環(huán)境變量僅保留env-whitelist中列出的變量。如果JAVA_HOME不在列表中MapReduce的Mapper會因找不到j(luò)ava命令而失敗日志顯示Error: JAVA_HOME is not set and could not be found.。即使你在~/.bashrc里設(shè)置了export JAVA_HOME/usr/lib/jvm/java-1.8.0-openjdk也必須在此處顯式添加。我曾漏掉HADOOP_CONF_DIR導(dǎo)致Container讀取不到core-site.xml報(bào)錯(cuò)java.net.UnknownHostException: node1。4.4 container-executor.cfg安全配置的“最后一道門”YARN默認(rèn)使用DefaultContainerExecutor但生產(chǎn)環(huán)境要求LinuxContainerExecutor以實(shí)現(xiàn)資源隔離。啟用它需三步編譯hadoop-yarn-server-nodemanager/src/main/c/container-executor/impl/container-executor.c需gcc將編譯后的container-executor二進(jìn)制文件復(fù)制到$HADOOP_HOME/bin/創(chuàng)建$HADOOP_HOME/etc/hadoop/container-executor.cfg內(nèi)容為yarn.nodemanager.linux-container-executor.groupyarn banned.usershbase,yarn,mapred,bin min.user.id1000關(guān)鍵點(diǎn)在于yarn.nodemanager.linux-container-executor.group必須與NodeManager進(jìn)程的組名一致。執(zhí)行id -gn確認(rèn)當(dāng)前用戶組若為hadoop則此處必須寫hadoop。否則yarn-daemon.sh start nodemanager會報(bào)錯(cuò)Failed to initialize container executor: java.io.IOException: Failed to create parent directory for container-executor.cfg。這個(gè)錯(cuò)誤信息完全誤導(dǎo)人實(shí)際是組權(quán)限校驗(yàn)失敗。4.5 yarn.scheduler.maximum-allocation-mb影響MapReduce并行度的核心閾值property nameyarn.scheduler.maximum-allocation-mb/name value4096/value /propertyResourceManager允許單個(gè)Container申請的最大內(nèi)存。MapReduce的Mapper/Reducer內(nèi)存由mapreduce.map.memory.mb和mapreduce.reduce.memory.mb控制但這兩個(gè)值不能超過maximum-allocation-mb。如果設(shè)為2048而mapreduce.map.memory.mb設(shè)為3072則Mapper永遠(yuǎn)無法啟動(dòng)日志顯示Requested container memory 3072 exceeds maximum allowed 2048。計(jì)算原則是maximum-allocation-mb ≥ max(map.memory.mb, reduce.memory.mb)。我設(shè)為4096以便后續(xù)測試不同內(nèi)存配置。4.6 yarn.log-aggregation-enable開啟后日志不再散落各節(jié)點(diǎn)property nameyarn.log-aggregation-enable/name valuetrue/value /property默認(rèn)false意味著每個(gè)Container的日志都保存在對應(yīng)NodeManager的本地磁盤$YARN_LOG_DIR/userlogs。作業(yè)結(jié)束后日志隨Container銷毀而消失。設(shè)為true后日志自動(dòng)上傳至HDFS的/tmp/logs目錄可通過yarn logs -applicationId application_1234567890123_0001集中查看。這是調(diào)試MapReduce作業(yè)的必備開關(guān)否則你只能SSH到每臺從節(jié)點(diǎn)去翻/var/log/hadoop-yarn/。4.7 yarn.nodemanager.pmem-check-enabled與yarn.nodemanager.vmem-check-enabled學(xué)習(xí)階段必須關(guān)閉property nameyarn.nodemanager.pmem-check-enabled/name valuefalse/value /property property nameyarn.nodemanager.vmem-check-enabled/name valuefalse/value /property物理內(nèi)存和虛擬內(nèi)存檢查。開啟后NodeManager會監(jiān)控Container內(nèi)存使用超限則殺進(jìn)程。但在虛擬機(jī)環(huán)境下內(nèi)存統(tǒng)計(jì)常有偏差導(dǎo)致正常作業(yè)被誤殺。關(guān)閉后YARN僅依賴memory-mb配置進(jìn)行資源分配行為更可預(yù)測。生產(chǎn)環(huán)境應(yīng)開啟并調(diào)優(yōu)閾值但學(xué)習(xí)筆記的前五次作業(yè)請堅(jiān)定地設(shè)為false。5. WordCount實(shí)戰(zhàn)從hadoop jar到日志追蹤的完整鏈路拆解現(xiàn)在所有配置就緒我們來運(yùn)行那個(gè)經(jīng)典的WordCount。但這次我們不滿足于“看到結(jié)果”而是要跟蹤每一個(gè)字節(jié)從輸入到輸出的完整旅程——包括NameNode如何分配Block、NodeManager如何拉起JVM、ApplicationMaster如何協(xié)調(diào)Mapper。5.1 準(zhǔn)備輸入數(shù)據(jù)用shell命令生成可驗(yàn)證的文本避免使用網(wǎng)上下載的隨機(jī)文本自己生成可控?cái)?shù)據(jù)# 在node1上執(zhí)行 mkdir -p /tmp/wordcount-input for i in {1..10}; do echo hello world hello hadoop /tmp/wordcount-input/input$i.txt echo hadoop mapreduce yarn /tmp/wordcount-input/input$i.txt done hadoop fs -mkdir -p /input hadoop fs -put /tmp/wordcount-input/* /input/執(zhí)行后hadoop fs -ls /input/應(yīng)顯示10個(gè)文件hadoop fs -du -s /input/顯示總大小約2KB。小數(shù)據(jù)量便于快速驗(yàn)證且能清晰看到HDFS的Block分配邏輯。5.2 提交作業(yè)理解hadoop jar命令背后的三次握手hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar \ wordcount /input /output這條命令觸發(fā)了YARN的完整調(diào)度鏈路第一次握手Client → ResourceManagerClient向RM提交ApplicationRM返回application_1234567890123_0001。此時(shí)yarn application -list可見狀態(tài)為ACCEPTED。第二次握手RM → NodeManagerRM為ApplicationMaster分配Container在node1上啟動(dòng)AM進(jìn)程。jps在node1上會新增ApplicationMaster進(jìn)程。第三次握手AM → NodeManagerAM向RM申請Mapper ContainerRM分配后AM通知node2和node3的NodeManager啟動(dòng)Mapper。jps在node2/node3上出現(xiàn)YarnChild進(jìn)程。5.3 追蹤Mapper執(zhí)行從Container日志定位代碼行作業(yè)運(yùn)行時(shí)打開http://node1:8088/cluster/app/application_1234567890123_0001點(diǎn)擊Logs鏈接。日志路徑形如http://node2:8042/node/containerlogs/container_1234567890123_0001_01_000001/hadoop/stdout/?start0。stdout里會打印INFO mapreduce.Job: Running job: job_1234567890123_0001 INFO mapreduce.Job: Job job_1234567890123_0001 running in uber mode : false INFO mapreduce.Job: map 0% reduce 0% INFO mapreduce.Job: map 100% reduce 0% INFO mapreduce.Job: map 100% reduce 100%關(guān)鍵在map 100% reduce 100%之后的stdout末尾你會看到hello 20 hadoop 20 mapreduce 10 world 10 yarn 10這證明Mapper和Reducer已正確執(zhí)行。若此處為空說明Mapper未輸出需檢查WordCountMapper.java中context.write()是否被調(diào)用。5.4 驗(yàn)證HDFS寫入用hdfs fsck確認(rèn)Block健康度作業(yè)完成后執(zhí)行hadoop fs -ls /output/ hadoop fs -cat /output/part-r-00000 hdfs fsck /output -files -blocks -locationsfsck命令會顯示/output/part-r-00000對應(yīng)的Block ID、大小、存放位置如192.168.56.102:9866。若某臺DataNode宕機(jī)fsck會顯示MISSING塊此時(shí)hadoop fs -cat會報(bào)錯(cuò)Could not obtain block。這是驗(yàn)證HDFS容錯(cuò)能力的黃金命令。5.5 清理與重跑為什么rm -rf /output不夠hadoop fs -rm -r /output是標(biāo)準(zhǔn)清理方式。但若作業(yè)異常終止如kill -9 ApplicationMasterHDFS中可能殘留臨時(shí)文件/output/_temporary/0/_attempt_...。這些文件不會被-rm -r刪除且會占用NameNode內(nèi)存。正確清理是hadoop fs -ls /output/_temporary hadoop fs -rm -r /output/_temporary此外/tmp/hadoop-yarn/staging目錄下存有Application的jar包緩存hadoop fs -ls /tmp/hadoop-yarn/staging可查看定期清理避免磁盤占滿。5.6 調(diào)試技巧用jstack抓取ApplicationMaster線程快照當(dāng)作業(yè)卡在map 0%時(shí)可能是AM死鎖。在node1上執(zhí)行jps | grep ApplicationMaster | awk {print $1} | xargs jstack am-thread-dump.txt打開am-thread-dump.txt搜索BLOCKED或WAITING線程。我曾發(fā)現(xiàn)AM卡在org.apache.hadoop.yarn.client.api.impl.YarnClientImpl.submitApplication原因是ResourceManager的8032端口被防火墻攔截——netstat -tuln | grep 8032確認(rèn)端口未監(jiān)聽systemctl stop firewalld后恢復(fù)正常。這種底層網(wǎng)絡(luò)問題只有線程快照能暴露。6. 從“跑通”到“掌控”三個(gè)必須親手驗(yàn)證的故障場景分布式系統(tǒng)的價(jià)值不在它正常工作時(shí)而在它出問題時(shí)你能否快速定位。以下三個(gè)場景我要求自己必須親手觸發(fā)、觀察、修復(fù)因?yàn)樗鼈兏采w了90%的線上故障模式6.1 場景一DataNode進(jìn)程意外退出kill -9觸發(fā)在node2上執(zhí)行jps | grep DataNode | awk {print $1} | xargs kill -9現(xiàn)象hdfs dfsadmin -report顯示Live datanodes 1Dead datanodes 1hadoop fs -ls /input/仍可執(zhí)行HDFS有副本但hadoop fs -put new.txt /input/會變慢NameNode需等待第二副本驗(yàn)證tail -f /var/log/hadoop-hdfs/hadoop-hdfs-namenode-node1.log會看到BLOCK* processReport: node2:9866 is not in the list of live nodes約10分鐘后出現(xiàn)BLOCK* Removing dead datanode node2:9866隨后啟動(dòng)副本復(fù)制修復(fù)hdfs --daemon start datanodehdfs dfsadmin -report確認(rèn)Live datanodes 26.2 場景二NameNode元數(shù)據(jù)損壞模擬磁盤故障觸發(fā)停止NameNoderm -f /data/hadoop/namenode/current/fsimage_*現(xiàn)象hdfs --daemon start namenode失敗日志報(bào)java.io.FileNotFoundException: /data/hadoop/namenode/current/fsimage_0000000000000000000 (No such file or directory)驗(yàn)證hdfs namenode -format會重建fsimage但所有HDFS文件將丟失因此必須有SecondaryNameNode或CheckPoint機(jī)制修復(fù)正確啟動(dòng)SecondaryNameNode需配置dfs.namenode.secondary.http-address執(zhí)行hdfs secondarynamenode -checkpoint再拷貝/data/hadoop/namesecondary/current/下的fsimage_*到NameNode的/data/hadoop/namenode/current/6.3 場景三YARN Container內(nèi)存溢出OOM Killer介入觸發(fā)在mapred-site.xml中設(shè)mapreduce.map.memory.mb8192而yarn.nodemanager.resource.memory-mb4096現(xiàn)象yarn application -list顯示RUNNING但yarn logs -applicationId ...中Mapper日志為空dmesg | grep -i killed process顯示Killed process 12345 (java) total-vm:8592128kB, anon-rss:4212345kB驗(yàn)證Linux OOM Killer因Container申請內(nèi)存超限8GB NodeManager上報(bào)的4GB而殺死了JVM進(jìn)程修復(fù)降低mapreduce.map.memory.mb至≤4096或提高yarn.nodemanager.resource.memory-mb這三個(gè)場景的共同啟示是分布式系統(tǒng)沒有“黑盒”。每一次kill、每一次rm、每一次dmesg都是對系統(tǒng)邊界的主動(dòng)探測。真正的掌控感來自你知道hdfs dfsadmin -report的輸出里哪一行代表心跳超時(shí)哪一行代表副本缺失哪一行代表正在修復(fù)。7. 我的配置文件管理心得用git diff代替記憶用ansible腳本代替重復(fù)最后分享一個(gè)血淚教訓(xùn)別信自己的記憶力。我曾因記錯(cuò)core-site.xml里fs.defaultFS的端口在三臺機(jī)器上手動(dòng)改了六次配置每次改完都要stop-dfs.sh start-dfs.sh耗時(shí)42分鐘。后來我建立了嚴(yán)格的配置管理流程7.1 所有配置文件納入Git版本控制在node1上初始化倉庫mkdir ~/hadoop-config cd ~/hadoop-config git init cp $HADOOP_HOME/etc/hadoop/*.xml . git add . git commit -m init config每次修改前先git status確認(rèn)無未提交變更修改后git diff清晰顯示改動(dòng)行如- valuehdfs://node1:8020/value→ valuehdfs://node1:9000/value提交時(shí)寫明原因git commit -m fix port mismatch: core-site.xml fs.defaultFS now matches dfs.namenode.rpc-address。這樣任何配置漂移都能在5秒內(nèi)定位。7.2 用Ansible批量同步配置編寫deploy.yml- hosts: hadoop_nodes become: yes tasks: - name: Copy core-site.xml copy: src: ./core-site.xml dest: /opt/hadoop/etc/hadoop/core-site.xml owner: hdfs group: hdfs mode: 0644 - name: Restart HDFS shell: /opt/hadoop/sbin/stop-dfs.sh /opt/hadoop/sbin/start-dfs.sh args: executable: /bin/bash when: inventory_hostname node1執(zhí)行ansible-playbook -i inventory deploy.yml三臺機(jī)器配置秒級同步。Inventory文件定義節(jié)點(diǎn)分組[hadoop_master] node1 ansible_host192.168.56.101 [hadoop_slaves] node2 ansible_host192.168.56.102 node3 ansible_host192.168.56.103 [hadoop_nodes:children] hadoop_master hadoop_slaves7.3 日志歸檔策略用logrotate防止磁盤爆滿/var/log/hadoop-*日志不壓縮會迅速占滿磁盤。在/etc/logrotate.d/hadoop中配置/var/log/hadoop-*/hadoop-*.log { daily missingok rotate 30 compress delaycompress notifempty create 644 hdfs hdfs sharedscripts postrotate if [ -f /var/run/hadoop-hdfs-namenode.pid ]; then kill -USR1 cat /var/run/hadoop-hdfs-namenode.pid fi endscript }postrotate段向NameNode發(fā)送USR1信號使其重新打開日志文件避免重啟服務(wù)。這些工具不是炫技而是把“分布式”從玄學(xué)拉回工程——當(dāng)你能用git blame查到某行配置是誰在何時(shí)為何修改當(dāng)你能用ansible --check預(yù)演配置變更的影響當(dāng)你能用logrotate -d /etc/logrotate.d/hadoop調(diào)試日志輪轉(zhuǎn)邏輯你就真正擁有了對這個(gè)系統(tǒng)的掌控權(quán)。它不再是一堆神秘的服務(wù)而是一套可審計(jì)、可預(yù)測、可修復(fù)的工程產(chǎn)物。我在實(shí)際使用中發(fā)現(xiàn)最有效的學(xué)習(xí)方式不是讀完所有文檔而是選定一個(gè)最小可行目標(biāo)比如讓W(xué)ordCount在三臺機(jī)器上跑通然后主動(dòng)制造故障、閱讀日志、修改配置、驗(yàn)證結(jié)果。每一次tail -f的等待每一次jps的確認(rèn)每一次hdfs fsck的掃描都在把抽象的“分布式”概念鍛造成指尖可觸的操作肌肉。這本筆記里沒有終極答案只有我親手踩過的坑、填過的坑、以及坑邊上插的警示牌——愿你在自己的集群里也能聽到那聲清脆的“?!?。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
日日干天天爽| 久久日婷婷| 日比视频91| 天天噜天天爱| 伊人网色婷婷五月天| 天天模,夜夜模夜夜爽| 成人综合网站| 久久视频这里99| av一区免费看| 五月婷婷狠狠干| 日韩成人av在线| 亚洲色热| 97影院一级片| 日本99热| 九九婷婷五月天| 人人叉久| 久久久久亚洲AV无码网影音先锋| 丁香婷婷久| 天天综合影院| 狠狠综合久久| 免费观看全黄做爰的视频| 日本精品在线噜噜噜| 丁香六月婷婷| 婷婷六月丁| 殴美日韩成人| 亚洲成人在线播放| 色综合综合网| 婷婷激情综合色五月久久91| 九九99免费理论| 天天插天天玩天天干| 免费做A爰片77777| 婷婷久久六月费| 久久成人亚洲欧美电影| 五月天成人小说| 狠狠狠狠狠狠狠狠狠狠狠色宗合图片| 日产精品久久久久久久蜜臀| 色5月丁香婷婷| 婷婷五月综合在线| 99在线精品免费视频| 99精品无码网站| 操婷婷基地| 久久多色| 激情五月婷婷伊人| A片试看50分钟做受视频| 日日噜狠狠色综合久久| 日韩av在线电影| 六月丁香啪啪啪| 99热精品6| 91精品久久久久久久久| 国产高潮A片羞羞视频涩涩| www.99热最新视频8| 婷婷丁香色女人| 久操人妻| 99无码黄色视频| 热久91| 久久92| 五月丁香激情综合六月涩涩爱| 99热日本| 激情丁香五月婷婷| 欧美丁香五月天| 91人碰| 五月丁香啪| 99成人小视频| 99爱在线| 网色99| 国外亚洲成AV人片在线观看| 久久久久人妻| 99精品无码视频| 99热99日天天干| 天干夜夜操| 99久久精品视频女神1| 亚欧州精品视频| 无码成人AAAAA毛片AI换脸| 色爱99| 美女婷婷六月色| 色婷婷国产精品综合在线观看| 婷婷五月天久久| 亚洲激情 久久| 五月Huangsewang| 国产精品热搜丁香五月婷婷| 午夜大香蕉| yirenjiqingshiping| 五月丁香综合| 人人综合久| 亚洲va在线| 激情综合五月激情17| 久操大屁股女人av| 亚洲天堂色| 色色国产| 思思热再线视频| 天天肏视频| 五月激情婷婷四射| 国产精品成人网址| 可以看的av网站| 人人草人人看| 特级西西4444www无码| 日韩狠狠色婷婷| 日本韩国视频在线观看社区免费的9| 成人色图情色成人网 www.5b5b5bcom 五月天| 色开心五月婷婷丁香HD| 黄色AAAA韩国guochansanji| 日韩精品一区二区三区,四区,五区视频| 天天爱夜夜爽| 六月丁香激情婷婷| 五月综合激情综合久| 色吧五月| 婷婷五月激情综合| 粉嫩av蜜桃av蜜臀av| 丁香六月五月婷婷| 99视频网| 婷婷五月视屏| 婷婷六月亚洲综合| 99网| 深爱五月最新网址| 99思思| 涩五月丁香| 99这里只有免费的精品| 日韩色五月| 18久久| 丁香操逼| 4399欧美另类视频| 久久99久久99精品免观看粉嫩| 国产精品久久久爽爽爽麻豆色哟哟| 色天五月天在线观看视频| 色婷婷激情五月天| 99热亚洲| 国产免费AV网站| 伊人网碰碰| 激情五月天色播| 五月丁香婷婷六月| 亚洲精品国产setv| 五月丁香综合在线| 99热这里都是精品| 丁香伍月婷电影全集| 日本精品人妻无码77777| 五月天激情小说网| 无码激情| 99热啪啪| 婷婷网五月天| 亚洲欧美日韩VIP| 日日夜夜狠狠| 免看黄大片AA | 男同91| 综合久久丁丁香婷| 91综合色噜噜| 另类专区在线观看| 婷婷欧美偷拍综合| 六月婷婷天天操夜夜爽视频| 成人色情五月天婷婷丁香| AV动漫不卡无码免费| 婷婷久久免费| 激情视频婷婷五月花| 激情丁香婷婷六月天| 久99热在线观看| 99热综合网| 天天久久66xxx| 综合五月天亚洲婷婷| 久超超碰| 欧美日韩大黄| 天天婷婷色六月| 五月婷婷免费视频| www.激情五月天com| 久久99热久久99精品| 婷婷视频在线| 伊人久久五月天| 中文字幕在线观看视频www| 熟妇内谢69XXXXXA片| 在线另类| 婷婷中文字幕欧美| 91久久九九| 欧美激情综合色综合啪啪五月| 免费成片在线观看| 色狠狠五月天| 婷婷 月 丁香| 天天日天天爽夜夜爽| 国产片XXXXA片国语对白| 伊人丁香在线| 丁香六月色婷婷| 青草性爱视频| 久色大| 99热免费| 久久人妻熟女一区二区| 黑人熟妇一区二区三区| 婷婷色香六月综合激情| 日亚二欧美| 九九無妻| 超碰av在| 婷婷爱在线观看| 伊人丁香花综合影院| 久久怡红院| 亚洲精品国产成人AV在线| 涩五月婷婷| 久99久视频精品| 91色逼| 一區四區歐美日韓| 五月天婷婷丁香六月| 久久婷婷五月综合激情国产| 日本激情综合| 天天干,天天舔| 丁香六月婷婷一区| 99热精品9| 超碰色色综合| 国产精品美女久久久久AV超清| 亚洲精品亚洲人成人网| 日亚二欧美| 亚洲亚洲激情| 成人国产综合| 极品少妇婷婷五月| 色婷婷五月六月丁香综合视频| 99在线观看视频蜜臀| 丁香色五月天| 婷婷99视频在线| 国产欧美大香蕉一区| 五月丁香综合啪啪| 九九热这里只有精品9| 丁香五月天.com| 伊人丁香五月天丁香在线婷| 婷婷 久综合| 99热大片| 色婷婷影院| 国产婷婷久久| 色综合日日| www.91久久| 色五月综合97| 99热这里只有精品官网| 99精品国产在热久久| 99玖玖在线视频| 久久这里只有精品16| 婷婷五月无码| 开心五月综合激情网| 日韩五月婷婷| 欧美这里只有精品| 日日噜狠狠| 亚洲热综合| 精品久久穴| 婷婷性爱网| 婷婷五月丁香手机在线视频| 久99久视频精品| 五月婷婷激情在线| site:publishdd.com| 婷婷五月情| 91激情五月开心| 天天爽日日爽夜夜爽| 免费看欧美成人A片无码| 成人 九九九九| 在线A色| 九九Av| 影音先锋色婷婷| 五月激情天| 色色色五月| 亚洲婷婷乱乱丁香| 九九九激情网| 深爱五月综合网| 五月婷婷九| 人操91在线| 深爱激情av| 五月婷在线| 97人人干| 婷婷五月天在线观看| 久久五月激情综合| 色五月首页| 六月丁香色色| 超碰操网| 丁香五月天在线观看视频| 久综合| 色婷婷超碰| 丁香五月婷婷五月| www.激情五月天.con| 天天综合网网欲色| 人人干人人操外国| 激情九色| 97人人看| 夜夜爽天天爽| 五月色导航| 国产成人一区二区三区在线观看| 亚洲成人高清在线| 色五月大香蕉| xxxx五月激情| 天堂成人A片永久免费网站| 国产精品成人AV在线| 91人碰| 丁香花五月天婷婷成人社区| 伊人久久五月天综合| 婷婷综合玖玖五月| 天堂综合久久 | 日韩黄色影院| 日本社区五月天激情| 性爱五月婷婷| 久久99精品九九久久久婷婷| 丁香五月天激情五月天激情五月天激情网| 丁香五月天婷婷中文字幕| 久久九九激情五月天 | 狠狠操之狠狠操| 天天射影院| 伊人久热91网| 久草A片| 99热精品在线观看| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 丁香五月色播中文在线播放| 九九热视频精品999| 婷婷色狠狠| 久草五月婷| 色五月婷婷操逼| 九九色影视| 97干在线视频| 天天做天天爱天天综合网| 99久久喉9| 色五月激情综合| 热久91| 9热精品| 亭亭丁香aV| 69精品人人人人人人人人人| 另类综合色| 91碰视频| 五月美女婷婷风骚| 五月天婷婷网站888| 99re熱| 苗黎美女四级成人版一级二级毛片| 最新激情五月天| 色色色丁香| 夜夜爱伊人| 色A网| 成人久碰| 婷婷六月啪啪| 婷婷五月天免费视频| 激情图片婷婷| 变态 另类 在线 | 91 九色大美女| 综合网视频| 久9热在线视频| 国外亚洲成AV人片在线观看| www.夜夜操| 五月婷中文娱乐综合| 视频色色色色色色| 亚洲性受XXXX五月丁香| 被强行糟蹋的女人A片| 色五月丁香一区在线| A片女女女女女女BBBB| 天天干天天干天天操| 这里有精品99| 色九月欧美| 久久婷五月天| 99久在线精品99re8热| 欧美性爱一区| 极品少妇XXXX精品少妇偷拍| 欧洲第一久色| 亚洲午夜精品久久久久久人妖| 亚洲无码99| 噜噜视频| 99这里只有精品在线观看| 亚洲一级 片内射网站在线观看| 五月天激情小说欧美激情| 婷婷成人在线| 国产精品美女| 久热只有这里有精品| 婷婷五月激情四射手| 91一起操| 噜噜狠狠色综无码久久合欧美| 开心五月婷婷婷美女| 99年操人人爽| 国产毛片精品一区二区色欲黄A片| 成人欧美一区二区三区在线观看| 先锋影音男人的天堂AV| 国产av天堂| 久久 视频这里只有精总| 67194国产| 黄久久久| 激情骚五月| 久久伊人五月天| 久久美女五月天| 插插干干干色| 日本色99| 五月婷久久久久综合| 六月婷婷开心| 99日本精品视频热| 国产成人AV| 日狠狠| 5五月综合网亚洲| 97久久视频| 五月综合无码| 色和综合网| 色护士综合| 思思热99er在线视频| 色噜噜狠狠色综合网| 九九人人操| 婷婷五月综合色拍| 激情五月天影院| 日本黄色三级片内射| 99ri视频在线播放| 五月丁香中文字幕| 欧美内射AAAAAAXXXXX| 久久色情| 9 1超碰九色| 色一情一乱一乱一区9| 五月婷婷人人人操| 色色色热热热| 超级97碰碰| 插插五月天| 色情五月丁香| 99精品在线播放| 久久五月天网| 亚洲超级碰| 深爱激情网五月天| 日韩在线视频9色| 婷婷六月开心网| 九九热精品在线| av在线免费网站 | 丁香婷婷色情| 99色最新在线视频网站| 99色在线| 99操中文视频| 天天看A片| 99热加勒比| 国产精品人人妻人人爽| 国产人人操| 色性日本| 久久精99| 婷婷五月无码| 色99www.| 色婷婷综合影院| 日比网免费国产| 五月婷婷色男女| 综合色99| 婷婷五月天Av| ..真实国产乱子伦对白在线_欧| 亚洲视频五区| www.日韩国产| 婷婷性爱综合| 色五月婷婷色五月婷婷色五月婷婷| 国产一级片| 色五月天天在线观看资源站| 欧美日韩91| WWW、日本色丁香co m| 思思热视频在线| 天天色综和网| 五月综合久久| 亚洲精品久久久久久久久久吃药| 狠狠五月天| 思思99热在线| 一二线视频 另类| 色婷婷五月综合在线| 激情五月婷婷综合网| 开心激情站婷婷五月天| 奇米影视在线视频| enecarbon-materials.comWu染请涟系Bao护@wip1688 | 五月婷婷啪啪| 五月天社区| 99精品视频在线| 婷婷五月色播天| 亚洲人妻一区二区| 我淫我色婷婷五月天激情四射| 亚洲精99| 五月天丁香色色| 99热这里只有免费精品| 亚洲欧洲午夜成人精品av| 91丨九色丨熟女丰满| 天天搡日日搡aaaaⅩ| 天天综合在线网| 激情五月天综合网站网站网站| 色五月天堂| 精品五月视频婷婷在线观看| 日本欧美成人片AAAA| 精品久久久久久久人妻| 伊人久久大香| www.色婷婷| 大香蕉五月天婷婷| 91viP在线看| 五月综合激情久久| 女同在线9| 可以看的av网站| 91热久久| 免费视频在线观看的网站| 婷婷五月天日本无码| 久草九九| 另类天堂| 爱的综合网| 婷婷综合干| 99热综合在线| 激情五月婷婷丁香六月| 激情av| 日本色婷婷综合| 亚洲天堂制| 婷婷五月天成人小说| av国产精品偷| 色婷婷小说网| www.人人操人人看人人想人人摸 人人人人操,COM | 成人在线网址| m色激情网| 日本天堂免费99| 欧美色婷婷| 五月综合六月婷婷| 九月色婷婷综合| 丁香五月综合| 26uuuu精品一区二区| 激情婷婷综合网| 五月天丁香综合久久国产| www.激情五月天.com| 日韩国产AV播放| 亚洲美女高潮久久久久久69| 丁香五月六月激情| 激情综合色| 精品无码久久久久久久久| 天天视频亚洲| site:901-07.com| 婷婷色色宗合网| 俺去也综合| 婷婷五月天亚洲色| 亚洲AV无码影院| 五月天婷婷网站888| 538久久| 99碰| 69热91天堂| 色婷婷丁香| 日本色色图| 色五月婷婷丁香凹凸| 99久热| 婷婷丁香激情综合色情| 少妇日麻屄| 91久久电影| 激情五月天网站| 韩国激情五月天综合网| 精品福利911| 久操大| WWW色色色COM| 九九色色| 五月丁香操亭亭网| 操逼123网| 中文字幕黄色片| 中文字幕精品推荐免费在线观| 國語久久婷| 26uuu国产精品| 婷婷丁香婷婷97| 国产亚洲成AV人片在线观黄桃| 夜夜撸天天操| 国产探花AV在线| 97精品欧美91久久久久久久| 色五月,com| 色丁香五月| 婷婷六月天| 色色综合视频| 亚洲热综合网在线观看| 五月婷婷开心深| 另类伊人婷婷| 2021日韩无码| 丁香花综合永久入口| 99日本精品视频热| 看全色黄大色大片| AAAA网站| 五月天黄色激情小说| 日韩人妻无码一区二区| 99综合视频| 色欧美影院| 精品一二三区久久AAA片| 性生活久久人妻| 激情伍月 欧美| 婷婷放心五日爱| 97香蕉久久超级碰碰高清版| 伊人五月综合网| 婷婷五月激情在线| 天天射天天操天天干| 国产欧美精品AAAAAA片| 五月婷婷综合久久| 热思思| 色婷婷影音| 夜夜躁狠狠 | www.色综合| 日日噜噜夜夜狠狠久久丁香六月| 五月丁香六月婷婷中合网| 婷婷丁香久久| 婷婷色在线| 999热在线视频| 免费操超碰| Y11111111111少妇电影院| 色综合久久久无码中文字幕999| 五月天另类小说| 色啪影院| 久久九九热视频| 99er久久| 五月天综合图片| 这里只有精彩亚洲视频推荐| 噜噜色天天开心| 97综合在线| 热996精品在线观看| 色婷婷小视频| 九九美女视频| 久久综合网桃花| 六月婷婷日| 激情五月婷色| 日本专区久久| 欧美精产国品一二三区| 99久久婷婷国产综合| 日韩综合网络男女香蕉a片| 伊人9在线| 久久精品99久久久久久| 色久九| 色婷婷丁香五月天| 激情五月深爱五月| 超碰99在线| Av狠狠色丁香婷| 婷婷成人综合免费视频| 五月噜噜噜色综合| 亭亭色天香| 久久机只有这里精品| 久久婷婷影院| 久久这里面只有精品视频| 婷婷综合五月天激情| 79成人网| 精品久久久人妻| 殴美综合激情五月天免费视频| 这里只有精彩视| 天天狠狠色综合| 婷婷丁香色无五月| 99精品视频免费观看| 色婷婷丁香香香蕉视频| 婷婷久久综合| 丁香五月伊人| 伊人热在线大香蕉| 色99无码| 亚洲五月婷| 婷婷五月 丁香六月| 天天日天天狠狠操| 密桃激情五月天综合网| site:pnnrt.com| 久久综合激情五月天| 天天爽天天弄| 五月丁香婷婷成人综合网| 丁香综合网| 五月婷婷婷丁香播| 91无码高清| 天天爽夜夜操| 六月婷婷综合| 91久久久久| 久久码久久无清| 天堂A∨在线| 日日干日日s| 婷婷丁香色五月| 久久女人天堂| 成人做爰A片免费看网站找不到了| 第九色区av天堂| 99精彩视频在线观看| 六月丁香中文字幕| 成人操呦av| 色丁香综合影院| 日欧大屏操| 九九热只有精品| 成人网在线观看视频| 日韩美女在线视频19| 91久久久久久久| 五月丁香婷婷中文网| 欧美超级视频97| 色色99| 北条麻妃九九九国产精品视频| 国产无遮挡又黄又爽免费网站| 亚洲日韩成人三级av| 黑人无码一区| www.超碰在线| 这里只有精品免费观看网占| 任你草| 色狠狠色噜噜AV天堂五区| 五月亭久久无码视频| 激情五月天综合网站网站网站| 丁香婷婷六月激情| 色色综合激情| 亚洲三A| 在线观看的av| 色播五月丁香| 人人草人人舔| 白人荫道BBWBBB大荫道| 91婷婷丁香五月| 亚洲色色图片| 九九在线这里只有精品视频| 日本婷婷五月天| av在线不卡播放| 色必久悠悠影院| 婷婷刺激综合| 色五月天激情| 激情超碰网| 草操AV在线| XX久久| 91制片厂久久久国产电影| 九九激情网| 五月天网站免费欧美| 国产亚洲精品AAAAAAA片 | 五月天丁香啪啪网| 色色色99| 99热在线播放| 丁香五月婷婷av影院| 99久久婷婷国产综合精品草原| 天天操夜夜夜拍拍拍| 色欲天天综合| 7EzOBIhNq85TO| 婷婷五月成人| www.9797国产| 大香蕉视频99| 夜夜夜天天操| 国产成人在线精品| 91操屁股| 五月丁香欧美在线| 欧洲毛片基地c区| 伊人久久大香线蕉AV最新午夜| 99色色热热| 五月天色社区| 色五月丁香91| 五月婷婷成人w| 激情小说在线视频| 玖玖五月丁香| 天天碰夜夜爽| 在线免费视频caop| 人人天堂操| 91一起操| 日韩啪| 久热这里| 伊人青涩网| 五月丁香六月婷婷久久久综合| 人人色婷婷| 国产做爰视频免费播放| 天堂网色婷婷| 日日噜狠狠色| 狠狠插狠狠插| 国产激情综合| 婷婷五月天堂| 人妻Av在线| 九九综合久久| 亚州男人天堂婷婷五月| 五月丁香色狠狠干大屄| 激情综合久久| 久久精品色| 另类小说五月天| 久久久久久激情| 成人五月天丁香婷| 婷婷五月电影| 99热主页日本| 另类图片五月激情| www.夜夜騎夜夜狠| AA片在线观看视频在线播放| www.五月婷婷久久.com| 五月综合色| 伊人色五月| 婷婷五月婷婷| 2020日日干| WWW,五月| 97干网站| 色九月婷婷| 五月亭亭色| 亚洲无码色色| 婷婷激情五月天激情小说| 丁香成人视频| 另类丁香综合| 成人网在线视频| 色色色色色色色色色色色色色五月天| 久色中文| 久久电影五月天丁香电影| 丁香色播五月天| 在线中文AV| 国产裸舞表演WWWW| 98色丁香五月婷婷综合网| 狠狠操狠狠| 啪啪 综合网| 日韩AV大全| 激情五月丁香五月| 激情5月婷婷| 午夜丁香综合婷婷| 成人在线视频网| 丁香五月婷婷亚洲人| 色婷婷电影网| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 乱乱av| 夜夜操,天天撸| 99久久五月丁香野外| 五月婷亚洲精品| AAA久久久AAA久久久AAA| AV在线大香蕉| 97色欧美| 色五月激情综合网| 国产夫妻操逼内射视频| 六月婷婷毛片| 天天干狠狠| 91人人操人人爱| 五月天综合色| 丁香五月在线观看综合| 九九热青青草| 久99久视频| 色999五月色| 色无码| 狠狠干五月丁香| 婷婷黄色网| 丁香九月综合激情| 婷婷五月丁香五月丁香| 天天日天天插| 欧美va在线| 91丨九色|PRNY熟妇| 婷婷涩涩五月天| 婷婷五月天av网| 99网址在线观看| 玖玖午夜视频| 天天爽天天弄| 丁香花婷婷五月天| 丁香五月婷婷激情小说| 中文字幕无码人妻少妇免费视频| RenRenSe在线视频网站| 亚州色综合| 26uuu精品一区二区| 狠狠艹狠狠艹| 青青草99re| 成人在线综合| 色噜噜,噜噜色| 少妇人妻人伦A片| 五月婷婷啪啪综合网| 99九九综合久久九九| 夜精品无码A片一区二区蜜桃| 欧美成人网婷婷综合在线| 91九色超碰| 色欲天天综合| 五月花综合网| 婷婷99| 五月综合婷婷五月| 日本一道久久| 婷婷亚洲在线| 五月丁香黄色视频| 激情小说五月欧美亚洲丁香| 91九色精品熟女内射| 精品一区二区三区免费毛片爱| 69er小视频| 99视频35精品视频在线观看| 国产精品久久久久久喷浆| 亚洲日韩欧美综合VA| CAoub青青超碰| 九九热超碰| 亚洲婷婷欧美婷婷| 狠狠操天天操综合| 国产高潮白浆一区二区| 9|无码久久久久久| 深爱五月天 开心网| 91视频一起草| 激情综合文学| 天天日天天操心| 色五月综合激情| XX久久| 99热10在线高清播放| 激情深爱五月天| 夜夜操夜夜爽| 97久人人| 欧美婷婷色| 欧美va在线| 亚洲激情五月天| 亚洲久久婷婷丁香五月天| 五月激情综合网| 亚洲视频码| 久热大香蕉| 欧美99视频| 日日操天天| 婷婷丁香高潮了| 黄网网站在线播放| 五月婷婷色色网址| 天天日天天久久青青| 91狠狠综合久久| 伊人婷婷五月天| 日日撸日日操| 国产Va视频| 婷婷91| 精品亚洲国产成AV人片传媒| 亚洲操b| 欧美色色色色色色| 插插干干干色| 五月激情婷婷国产精品久久久久久| 天天舔天天爽| 99色干| 综合网激情| xx色综合| 综激情网| 久久久五月天婷婷成人网| 国产真实乱对白精彩| 激情九九六月激情免费视频| 99爱在线视频观看| 手机AVAV天堂看网| 小视频在线亚洲| 操碰91| 九九99九九99九九99视频网| 综合网网欲色| 香蕉久久五月| 丁香五月大香蕉在线99| 久久五月丁香| 色碰碰| 五月天开心网| 色色网站| 婷婷六月激情丁香| 最新激情五月天| 五月婷婷中文字幕| 性色欲情 网站| 久大香蕉| 五月 激情视频| 丁香婷婷性久久| 色色网91| 五月婷婷9| 丁J香六月首页| 天天干天天av天天射| 欧美三9久九观看| 亚洲精品V天堂中文字幕| AAA久久久| 超碰免费大香蕉| 久久这里只| 爱草视频在线观看| 日韩狠狠色婷婷| 99热这是里只有精品| www.av视频xx999.com| 激情五月天在线观看色婷婷| 欧美WW在线网| 日本三级日本黄色| 婷婷成人av| 991自拍视频| 97色综合视频| 9热久久在线| 婷婷久久天堂网| 久久久婷婷色五月资源网| 日本在线wwww| 国产色99| 操逼综合网| 99精品女人天堂| 先锋影音男人的天堂AV| 婷婷激情六月中文| 日本大逼91| 超碰伊人碰婷婷五月| 另类视屏| 激情综合网址| 九九精品在线视频观看| 久操大香蕉| 婷婷六月丁香激情| 成人视频九九| 五月丁香天堂网婷婷| 色综合久久天天综合网| 狠狠草综合网| 婷婷香五月天| 蜜臀av粉嫩av懂色av| 91婷婷在线| 99热都是精品| 精品一二三区久久AAA片| 大香蕉久久视频久久视频| 丁香婷婷影院| 色狠狠综合入口| 色综合久久综合中文综合网| 六月丁香色色色| 9久精品| 韩国情人在线电视剧免费观看高清版全集 | 婷婷五月图片小说视频| 五月丁香六月婷婷国产视频| 婷婷六月色开 | 日韩av干| 丁香六月色情| 久久视频这里99| 日日干夜夜干| 99精品亚洲| 99ER热精品视频| 免费视频无码| 五月刺激丁香月综合| 久久婷综合网| 久久99免费视屏| 色人五月婷婷| 激情婷婷啪啪| 婷婷色九月| 亚洲亚洲人成综合网络| 五月婷九月| 99热国内精品| 99久久97| 亚洲成人在线综合| 五月激情丁香六月狠狠干| 久久九九怡红院| 开心五月综合激情综合五月| 五月天婷婷久久视频| 五月丁香综合激情| 国产XXXX搡XXXXX搡麻豆| 九九色网专区| 中文字幕,综合,91| 激情精品久久| 99热.com| 色色色色色综合| www.ywav| 国产67194| 狠狠狠狠狠草| 狠狠爱激情网| 欧洲MV日韩MV国产| 亚洲综合网在线| 九九九九九九九九九九九九九九九九九九九在线视频 | 欧美网站视频4399| 思思99精品视频| 日韩精品色| 久久这里有精品视频| Av大香蕉| 99精品视频免费观看近期发布| 久久月天堂| 日本99视频| 激情五月四色| 日韩欧美性爱| www色五月| 99视频久久| 91在线操逼视频| 五月天激情小说婷婷| 色五月婷婷91| 久热在线观看视频9| 日韩按摩二区| 色婷婷丁香五月| 成人亚洲精品| 中文字幕AV网址| 综合超碰熟| 亚洲1区| 视色综合| 婷婷99狠狠躁天天久久久九九九| 99热99| 五月天俺去也| 久久婷婷综合五月天| 五月天社区| 成人在线不卡| 丁香九月婷| 精品人妻久久久久| 亚洲精品又粗又大又爽A片| 99热9999| 激情五月综合婷婷| 亚洲视频综合网| 六月婷婷深深爱| 99热在线观看精品| 激情丁香五月综合| 99在线看片| 狠狠色成人影片| 91精品国产99久久久久久天美| 综合激情五月综合激情五月激情1 天天爱天天做天天舔 | 九九热视| 婷婷婷狠狠| 色就是色婷婷五月亚洲激情| 夜夜躁爽日日| 亚洲六月色| 九九熱最新視頻| 偷拍91九色| 涩五月婷婷| 九月婷婷色色| 五月婷精品| 99色在线| 日韩啪啪视频| 亚洲综合另类| 五月天婷婷无码| 婷婷久久国产视频| 人人爱操| 91互操| 色五月第四色| 51精品国自产在线| 久久这里这里有精品免费视频| 这里只有精彩亚洲视频推荐| 极品少妇XXXX精品少妇偷拍| 9视频1在线| 99热成人在线观看| 日本五月婷婷| 综合激情在线| 丁香五月六月激情| 开心激情网在线| 人妻久热| 深爱激情五月婷婷| 久久综合久色欧美综合狠狠 | 亚洲情综合五月天| 色欲婷婷夜夜| 丁香五月天堂网| www:99热视频| 五月天五月天成人网亭亭成人色网站| 成人精品在线观看| 婷婷欧美综合| 狠狠搞五月天| 欧美色色色色色色色| 嫩草极品| 97涩涩丁香五月天| 激情五月天色色| 婷婷五月激情网站| 超碰在线成人| 超级97碰碰| 丁香涩涩爱| 91狼友视频网页更新| site:xiongshengzz.com| 欧美日韩99| 射琪琪| 丁香婷婷五月天在线视频| 五月婷婷综合色啪首页 | 天天肏在线观看| 26.uuu丁香五月婷婷| 久久9999| 噜噜噜久久| 操精品9| 狠狠插日日干撸| 婷婷综合久久综合| 五月丁香婷爱在线| 色99欧洲色19| 99热只有这里才是精品| 五月激香蕉网| 色情五月天A片| AV色色天堂中文| 这里只有精品视频在线看| 九九激情网| 婷婷AV丁香| 无码日本精品XXXXXXXXX | 婷婷美女精品视频| 激情五月丁香五月| 丁香五月婷婷基地| 久热 91| 久久色婷婷| 婷婷放心五日爱| 亚洲视频1区| 伊人9草在线观看| 丁香六月激情四射| 丁香婷婷色五月| 九九色综合九九色| 97干婷婷五月天| 色综合色色| 91亚洲免费片| 99色人| 五月色网| 97 天堂| 色婷婷导航| 久草五月| 熟女激情网| 激情爱爱网站| 超碰国产AV| 人人操av| 亚洲va欧美va天堂v国产综合| 在线观看亚洲视频影院| 久久久精品99| 久久九九99.www| 免费色婷婷| 婷婷在线精品| 伊人五月天在线| 人妻中文在线| 色综合久久天天综合网| 亚洲AV网址| 99视频在线播放大全| 狠狠爱五月婷婷| www.狠狠| 久久婷婷内射| www.91操| 亚洲色99| 婷婷五月天AV| 日日做A爰片久久毛片A片英语| www.jiujiujiu| 五月丁香琪琪| 东京热伊人| 国产成人亚洲综合A∨婷婷| 丁香五月五月婷婷| 天天射影院| 国产成人精品一区二三区熟女在线| 五月婷婷亚洲| 亚洲天堂热| 婷婷五月色| 强辱丰满人妻HD中文字幕| 少妇水多A片太爽了| 国产精品91抖高| 99热99日天天干| 大香蕉Av在线| 五月丁香婷婷久久| 99热免费网站| 五月色婷婷AV| 日本VA视频| 精品99在线| 五月婷激情| 青青久在线视频免费观看| 人妻免费网站| 婷婷色在线播放| 激情欧美婷婷| 欧美性爱特黄一级aaaassss| 五月天激情黄色小说在线观看| 婷婷射丁香| WWW夜夜| 亚洲色 视频| 天天综合色丁香| 五月激情影院| 色99最新网址| 综合久久久| 综合五月丁香久久| 99综合激情久久精品久久| 91九色欧美| 久久香蕉网| 婷婷丁香婷婷97| 色婷婷导航| 激情都市五月天| 秋霞AV淫| 激情性爱五月天| 成人午夜天| 婷婷终合色图| 久久aaa| 五月天婷婷综合免费| 深爱激情五月网| 九日日夜夜69| 婷婷五月综合在线| 久久久久人妻精选| 五月天婷婷色综合| 色偷偷五月天| 爆乳熟女-区二区三区| AV九九| 丁香五月婷婷动漫视频| 亚洲国产精品VA在线看黑人| 欧美25p| 91操女| 五月激情丁香五月| 日婷婷| 中字幕视频在线永久在线观看免费| 免费无码毛片一区二区A片| 欧美天天搞| 五月婷婷免费视频| 日韩啊啊啊| 99久久激情视频| 伊人婷婷五月天| 性爱网六月丁香| 日本va网站| 色色丁香五月天| 99干在线视频| caobi四区| 亚洲在线资源| 婷婷综合伊人| 狠狠婷婷爱| 丁香五月婷婷激情网| 亚洲成人在线电影网站| 婷婷五月综合婷婷| 五月天色导航| 啪啪综合网| 99久久.www| 五月天丁香啪啪综合| 五月天狠狠色| 丁香五月婷婷激情蜜桃| 91在线日| www.五月丁香| 九九色逼| 综合久久高清| 色婷婷六月开心中文字| 五月婷婷综合在线| 天天噜日日噜综合无码| 亚洲无码色色| 97超级碰| 狠狠干在线视频| 91色色色| 欧美婷婷丁香五月社区| 五月婷婷九| 日韩精品99久久| 婷婷 月 丁香| 亚洲AV影片在线观看| 婷婷五月成人系列| 无码99| 婷婷丁香婷婷97| 久久视频在线视频| 成AV人片一区二区三区久久| 欧美日韩aaa| 天天狠狠夜夜狠狠2023| 91丨九色丨43老版熟女| 超碰免费大香蕉| 亚洲第一色区| 丁香六月亚洲综合| Av性爱网站| 婷婷五月丁香久久| 综合网狠狠| 91av视频在线观看最新网址| 爆乳熟女-区二区三区| 操草草草| wwww.9免费视频| 丁香五月欧美婷婷| 丝袜熟女一区二区三区| 秋霞九九无码| 月婷婷婷婷五月| 五月婷婷深爱六月| 天天日综合网射| 日韩成人电影AV| 91久久五月天| jiuse91在线| 97伦乱| 国产精产国品一二三在观看 | 色播五月婷婷五月|