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

ARTICLE DETAIL

資訊詳情

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

Windows 部署 Hadoop 偽分布式配置與 WordCount 實戰(zhàn)

Windows 部署 Hadoop 偽分布式配置與 WordCount 實戰(zhàn) 1. 先說清楚Windows 上跑 Hadoop 偽分布式到底在解決什么問題我最早接觸 Hadoop 是在一臺只有 Windows 筆記本的環(huán)境下當時手里沒有任何服務(wù)器可用虛擬機跑兩三個節(jié)點又卡得厲害于是只能退而求其次在 Windows 本機搭一套 Hadoop 偽分布式。所謂偽分布式就是把 NameNode、DataNode、ResourceManager、NodeManager 這些角色全部塞在同一臺機器上各自以獨立的 Java 進程運行用本地磁盤模擬出“分布式”的存儲與計算結(jié)構(gòu)。它不算真正的集群但足夠把 HDFS 的讀寫流程、YARN 的資源調(diào)度、MapReduce 的作業(yè)提交鏈路完整走一遍。對于想搞明白 HDFS 副本機制、塊存儲原理、作業(yè)提交流程的人來說偽分布式的性價比極高——一臺電腦、一個 JDK、一個解壓即用的 Hadoop 發(fā)行包就能把整個生態(tài)的骨架跑通。這篇文章記錄的是我基于 Windows 系統(tǒng)從零部署 Hadoop 偽分布式的完整過程包括版本怎么選、目錄怎么規(guī)劃、四個配置文件怎么寫、格式化啟動時踩了哪些坑、YARN 上跑第一個 WordCount 作業(yè)時又卡在哪里。適合的人群很明確剛接觸大數(shù)據(jù)組件但又不想一上來就折騰虛擬機的同學、需要在本地快速復(fù)現(xiàn)某個 HDFS 或 MapReduce 行為的開發(fā)者、以及被 Linux 環(huán)境慣壞想看看 Windows 下到底多難纏的老手。我把每一步的判斷依據(jù)和失敗現(xiàn)場都寫下來了你照著做大概率能少走兩三個晚上的彎路。2. 方案選型Windows 原生、子系統(tǒng)還是容器2.1 偽分布式在 Windows 上的三種落地方式對比在動手之前我先把三條路都試了一遍結(jié)論是它們各有適用場景不存在誰絕對優(yōu)于誰。第一種是 Windows 原生部署直接下載 Hadoop 的二進制壓縮包解壓補上 Windows 平臺缺失的原生庫文件然后跑起來。第二種是裝一個 Linux 子系統(tǒng)在子系統(tǒng)里按標準 Linux 流程部署Windows 只作為宿主。第三種是用容器拉一個現(xiàn)成的 Hadoop 鏡像映射幾個端口就能訪問 Web UI。我當時的判斷依據(jù)是“學習目標”而不是“省事程度”。如果只是想看看 HDFS 的 Web 界面長什么樣、跑一個現(xiàn)成的示例作業(yè)容器方案十分鐘就能搞定。但如果目標是理解 Hadoop 啟動時到底讀了哪些配置、進程之間的通信端口是哪些、日志里的報錯分別指向哪個組件原生部署帶來的“痛感”反而是有價值的——每一個報錯都對應(yīng)一個真實存在的機制。我最終選了原生方案主要原因是它最貼近真實的生產(chǎn)環(huán)境配置方式四個 XML 文件怎么寫、環(huán)境變量怎么傳這些經(jīng)驗換到 Linux 集群上是通用的。方案上手耗時學習價值主要痛點適合人群Windows 原生2 到 4 小時高配置項全部親手寫缺原生庫、路徑空格、權(quán)限問題想吃透配置細節(jié)的人Linux 子系統(tǒng)1 到 2 小時中高接近標準流程文件系統(tǒng)互通、內(nèi)存占用有一定 Linux 基礎(chǔ)的人容器鏡像10 到 30 分鐘低黑盒程度高配置改動需重建鏡像只想驗證功能的人需要說明的是原生方案有一個繞不開的前提Hadoop 的很多腳本和原生庫是按類 Unix 環(huán)境編寫的Windows 上沒有對應(yīng)實現(xiàn)。所以社區(qū)里一直有人維護一套 Windows 平臺的補充二進制文件主要包含winutils.exe和hadoop.dll兩個文件。前者負責模擬文件權(quán)限、創(chuàng)建目錄等操作后者是本地庫的 Windows 編譯版本。缺少它們程序不一定立刻報錯但會在某些節(jié)點突然拋出本地庫加載失敗這個后面會專門講。2.2 為什么偽分布式不需要配置免密登錄很多教程一上來就讓你裝 SSH、配免密那是針對完全分布式多機環(huán)境的。偽分布式下所有進程都在本機Windows 原生部署時啟動腳本本身就不走 SSH 通道Windows 自帶的啟動腳本是.cmd后綴的批處理文件直接start拉起各個 Java 進程。所以如果你看到某篇教程讓你在 Windows 上裝 OpenSSH、生成密鑰對、把公鑰追加到授權(quán)文件里可以直接跳過——那套流程解決的是跨機器啟動的問題偽分布式用不上。我一開始也照做了結(jié)果白白花了一個多小時最后發(fā)現(xiàn)啟動腳本壓根不讀這些。真正需要搞清楚的是啟動腳本的調(diào)用鏈start-dfs.cmd會依次拉起 NameNode 和 DataNodestart-yarn.cmd會拉起 ResourceManager 和 NodeManager每個進程背后都是一個java命令參數(shù)里的內(nèi)存大小、類路徑都由hadoop-env.cmd和四個 XML 配置文件決定。理解了這條鏈路后面排查啟動失敗就有方向了——先看窗口有沒有一閃而過再看日志目錄里對應(yīng)組件的.log文件末尾幾十行。2.3 版本搭配這件事容錯率比想象中低Hadoop 和 JDK 的版本搭配是這套環(huán)境里最容易埋雷的地方。Hadoop 3.x 系列官方明確支持的 JDK 版本是 8 和 11用 JDK 17 及以上會直接撞上模塊訪問限制啟動時報IllegalAccessError或者反射相關(guān)的異常改配置也救不回來。我自己用的是 JDK 8 的一個較新小版本穩(wěn)定跑通。Hadoop 本身選的是 3.3 系列的一個穩(wěn)定小版本這個系列對 Windows 的兼容性資料最多遇到問題容易搜到同類案例。還有一個容易被忽略的點JDK 的安裝路徑。默認安裝到C:\Program Files\Java\...這種帶空格的目錄下Hadoop 的批處理腳本在拼接類路徑時對空格處理得很粗糙容易出現(xiàn)“找不到主類”或者路徑被截斷的情況。我的做法是把 JDK 單獨裝到一個沒有空格、沒有中文的短路徑下比如C:\Java\jdk8后面所有配置都指向這個路徑。同理Hadoop 的解壓目錄我也放在了根目錄下的短路徑里比如D:\hadoop\hadoop-3.3.x。這一步多花兩分鐘后面能省掉一堆莫名其妙的報錯。3. 環(huán)境準備目錄規(guī)劃、環(huán)境變量與 Windows 補充庫3.1 目錄結(jié)構(gòu)怎么規(guī)劃才不給自己挖坑我見過不少人把 Hadoop 解壓到桌面或者下載文件夾里然后一路報錯到最后放棄。問題的根源在于 Hadoop 運行時會往自己所在的目錄寫日志、寫臨時文件如果路徑里有中文、空格或者權(quán)限受限比如系統(tǒng)盤的某些目錄進程就會在某個不起眼的環(huán)節(jié)掛掉。我習慣的目錄規(guī)劃是這樣的D:\hadoop\ ├── hadoop-3.3.x\ 解壓出來的發(fā)行包本體 │ ├── bin\ │ ├── etc\hadoop\ 四個配置文件都在這里 │ ├── logs\ 運行日志排錯第一現(xiàn)場 │ └── sbin\ 啟動停止腳本 └── data\ 所有運行時數(shù)據(jù)獨立于程序目錄 ├── tmp\ 臨時目錄 ├── namenode\ NameNode 元數(shù)據(jù) └── datanode\ DataNode 數(shù)據(jù)塊把數(shù)據(jù)和程序分開是我堅持的一個習慣。原因很實際想升級 Hadoop 版本時直接解壓新版本、改一下環(huán)境變量就行數(shù)據(jù)目錄原封不動想徹底重來一遍時只需要刪掉data目錄重新格式化程序本體不用動。data目錄一定要放在非系統(tǒng)盤因為 HDFS 寫入數(shù)據(jù)塊時會產(chǎn)生大量小文件系統(tǒng)盤容易被塞滿而且 Windows 對系統(tǒng)盤某些位置的寫入有額外限制。目錄建好之后還需要手工把data下的三個子目錄創(chuàng)建出來。雖然 Hadoop 在格式化時會自動創(chuàng)建但提前建好可以避免“父目錄不存在導致創(chuàng)建失敗”這類邊界問題尤其是當磁盤權(quán)限設(shè)置比較嚴格的時候。3.2 環(huán)境變量的三個關(guān)鍵項與實際作用Windows 上需要配置三組環(huán)境變量每一項都有明確用途不是隨便加的。第一項是JAVA_HOME指向 JDK 的根目錄不帶bin。這個變量的作用范圍比想象中大不只是 Hadoop 讀它很多 Java 生態(tài)的工具鏈都依賴它。配置成C:\Java\jdk8這種形式結(jié)尾不要帶反斜杠。第二項是HADOOP_HOME指向 Hadoop 解壓后的根目錄也就是包含bin、etc、sbin的那一層。這個變量是 Windows 批處理腳本定位自身的關(guān)鍵start-dfs.cmd內(nèi)部會用它拼接類路徑。如果沒配雙擊腳本會一閃而過什么提示都沒有。第三項是在Path里追加%HADOOP_HOME%\bin和%HADOOP_HOME%\sbin。加bin是為了能在任意目錄下敲hadoop、hdfs這些命令加sbin是為了能直接敲start-dfs、stop-yarn這類管理腳本。提示環(huán)境變量改完一定要關(guān)掉所有已打開的命令行窗口重新開一個舊的窗口讀的是舊環(huán)境。我吃過這個虧改完變量在當前窗口里敲hadoop version一直提示“不是內(nèi)部或外部命令”折騰半天才發(fā)現(xiàn)是窗口沒刷新。驗證方式很簡單新開一個命令行窗口敲hadoop version能打印出版本號、編譯信息、構(gòu)建時間就說明環(huán)境變量通了。如果這一步就失敗后面的所有操作都不用往下做先把這里解決掉。3.3 winutils.exe 和 hadoop.dllWindows 上繞不開的兩個文件這是 Windows 原生部署 Hadoop 最核心的一道坎。Hadoop 的部分功能依賴本地庫實現(xiàn)比如文件權(quán)限模擬、磁盤空間查詢、符號鏈接處理這些在 Linux 上有系統(tǒng)調(diào)用可以直接用Windows 上需要專門的編譯產(chǎn)物。社區(qū)長期有人維護針對各個 Hadoop 版本的 Windows 二進制包主要就是winutils.exe和hadoop.dll兩個文件。放置位置有講究winutils.exe放到%HADOOP_HOME%\bin目錄下和hadoop.cmd、hdfs.cmd這些批處理文件放在一起。hadoop.dll需要放到兩個地方一是%HADOOP_HOME%\bin二是C:\Windows\System32。放系統(tǒng)目錄這一步看起來粗暴但確實是最省事的做法因為 Java 通過系統(tǒng)路徑加載本地庫放在System32下能被穩(wěn)定找到。版本匹配這件事要特別注意。這些二進制文件需要和 Hadoop 主版本對應(yīng)跨大版本混用可能出現(xiàn)符號解析失敗。我用的 Hadoop 是 3.3 系列配套的 Windows 二進制包也選 3.3 系列的版本。如果你手頭只有 3.2 或 3.1 的包先試試能不能跑如果啟動時拋出UnsatisfiedLinkError或者NativeIO相關(guān)的異常那就說明不匹配得去找對應(yīng)版本。配完這兩個文件還要在hadoop-env.cmd里顯式指定HADOOP_HOME因為 Windows 上批處理腳本有時讀不到系統(tǒng)環(huán)境變量尤其是從快捷方式啟動的時候。我一般會在文件開頭補一行set HADOOP_HOMED:\hadoop\hadoop-3.3.x這一步看起來冗余但它能避免“明明配了環(huán)境變量卻提示找不到 winutils”的詭異情況。4. 四個配置文件逐行拆解每一項都在控制什么4.1 core-site.xml整個集群的入口地址core-site.xml是所有配置里最基礎(chǔ)的一個它定義的是整個 Hadoop 運行時的通用參數(shù)其中最關(guān)鍵的只有兩三項。configuration property namefs.defaultFS/name valuehdfs://localhost:9000/value /property property namehadoop.tmp.dir/name valuefile:///D:/hadoop/data/tmp/value /property property nameio.file.buffer.size/name value131072/value /property /configurationfs.defaultFS決定了所有 HDFS 客戶端默認連接的地址格式是hdfs://主機名:端口。端口我用了 9000這是傳統(tǒng)習慣值也可以改成別的空閑端口但改了之后所有引用這個地址的地方都要同步改。主機名寫localhost是最簡單的做法因為偽分布式只在本機通信不需要解析真實主機名。hadoop.tmp.dir這一項特別重要它是所有臨時文件的根目錄NameNode 的元數(shù)據(jù)、DataNode 的中間數(shù)據(jù)、YARN 容器的工作目錄都可能落在它下面。如果不顯式配置Hadoop 會默認寫到系統(tǒng)的臨時目錄里這個位置在 Windows 上經(jīng)常被清理而且重啟后可能被系統(tǒng)清空導致元數(shù)據(jù)和數(shù)據(jù)不一致下次啟動直接報錯。所以我強烈建議把它指向自己規(guī)劃的數(shù)據(jù)目錄。路徑的寫法需要注意Windows 路徑要用正斜杠并且前面加file:///寫成file:///D:/hadoop/data/tmp這種形式。寫成反斜杠或者漏掉file:///前綴解析時會出錯。這個細節(jié)我在第一次配置時就寫錯了報錯信息非常隱晦只是提示某個路徑不存在看不出是格式問題。io.file.buffer.size是讀寫緩沖區(qū)大小默認值偏小調(diào)到 128KB 能提升一點大文件讀寫效率。這個參數(shù)不是必填項屬于順手優(yōu)化配置不配置都不影響啟動。4.2 hdfs-site.xml副本、目錄與權(quán)限hdfs-site.xml管的是 HDFS 自身的行為偽分布式下最重要的幾項是副本數(shù)、元數(shù)據(jù)和數(shù)據(jù)目錄、權(quán)限開關(guān)。configuration property namedfs.replication/name value1/value /property property namedfs.namenode.name.dir/name valuefile:///D:/hadoop/data/namenode/value /property property namedfs.datanode.data.dir/name valuefile:///D:/hadoop/data/datanode/value /property property namedfs.permissions.enabled/name valuefalse/value /property property namedfs.namenode.http-address/name valuelocalhost:9870/value /property /configurationdfs.replication默認是 3意味著每份數(shù)據(jù)要存三個副本。偽分布式只有一臺機器、一個 DataNode根本湊不出三個副本HDFS 會一直處于“副本不足”狀態(tài)頁面上永遠掛著紅色的警告。改成 1 是必然選擇既符合單節(jié)點的物理現(xiàn)實也避免了后臺反復(fù)做副本復(fù)制帶來的資源浪費。dfs.namenode.name.dir和dfs.datanode.data.dir分別指定元數(shù)據(jù)目錄和數(shù)據(jù)塊目錄。這兩個目錄必須分開絕對不能指向同一個路徑否則格式化時會產(chǎn)生混亂。我把它們放在data下的不同子目錄里互不干擾。這兩個路徑同樣要用file:///前綴加正斜杠的寫法。dfs.permissions.enabled設(shè)為false是 Windows 下的實用妥協(xié)。HDFS 有一套類似 POSIX 的權(quán)限模型但 Windows 的文件系統(tǒng)沒有對應(yīng)的權(quán)限位winutils.exe只是做了模擬很多情況下模擬出來的結(jié)果和預(yù)期不一致容易導致“明明有權(quán)限卻提示拒絕訪問”。學習環(huán)境下關(guān)掉權(quán)限檢查能省掉大量無謂的排查時間。真要做權(quán)限相關(guān)實驗時再打開那時你對機制已經(jīng)有概念了知道該從哪個方向查。dfs.namenode.http-address指定 Web 管理界面的監(jiān)聽地址Hadoop 3.x 的默認端口是 98702.x 時代是 50070。配置成localhost:9870之后啟動成功就能在瀏覽器里打開http://localhost:9870看到 HDFS 的概覽頁、文件瀏覽、DataNode 列表等信息。這個頁面是驗證部署是否成功最直觀的方式。4.3 mapred-site.xml 與 yarn-site.xml計算框架的接線這兩個文件是一對前者告訴 MapReduce 作業(yè)往哪兒提交后者告訴 YARN 怎么接收和運行這些作業(yè)。configuration property namemapreduce.framework.name/name valueyarn/value /property /configurationmapreduce.framework.name設(shè)成yarn表示 MapReduce 作業(yè)跑在 YARN 上。另一個可選值是local本地模式不需要 YARN但那樣就失去了練習資源調(diào)度的意義。偽分布式下選yarn才有完整的作業(yè)提交鏈路客戶端連 ResourceManager、申請容器、NodeManager 拉起任務(wù)進程、任務(wù)跟 HDFS 交換數(shù)據(jù)。yarn-site.xml稍微復(fù)雜一點configuration property nameyarn.nodemanager.aux-services/name valuemapreduce_shuffle/value /property property nameyarn.resourcemanager.hostname/name valuelocalhost/value /property property nameyarn.nodemanager.vmem-check-enabled/name valuefalse/value /property property nameyarn.nodemanager.pmem-check-enabled/name valuefalse/value /property /configurationyarn.nodemanager.aux-services這一項是必須的它注冊了 MapReduce 的 Shuffle 服務(wù)。Map 階段的輸出要經(jīng)過 Shuffle 傳給 Reduce 階段這個輔助服務(wù)負責那部分數(shù)據(jù)傳輸。不配這一項作業(yè)提交上去會一直卡在 map 或者 reduce 階段日志里提示 Shuffle 服務(wù)不可用。yarn.resourcemanager.hostname指定 ResourceManager 所在的主機。偽分布式寫localhost就行。有些教程會寫具體的主機名那樣一旦計算機名變了就要改配置不如直接用localhost省心。后面兩個內(nèi)存檢查開關(guān)我建議一并關(guān)掉。YARN 默認會對每個容器的虛擬內(nèi)存和物理內(nèi)存做檢查超出限制就殺掉容器。Windows 下這個檢查的精度很差經(jīng)常在內(nèi)存完全夠用的情況下誤判把任務(wù)容器直接干掉表現(xiàn)為作業(yè)莫名其妙失敗、日志里寫著“Container killed”。關(guān)掉之后內(nèi)存分配由 Java 堆參數(shù)控制行為更可控。這不是生產(chǎn)環(huán)境該有的做法但在本機學習環(huán)境里能省掉很多干擾。4.4 hadoop-env.cmdJava 路徑與內(nèi)存閾值hadoop-env.cmd在etc\hadoop目錄下它的作用是給所有啟動腳本注入環(huán)境變量。最關(guān)鍵的只有一行set JAVA_HOMEC:\Java\jdk8注意這里用的是set而不是setx作用范圍僅限當前腳本及其子進程不會污染系統(tǒng)環(huán)境變量。這行配置寫錯啟動時會直接報“JAVA_HOME 未正確設(shè)置”。還有幾個可選的內(nèi)存參數(shù)值得順手調(diào)一下。Windows 機器內(nèi)存普遍不小但 Hadoop 默認給 NameNode 分配的內(nèi)存偏保守處理大量小文件時容易觸發(fā)頻繁 GC??梢栽谕晃募锛觭et HADOOP_HEAPSIZE_MAX1024 set HADOOP_NAMENODE_OPTS-Xmx1024m -Xms1024m set HADOOP_DATANODE_OPTS-Xmx512m -Xms512mHADOOP_HEAPSIZE_MAX是全局上限單位和 Linux 上一樣用 MB。NameNode 因為要維護整個文件系統(tǒng)的元數(shù)據(jù)內(nèi)存給大一點DataNode 相對輕量512MB 夠用ResourceManager 和 NodeManager 也用默認值即可。這些值不用給太夸張本機學習環(huán)境把總內(nèi)存控制在 3GB 以內(nèi)比較穩(wěn)妥剩下的留給系統(tǒng)和其他軟件。5. 格式化與啟動第一次跑通的完整過程5.1 格式化 NameNode 的正確姿勢配置寫完第一件事是格式化 NameNode。這一步會在dfs.namenode.name.dir指定的目錄里初始化元數(shù)據(jù)生成current目錄和fsimage文件。命令是hdfs namenode -format執(zhí)行后會輸出一大段日志最后幾行如果有Storage directory ... has been successfully formatted就說明成功了。如果看到Cannot lock storage說明該目錄已經(jīng)被占用可能是之前的進程沒退干凈或者已經(jīng)格式化過。這種情況下不要硬來先把所有 Hadoop 進程確認停止再檢查目錄里有沒有殘留文件。注意格式化只能做一次。重復(fù)格式化會把 NameNode 的集群 ID 重新生成而 DataNode 目錄里存的還是舊的集群 ID兩者對不上DataNode 就起不來日志里會提示ClusterId mismatch。真遇到了解決辦法是刪掉data目錄下的namenode和datanode兩個子目錄重新格式化代價是之前存進 HDFS 的數(shù)據(jù)全部丟失。學習環(huán)境下這不算事但一定要知道這個因果關(guān)系否則會對著報錯猜很久。格式化完成之后namenode目錄下應(yīng)該出現(xiàn)current子目錄里面有VERSION、fsimage_0000000000000000000這類文件。可以去確認一下這也是判斷格式化是否真的生效的依據(jù)。5.2 啟動腳本與進程驗證啟動分兩步。第一步起 HDFSstart-dfs.cmd這個批處理會打開兩個新的命令行窗口一個跑 NameNode一個跑 DataNode。窗口里會滾動大量日志正常情況下最后會停在某個狀態(tài)。這兩個窗口不能關(guān)關(guān)了進程就終止了。我習慣把它們最小化放著。第二步起 YARNstart-yarn.cmd同樣會打開兩個窗口分別是 ResourceManager 和 NodeManager。四個窗口都正常滾動日志、沒有立刻退出說明進程都起來了。如果某個窗口一閃就沒了說明對應(yīng)的進程啟動失敗去logs目錄找對應(yīng)組件的日志文件看末尾的異常堆棧。驗證進程是否真的活著可以用jps命令。這個命令在 JDK 的bin目錄下輸出類似12345 NameNode 12678 DataNode 13021 ResourceManager 13345 NodeManager 14567 Jps五個進程對應(yīng)上HDFS 和 YARN 的關(guān)鍵角色就齊了。如果少了哪個對應(yīng)的窗口一定已經(jīng)關(guān)閉了。這一步是我每次重裝環(huán)境時必做的確認比看窗口滾動日志更直觀。5.3 Web 界面與命令行雙重驗證進程起來之后打開瀏覽器訪問http://localhost:9870能看到 HDFS 的管理界面。重點看兩個地方一是首頁的Summary部分Live Nodes應(yīng)該是 1表示有一個 DataNode 在線二是Utilities菜單下的Browse the file system能列出 HDFS 根目錄的內(nèi)容說明元數(shù)據(jù)服務(wù)正常。YARN 的界面在http://localhost:8088首頁能看到集群的資源總量、已用資源、正在運行的作業(yè)數(shù)量。剛啟動時作業(yè)數(shù)是 0資源占用接近 0這是正常的。命令行這邊先建一個目錄、傳一個文件上去hdfs dfs -mkdir -p /user/test/input hdfs dfs -ls / hdfs dfs -put D:\local\somefile.txt /user/test/input/ hdfs dfs -cat /user/test/input/somefile.txt這幾條命令能跑通說明 HDFS 的讀寫鏈路完全正常。-ls能列出目錄-put能把本地文件寫到 HDFS-cat能把內(nèi)容讀回來三個方向都驗證到了。5.4 跑通第一個 WordCountWordCount 是驗證 MapReduce 鏈路的標準動作。Hadoop 發(fā)行包里自帶示例 JAR路徑一般在share\hadoop\mapreduce\hadoop-mapreduce-examples-版本.jar。先準備輸入數(shù)據(jù)隨便造兩個文本文件里面放一些重復(fù)的單詞傳到 HDFS 的一個目錄里hdfs dfs -mkdir -p /user/test/wc/input hdfs dfs -put D:\local\a.txt /user/test/wc/input/ hdfs dfs -put D:\local\b.txt /user/test/wc/input/然后提交作業(yè)。注意輸出目錄必須是 HDFS 上不存在的路徑否則作業(yè)會直接失敗提示輸出目錄已存在。這是 MapReduce 的設(shè)計約定為的是防止覆蓋已有結(jié)果。hadoop jar %HADOOP_HOME%\share\hadoop\mapreduce\hadoop-mapreduce-examples-3.3.x.jar wordcount /user/test/wc/input /user/test/wc/output提交之后控制臺會不斷打印進度百分比。同時打開 YARN 的 8088 頁面能看到一個應(yīng)用從ACCEPTED變成RUNNING再變成FINISHED。整個過程走完用下面的命令看結(jié)果hdfs dfs -cat /user/test/wc/output/part-r-00000輸出的每行是“單詞 出現(xiàn)次數(shù)”按字母序排列??吹竭@個結(jié)果說明 HDFS、YARN、MapReduce 三層已經(jīng)全部打通。6. 常見問題速查與排查思路實錄6.1 啟動階段的高頻報錯與定位方法啟動階段的問題占了全部問題的一大半我把遇到過的整理成一張表方便對照排查?,F(xiàn)象大概率原因處理方式窗口一閃而過無任何輸出HADOOP_HOME沒配或路徑帶空格在命令行里手動執(zhí)行腳本看報錯提示 JAVA_HOME 未正確設(shè)置hadoop-env.cmd里的路徑寫錯確認路徑存在且不帶引號NameNode 啟動后立刻退出元數(shù)據(jù)目錄被舊數(shù)據(jù)占用清空data目錄重新格式化DataNode 起來但 Live Nodes 為 0ClusterId 不一致清空數(shù)據(jù)目錄重新格式化提示找不到 winutils補充二進制未放到bin目錄補文件并檢查HADOOP_HOMEUnsatisfiedLinkErrorhadoop.dll未放系統(tǒng)目錄復(fù)制到System32后重啟命令行端口被占用9000 或 9870 被其他程序占用換端口或結(jié)束占用進程計算機名含中文導致注冊失敗主機名解析異常改用localhost或修改主機名“窗口一閃而過”這個現(xiàn)象最讓人抓狂因為看不到任何錯誤信息。我的應(yīng)對辦法是不雙擊運行而是先開一個命令行窗口cd到sbin目錄直接敲腳本名回車。這樣報錯信息會留在窗口里一眼就能看到是哪一行出的問題。這個技巧適用于所有.cmd批處理腳本。端口占用也值得一提。9000 是 HDFS 的 RPC 端口如果本機裝了其他用 9000 端口的服務(wù)NameNode 就綁不上。查占用用netstat -ano | findstr :9000能拿到進程號再用任務(wù)管理器找到對應(yīng)程序。9870 是 Web 端口沖突概率低一些但也不是沒有。真沖突了改hdfs-site.xml里的端口配置就行只影響 Web 訪問不影響數(shù)據(jù)讀寫。6.2 運行作業(yè)時才暴露的問題有些問題在啟動階段完全看不出來直到提交作業(yè)才炸出來而且報錯信息往往指向不明顯的地方。最常見的是Container exited with a non-zero exit code 1。這個報錯本身幾乎不提供任何信息只說容器退出碼非零。真正的線索在 NodeManager 的日志里搜這個容器 ID能找到它拉起的具體命令和標準錯誤輸出。我遇到過的原因有三種一是類路徑拼接在 Windows 下用了錯誤的路徑分隔符需要檢查mapreduce.application.classpath配置二是工作目錄權(quán)限不足NodeManager 無法在臨時目錄下創(chuàng)建容器目錄三是hadoop.dll沒被容器進程找到因為容器是新的進程環(huán)境變量繼承可能不完整。另一個是作業(yè)長時間卡在ACCEPTED狀態(tài)一直不進入RUNNING。這說明 ResourceManager 收到了作業(yè)但沒有分配到容器。原因通常是 NodeManager 沒注冊上或者可用資源不足。去 8088 頁面看Cluster Nodes列表如果為空說明 NodeManager 根本沒連上 ResourceManager回去檢查yarn-site.xml里的主機名配置和 NodeManager 窗口的日志。如果列表有節(jié)點但資源顯示為 0那是內(nèi)存參數(shù)配得太極端把這個節(jié)點的可分配內(nèi)存擠沒了。還有一種比較隱蔽作業(yè)能跑完但結(jié)果不對比如輸出文件是空的。這種情況先看 Map 階段的輸入記錄數(shù)是不是 0。如果是 0說明輸入路徑?jīng)]讀到文件可能是路徑寫錯也可能是文件權(quán)限問題。我在關(guān)掉權(quán)限檢查之前遇到過一次本地傳上去的文件所有者是當前 Windows 用戶名但作業(yè)運行時的用戶名解析出了偏差導致讀不到文件。關(guān)掉dfs.permissions.enabled之后就沒再出現(xiàn)過。6.3 停止、重啟與二次啟動的注意事項停止的順序有講究一般是先停 YARN 再停 HDFSstop-yarn.cmd stop-dfs.cmd反過來停也不是不行但 YARN 上如果還有運行中的作業(yè)直接停 HDFS 會讓作業(yè)以很奇怪的方式失敗日志里一堆連接異??雌饋硐袷桥渲脝栴}實際上只是停止順序?qū)е碌?。二次啟動時最容易踩的坑是“沒等上一個進程完全退出就重新啟動”。Windows 上進程退出有時會有延遲端口還沒釋放新進程綁不上報Address already in use。我的做法是停完之后用jps確認四個進程都不在了再執(zhí)行啟動。如果jps顯示還有殘留去任務(wù)管理器里結(jié)束對應(yīng)的java.exe進程。還有一個細節(jié)如果某次啟動失敗data目錄里可能會留下鎖文件或者不完整的臨時文件導致下一次啟動也失敗。判斷方法是看 NameNode 日志里有沒有Cannot lock storage或者Directory is already locked這類關(guān)鍵詞。遇到了把data目錄下的tmp子目錄清空通常就能恢復(fù)不需要動namenode和datanode目錄也就不會丟數(shù)據(jù)。提示養(yǎng)成一個習慣每次改動配置文件之前先備份一份。Windows 上排查問題時經(jīng)常要改配置試錯改來改去就忘了最初是什么樣。我一般在etc\hadoop下建一個bak目錄把改之前的四個 XML 文件復(fù)制進去出問題了一鍵還原比憑記憶回滾靠譜得多。7. 一些只有實際搭過才會有的體會整套環(huán)境搭下來我最深的感受是Windows 上跑 Hadoop 的難點不在 Hadoop 本身而在兩個系統(tǒng)的“接口層”。配置文件怎么寫、參數(shù)是什么意思這些看文檔就能明白真正耗時間的是路徑格式、權(quán)限模擬、本地庫加載這些邊界地帶它們不在任何一份官方文檔里只能靠一次次報錯去試。所以我的建議是第一次搭的時候把每個報錯都記下來包括完整的報錯文本和你最終的解決方式形成自己的排查清單。下次換機器或者換版本時這份清單能讓你在半小時內(nèi)定位問題而不是重新經(jīng)歷一遍摸索。另一個體會是關(guān)于“夠用就好”這個判斷。偽分布式下很多人會照搬生產(chǎn)環(huán)境的參數(shù)副本數(shù)設(shè) 3、內(nèi)存給 8G、各種超時時間拉到很長結(jié)果本機資源被吃光反而跑不動。學習環(huán)境的配置應(yīng)該反過來做減法副本數(shù)降到 1、內(nèi)存控制在小幾百兆、能關(guān)的檢查都關(guān)掉目標是讓鏈路跑通、讓機制看得見而不是追求性能指標。等你把流程走順了再逐項加回去觀察每項參數(shù)帶來的變化這個過程本身就是很好的學習。最后分享一個我在排查時常用的小技巧不確定某個配置項有沒有真正生效時用hdfs getconf -confKey 配置項名稱直接查運行時的實際值。比如hdfs getconf -confKey dfs.replication返回的就是當前生效的副本數(shù)。這個命令比翻配置文件可靠因為它讀的是進程實際加載后的結(jié)果能排除“改了文件但沒重啟”“改錯了文件”這類低級失誤。搭環(huán)境的過程中大部分所謂的“疑難問題”其實都是配置沒生效先用這個命令確認一遍能排除掉一半的可能性。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久婷婷五月综合伊人| 丁香五月色色| 青青.com| 国产色香蕉精品五夜婷| 亚洲操操操| 丁香久久久| 一区二区乱码视频| 91美女啪啪| 大香蕉久久久| 综合婷婷五月丁香在线观看| caopeng超碰| 久久免费高| 五月丁香综合啪啪| 五月天婷婷久久视频| 久热9| 专区无日本视频高清8| 五月网网站| 影视av久久久噜噜噜噜噜三级| 99久热| 人妻操在线看| 综合激情五月四射婷婷| 操碰99| 天天爱天天天射AV| 五月天婷婷影院| 开心色五月天久久久久久久| 开心丁五月| 欧洲S级在线观看| 欧美综合激情| 亚洲亚洲人成综合网络| 国产做A爰片毛片A片美国| www.婷婷五月| 五月天亚洲综合网| 五月丁香六月婷婷国产视频| 久热只有这里精品| 天天天天做夜夜夜夜做| 日在线V视频在线播放| 丁香婷婷色情| 国产精品成人AV在线| 狠狠色丁香乆乆| 天天天天操| 另类激情首页| 久久天天| 丁香婷婷五月综合| 九九免费精品| 日本五月天激情| 婷婷五月丁香六月天亚洲综合| 天天日天天舔天天摸| 九九九九九九九九九九九九九国产精品| 人妻中文在线| 五月丁香在线| 狠狠干五月| 国产精品99久久久久久久女警| 五月天丁香婷婷社区| 丁香婷在线| 亚洲色五月天在线| 99愛国产| 日韩在线99| 六月久久狠狠| 婷婷九月在线| 日日干天天爽| 玖玖在线视频| 91丁香婷婷综合久久欧美| 成人无码精品1区2区3区免费看| 性爱视频久久| 97超碰,人人舔,人人操,人人摸| 久草五月| 九色1区视频在线| 精品久久久中文字幕大豆网推荐理由| 久久99精品久| 激情久久久久久| 91九色中文字幕女在线观看| 五月综合亚洲色| 丁香婷婷中文字幕| 成人视频一区| 99九九精品| 深爱激情六月| 嫩草AV久久伊人妇女超级A| 久热中文字幕| 婷婷综合另类| 色综合久久88色综合天天看| 久久久8| 天堂网色色| 亚洲欧美日韩另类| 色婷婷手机在线| 久久亚洲网| 天天色,天天操,天天射| 色婷五月天网站| 亚洲精99| 99精品久久久久| 天天狠狠六月婷丁香影院| 丁香五月婷婷五月天| 婷婷五月色惰| 67久久| 91人人爽人人操| 国产操肏网站| www.五月天婷婷姐姐| 五月婷婷开心六月激情小说| 男人天堂99| 97在线精品| 婷婷五月天VI| 天天插天天玩天天干| 婷婷免费无视频| 九九色热| 精品爱欲五| 大香蕉在线观看9| 視频福利乱色| 丁香婷停五月激情综合深爱| 日本啪啪天堂| 色色色五月天激情资源| 久er7久热| 亚洲99精品欧美一区| 99这里只有精品| 色五月激情网| 九九99九九99| 色婷另类| 亚洲精品九九| 久久成人综合五月天| 99精品无码| 大香蕉啪啪啪| 色色色激情| 思思热久久久在线| 亚洲V国产V欧美V久久久久久| 色月丁| 婷婷免费成人视频| 九九热黄色| 日本黄 色 片| ji'qing'luan'ren'lun| 99亚州综合精品成人网| 97自拍99| rr天天操| 9色免费网| 在线国产精品色| www天天干| 亚洲视频操| 天天肏天天舔AV| 99久久精| 丁香五月激情婷婷| 九九色综合网| 中文AV在线播放| 色色色色色九九九九九| 成人欧美Va| 五月天婷婷色色| 日本一级大片| 五月婷婷六月色| 五月婷三级片| 五月天中文网| 丁香情色五月| 狠狠狠狠狠狠狠狠草| 亚洲不卡123| 色欲人妻综合aaaaaaaa网| 第四色五月天| 久久久久久久8| 99热99色| 久久久A级视频| 色亭亭五月天网扯| 91九色偷拍| 日本ww亚洲| 五月婷婷色五月| 熟女网站久久| 天天干天干| 亚洲综合视频网| 1024国产| 蜜臀av无码久久久久久久久| 97久久久| 人人做人人看人人摸| 五月婷婷激情综合| 天天干天天 亚洲| 亚洲人妻av伦理| 激情综合网之激情五月| 中文字幕有多少字| 亭亭丁香aV| 九九色精品| 婷婷丁香六月五月天| 激情综合久久| 五月丁香啪啪激情| 久久久久久久久久久久久久久久久精典| 青青草蜜臀| 在线观看免费视频| 天天激情| 久久五月视频| 亚洲电影在线观看| 久久久大香蕉| 呦呦v线| 老师的粉嫩小又紧水又多A片视频| 丁香五月激情婷婷视频| 五月天操逼激情| 六月婷婷久久大全| a网站免费观看| 色5月婷婷| 五月天激情无码高清| seav天堂| 五月婷婷深深爱| 婷婷丁香色情| 免费观看全黄做爰的视频| 99久久成人| 亚洲99一级无嗎特制在线| 激情综合一| 噜噜噜狠狠色综| 久久久久人妻网址| 久久成人人妻| 五月开心六月婷婷在线播放网站| 91九色PORNY中文啦| 五月婷婷在线视频观看| 成人精品一区二区三区四区五区| 丁香婷婷五月天成人| 五月婷婷AV| 五月婷婷开心色伊人| 色情终和网| 99ri视频在线播放| 婷婷五月六月激情| 五月天婷婷色五月天| 少妇2做爰HD韩国电影| 欧美婷婷五月丁香| 亚洲五月婷天天操| 噜噜噜狠狠色综合| 精品九九网| 欧美搡BBBBB摔BBBBB| 丁香久久| 色婷五月| 丁香 婷婷五月| 国产三级在线播放| 桃色成人网| 99自拍网| 激情五月婷婷在线观看| 另类专区在线| 久久五月天免费网站| 九九热最新地址| 五月丁香婷婷六月天| 9l视频自拍九色9l视频自拍九色9l社区| 99国产精品白浆在线观看免费| 天天狠狠夜夜狠狠2023| 国产一级婬片毛片| 99小精品| 激情五月婷婷丁香六月| 色 五月 天 婷婷 丁香 九月| 综合久久婷婷| 九九这里有精品| 丁香五月手机在线| 天天日天天插| 这里只有精品视频| 久久久久久久人妻| 亚洲色热| 99亚洲精品| 五月天 另类图片| 99色色网站| 九九人人精品| 久Se视频在线观看| 日韩精品超碰在线观看| 五月天婷婷丁香花| 另类综合激情| 97婷婷狠狠| 欧美日韩国产成人在线| 婷婷激情六月中文| 色色五月丁香婷婷综合| WWW、日本色丁香、co m| 最近中文字幕2019视频1| 九月婷婷综合| 色五月婷婷亚洲| 五月婷婷丁香| 亚洲啪啪啪啪| 五月激情啪啪| 亚洲精品V天堂中文字幕| 婷婷综合| 亚洲中文字幕网| 婷婷色色五月天| 人人妻人人澡| 久久婷婷五月| 久草热8精品视频在线观看 | 丁香五月天啪啪激情综和网| 性按摩玩人妻HD中文字幕| 免费黄色视频网址| 天天日夜夜| 午夜婷婷| 欧美色五月| 欧美大片免费播放器| 天天色粽合合合合合合合| 丁香成人五月天| 天天综合精品| www.丁香六月婷婷久久天堂影院.con| 碰久久精品w| 色五月综合网站| 狠狠狠狠狠狠草| 婷婷婷久久| 色婷婷色| 天天摸天天舔在线视频| 99精品在| 天天日天天插| 激情开心五月天| 俺去也婷婷| 婷婷最新地址| 激情丁香六月| 激情黄色五月天| 五月综合影院| 91视频精品99| 狠狠精品干练久久久无码中文字幕| 1024亚洲无码| WWW免费视频碰碰碰碰| AV动漫不卡无码免费| 超碰人人91| 四月婷婷五月色综合| 久久亚洲色导航| 九九热这里只有精品9| 人人看人人摸人人| 网站免费一站二站| 成人va在线| 五月婷婷久久大香蕉| 成人AV在线电影| 人人舔人人色人人高潮| 色色色色网| 五月天丁香成人| 婷婷综合网站| 91综合色噜噜| 激情五月丁香激情综合网 | 日日噜噜夜夜狠狠久久丁香六月| 91视屏在线观看com.wwwvv| www.lingjunshare.com| 开心激情站| 超碰自拍天堂| 久久五月丁香综合17C| 99热精品无码| 99ER热精品视频| 第五婷婷伊人丁香| 99小视频网站| 国产欧美熟妇另类久久久| www.玖玖婷婷在线| 伊人婷婷激情| 亚洲视频99| 人妻免费网站| 永久地址 色| 激情五月天电影| 丝袜熟女一区二区三区| 丁香五月天人体| 丁香激情网| 国产成人精品123区免费视频| 91精品无码久久久久久五月天| 久久五月丁香伊人青草| 九九99免费理论| 久久免费少妇高潮99精品| 亚洲AV网址| av在线色五月丁香婷区久| 大香蕉综合在线| 青青草99热久久精品国| 色丁香五月婷婷在线| 色99在线| 久热这里只有精品3| 久久一热| 亚洲综合成人网站| 丁香六月婷婷综合啪啪| 香蕉影院色| 婷婷五月天堂网| 久久久久激情网| 97操资源婷婷| 婷婷深爱五月丁香| 婷婷免费视频| 色偷偷五月天| 五月激情婷婷偷拍| 色五月色五天色情网| 公的粗大挺进了我的密道| 4399在线日本A片| 天天日夜夜拍| 久久一品区| 怡红院一二三| 丁香六月综合激| 美女丁香五婷婷| 婷婷五月天天| 激情五月www| 麻豆AV一区二区三区| 九九色逼| 91久久久久久久| www.av视频xx999.com| 99九九在线观看免费| 97在线日本| 天天色天天爱天天爱天天爱y| 免费无码毛片一区二区A片| 婷婷激情综合网| 五月天激情久久| 99热线观看9| 狼人狠狠操| 91九色欧美| 色七七九九| 欧美三级黄色片久久| 婷婷丁香五月综合免费视频百花| 婷婷六月视频| 99久久婷婷国产综合| 久久久精品99亚洲综合| 中文字幕日产A片在线看| 激情六月丁香综合| 婷婷五月激情基地| 久久久这里有精品| 午夜理论片最新午夜理论剧| 五月天婷婷婷| www激情| 亚洲欧洲一二| 丁香九月婷| 亚洲综合在线伊人婷| 粉嫩AV久久一区二区三区| 婷婷AV丁香| 男同91| 婷婷五月图片小说网| 蜜乳AV成人| 色五月涩涩婷婷| 五月丁香六月综合情在线观看 | 99热碰碰| 26uuu国产| 夜夜操少妇| 综合网色综合| 亚洲人妻AV| 五月天久久综合婷婷丁香| 色婷婷啪啪| 久操无码| 亚洲色vA| 久色网址| 香蕉曰比| 婷婷五月天福利| 欧美色色色| 亚洲操B视频| 久久99视频| 激情综合网亚洲色图| 综合九九中文字幕| 成人龟情网丁香五月| 六月亚洲婷婷6月中文字幕| 久久五月天激情| 婷婷性福五月天| 五月丁香美女| 蜜臀av粉嫩av懂色av| 人人操AV| 99福利导航| 青青草性爱视频| 五月婷婷黄网站大全| 99视频九九热| 色欧洲| 激情啪啪五月天| 日韩三级视频一区二区| 专区无日本视频高清8| 激情五月天小说网| 五月欧美色色五月| 久久99网| 七月丁香五月婷婷在线| 99爽视频| 亚洲AV人人操| 中文字幕天天干| 激情六月天| www.超碰| 婷婷丁香成人色综合| 色丁香在线视频| 国产亚洲成AV人片在线观黄桃| 立川无码av| 亚洲国产精品VA在线看黑人| 五月丁香色婷婷综合| 九热网站| 这里只有精品视频| 日韩综合久久| 99热精品在线| 五月综合精品| 日韩美女羞羞网站在线观看| 色色色免费视频| 99热20| 碰97 久| 99综合一区| 久久中国毛毛片爱久久| 色情成人五月天| 人妻久久久久久久久妻久久久久| 婷婷色色亚洲| 成人免费高清在线播放| 五月婷婷六月丁香免费| 乱乱av| 天天插天天日| 成人va在线观看视频| 精品热青草| 色五月丁香婷婷久草| 欧美天天草人人草| 婷婷丁香五月基地| 狠狠狠狠狠狠| 色XX综合网| 丁香婷婷网| 久久在线视频免费观看| 国产综合婷婷| 色情五月天婷婷| 第四色五月婷婷| 成人做爰高潮A片免费视频| 思思热99在线视频| 日本怕怕视频| 久久爱综合| 日本三级日本三级99| 婷婷五月天 偷拍| 色五月婷婷激情基地| 噜噜噜久久| www.色五月.com| 久热这里只有精品6官网亚洲| 久久精品熟女亚洲AV麻豆| 色丁香婷婷| 深爱激情久久| ay2区| 超碰在线个人观看| 99热久| 噜噜吧天天爱| 狠狠插狠狠| 丁香五月亚洲AV| 婷婷五月花.97| 欧美三级欧美一级| 开心五月深爱婷婷| 亚洲、热| 婷婷色女| 大香蕉99热| 婷婷五月天免费99| 五月亭亭开心网| 26uuu在线观看| 久久人妻情侣| 丁香香五月激情免费视频| 96色婷婷| 日操熟女| 五月天激情小说| 婷婷丁香在线| 热99这就是精品视频| 婷婷久久夜| 久久视频婷婷视频| 久久激情五月网| 蜜乳A√| 久久三级视频| 97资源碰碰在线| 免费看欧美成人A片无码| 玖玖爱综合网| 99爱视频| 午夜九九九九九九九九九九九九九| 丁香五月激情澎湃一区| 丁香五月第九色| 色婷五月婷婷| 婷婷五月天国产精品| 婷婷五月,偷窥偷拍网| 9 1大香蕉| 色婷婷8| 国产看真人毛片爱做A片| 97香蕉碰碰人妻国产欧美| 可以直接看的av| 欧美人妻一区二区| 婷婷精品综合| 热久视频| 婷婷丁香五月亚洲免费| 激情九九这里只有精品| 成人九九视频| 色色色色色色网站| 就爱射中文字幕资源网| 五月丁香 啪啪啪| 99re这里只有精品首页| m色激情网| 五月天色婷婷伊人网| 国产精品色色色色| 婷婷五月天视频在线观看| 久久6这里只有精品| 五月天婷综合网站| 伊人成人宗合网| 99精品爱| 俺也去在线视频| 激情五月婷婷综合色播小说| 五月丁香婷婷俺| 伊人AV五月婷| 操日视频| 久久九九99| 九九视频这里只有精品| 色婷婷小说| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 免费视频这里只有精品| 怡红院一二三| 久久9热| 激情婷婷丁香五月天| 日韩色五月| 色噜噜综合网| 噼里啪啦在线观看免费完整版视频 | 在线视频你懂得| 五月丁香美女视频| 色婷五月天亚洲| 五月丁香婷婷激情澎湃四射| 日本五月婷婷| 亚洲色五月天| 在线播放人妻| 中文字幕婷婷在线| 久久综合这里只有精品1| 国产精品色色666| 婷婷久久五月天亚洲欧美国产日韩在线观看 | 色色色色色色色色色色色色色五月天| 九九色播五月丁香| 激情五月天噢美| 狠色狠色狠色狠色狠色网| 天天xxxxxx天天日| 91无码视频| www.zbzhongsen.com| 久久激情中文| 亚洲123区高清入口| 91精品久久久久久久久 | 日本欧美成人片AAAA| 超级碰碰视频无码| 九九热这里只有精品7| 色婷婷六月激情| 中文字幕色色| 国产 码在线成人网站| 99在线精品免费视频| 综合精品啪啪| 一起草无码视频| 这里只有精品久| 九九大香蕉黄色影院| 婷婷在线视频| 国产一区18| 伊人五月婷婷| www婷婷| 久久五月丁香| 男人視頻站| www.狠狠操.co m| 五月天综合婷婷| 亚洲精品婷婷| 99九九视频| 丁香婷婷少妇| 玖玖在线视| 久久婷婷五月天激情新地址| 99ri在线观看视频| 伊人五月天婷婷| 色色吧综合| 天天综合网~91| 久热伊人| 日韩aaa| 婷婷五月综合激情| 99视频网址| 思思久久99热只有频精品66| 色婷婷综合网| 91久久| 欧美色色色色色色色| 久机视频这只有精品| 九九九午夜视频| 婷婷五月天亚洲激情戏精品| 超碰激情网| 亚洲午夜在线视频| 人人爱操| 九九热AV| 啪啪黄页网| 这里只有精品免费视频在线观看| 色婷婷成人| 久99视频在线观看| 99热综合色图| 欧美久久久久久久久中文字幕| 天天草天天舔| 色综合久久久久| 色哟哟精品| 五月婷婷综合丁香视频| 久久综合五月情| 天天爱天天日| 久久大香蕉| 99热热这里只精品996小说| 26uuu另类| 少妇水多A片太爽了| 九月婷婷综合| www婷婷| 老师把我爽高潮了免费A片| 2023天天日夜夜爽| 99综合| 五月丁香综合啪啪| 日本久热| 色婷久九| 色欲婷婷五月天丁香| Av在线资源| 五月丁香无码| 婷婷五月色花丁香社区| 九九色综合视频| 婷婷伊人久久无码色五月| 色播丁香五月婷婷操:屄| 超碰色综合| 91无码视频| 日韩操逼大片| 久久精品4| 婷婷97碰碰| 99ri视频在线观看| 涩涩五月天| 丁香婷婷性久久| 色色性爱视频| 日韩av网站在线观看| 99热这里只有精品1| 丁香五月婷婷综合网| 男女啪啪做爰高潮无遮挡| 97婷婷丁香五月| 中文字幕无码人妻少妇免费视频| 色五月视频无码播放| 99热10在线高清播放| 久久久人妻门| 超碰a女人的天堂| 香蕉国产2013| 五月六月播婷婷| 图片区 小说区 区 亚洲五月| 99爱免费在线观看| 亚洲九九99精品视频在线播放| 五月天婷婷高清无码| 婷色天堂| 五月婷婷激情中文字幕| WWW99热| 婷婷五月天基地| 五月丁香好婷婷姑娘综合网| 婷婷香草网| 激情综合网五月激情| 五月婷婷综合社区| 色综合久久久久| 丁香六月高清视频| 9久热在线视频| 九九热婷婷| 婷婷亚洲天堂| 久久久91精品| 欧美日韩成人在线观看| 2015好吊操| 熟惀91九色在线| 另类图片婷婷五月天| 久久精品五月| 五月丁香婷婷成人网| 久久伊人日日夜夜| 在线伦子99热| 欧美日韩成人在线| 2w在线视频| 第四色五月婷婷| 五月天综合视频| 天天插天天干天天舔| 91九色大屁股| 在线观看国产高清视频免费网站| 天天插插天天| 五月丁香啪啪| 97婷婷五月丁香| 婷婷伊人五月天| 五月丁香六月欧美| 亚洲99综合| 综合色、色综合| 色五月大| 国产另类综合| 久久久久久激情| 五月天小说激情| 色婷五月| 五月天综合激情网| WWW·天天操·视频?| 超碰五月婷婷五月天| 五月色网| 五月天婷婷成人网| 欧美天天干五月丁香| 五月婷婷六月丁香首页| 99热这里只有精品8| 色婷婷五月天偷拍| 色小说婷婷五月天天天| 五月天天综合| 9色婷婷| 99久久婷婷国产综合精品草原| 99re思思精品在线观看| 激情综合色网| 综合婷| 久久精品一区二区三区四区| 色情综合| 丁香五月婷婷视频| 婷婷五月天日日日干干干| 国産精品| 91久草五月天婷婷| 丁香婷婷AV| 久久久久9| 丁香五月婷婷基地| 色五婷婷开心缴| 激情五月天久久丁香| 99久精品| 91操女| 成人.在线日韩| 国产成人99久久亚洲综合精品| 婷婷五月视屏| www.婷婷,com| 婷婷一本和五月丁香| 九九综合色| 玖玖婷婷婷丁香五月| 久月久在线视频| 激情网五月天| 狠狠色婷婷7777久| 五月天综合婷婷| 久久资源网五月婷| 亚洲99在线| 五月天婷婷视频| 色色哒五月婷婷六月丁香| 五月婷婷开心激情六月蜜桃| 99热网站在线观看| 黄色大片又大粗又爽| 欧美啪啪9| 久九九热| 九九综合九| 欧亚成人A片一区二区| 日日色综合| 五月丁香啪啪啪啪| 久久五月激情综合| 亚洲六月婷婷| 色色五月天网站| 久热 91| 色99自拍| 99福利导航| 丁香婷婷五月天激情四射| 涩涩五月天| 色色国产| 五月天激情网站| 99色视频| 丁香五月婷婷六月丁香| 996er热| jiZZdr| WWW.99视频| 成人在线视频一区| 久9视频免费播放| 久久hd| 日本色道视频网站| 欧美成人A片AAA片在线播放 | 久久99久久99久久99人受| 久久综合性| 色九区| 色五月大香蕉| 精品一二三区久久AAA片| 荡乳尤物3HP1V5| 国产精产国品一二三在观看| 熟妇人妻中文字幕无码老熟妇| 天堂成人A片永久免费网站| 国产人妻人伦精品一区二区| 六月婷综合| 91综合网| 91精品久久久久久久| 丁香婷婷久久| 六月丁香婷婷尤物| 99国产这里只有精品| 久久99久久99精品免观看软件 | 97se在线视频| 久艹大香蕉| 九九热a| 欧美天天综合网站上去吧| 五月婷网站| 亚洲综合五月天| 日本综合色色| 欧美日韩成人在线| 特黄三级又爽又粗又大| 婷婷六月综合| 婷婷舔| 五月丁香花婷婷玉莉AV| 亚洲另类视频| 五月丁香大香蕉| 久久AV无码精品人妻系列试探| 狠狠色婷| 人人97碰| 六月婷婷影院| 婷婷五月激情视频在线| 色播五月婷婷| 久久精彩视频18| 黄色毛片精品| 777色婷婷爱五月| 色五月婷婷啪啪五月| 婷婷成人视频| 97av在线视频| 狠狠色网| 青草性爱视频| 激情五月天影院| 久久a热| 亚韩精品视频1区| 丁香五月手机在线| 五月婷婷五月天天| 99啪啪网| 人妻精品一区二区三区| 欧洲色| 五月天婷婷涩涩| 五月天婷a在线| 九九激情视频| 激情丁香五月天| 久久38视频| 久久草大香蕉| 激情五月天伊人av| 五月激情综合网| 日韩综合久| 色婷婷AV五月天| 97干欧美| 婷婷天堂伊人| 99啪啪| 综合久久99| 亚洲操操| 久久国产高潮白浆免费观看99| 97久久人人| 五月丁香无码| 99热在线看| 婷婷终合色图| 天天干天天干天天干天天干天天| 99re思思久久| 99re视频在线| 久久 这里只有精品1| 99久在线精品99re8| 婷婷中文网站| 久久这里有精品99| 深爱五月天| 碰超99| 婷婷涩涩五月天| 激情五月婷婷| 色色色777| 超碰93在线观看| 欲求不满的人妻| 色综合久久88色综合天天人守婷| 狠狠爱激情网| www色婷婷com| WWW.99热| 99国产精品久久久久久久久久久 | 青青草免费公开视频| 五月天丁香网站| 色5月丁香婷婷| 九九色中文| 狠狠干在线视频| 五月婷婷六月色| 九九热av| 任你搞网站| 久久一伦| 欧美成人网99网| 色级停停| 婷婷六月天精品| 亚洲成人免费在线| WWW久久久| 婷婷性爱影院| 91人人超碰在线| 夜夜爽天天爽| 91大神在线免费看视频全集男男一起操| 婷婷五月婷婷五月| 国产AV一区二区三区最新精品 | 五月天婷a在线| 日本一级一级一级一级| 九九re精品视频在线观看| 可以免费观看的AV| 色九月综合网| 日本成人噜噜噜| 人妻五月天激情开心网| 操操操操操电影网| avh片在线观看| 丁香六月激情蜜桃| 中文超碰视在线| 天天色综合综合| 影院久久久| 五月丁香六月激情综合欧美| 人妻免费网站| 99精品免费欧美小视频| 丁香狠狠操| 99这里只有精品视频| 精品人妻在线| 色你久久| 99热亚洲| www.日日夜夜.com| 日本本土色网第一区| 天天日天天舔| 五月天婷婷五月| 青青久久五月天丁香婷婷| 五月激情婷婷丁香| 中文在线成人| 六月激情婷婷| 久久这里只有国产| 1000部毛片A片免费观看| 五月婷婷成人网首页| 五月天丁香婷婷视频网址| 女力报到正好爱上你| 99热精品超碰| 日韩久热| 色婷婷综合久色AV五色最新| 婷婷色中文字幕| 五月色婷婷AV| 伊人激情网| 成人免费va| 五月天久久综合| 久久久97| 狠狠狠狠狠草| 日本在线wwww| 在线成人网站| 亚洲精品乱码久久久久99| 亚洲狠狠色丁香婷婷综合久久| 九九久久网| 外国碰视频网站97| 五月激情啪啪| 天天搞天天色综合| 亚洲旡码| 无遮挡国产高潮视频免费观看| 99热这里只有精品 搜| www,色综合| 99热.com| 五月天自拍视频| 丁香五月婷婷大香蕉| 大香蕉婷婷| 五月丁香六月合| 久久久jd| 狠狠干狠狠干| 99er热精品视频| 九九五月天| 999热这里只有美国精品| 丁香婷五月天开心六月| 天天色综合色色色色色。| 99ri6在线视频| 天天日夜夜帕| 大香蕉九九| 婷婷婷久久| 九九热九九| 开心五月丁香婷婷| 婷婷久久影院| 免费观看18视频网站| 在线观看中文字幕| 天天AV导航网| 97五月综合网| 极品人妻VIDEOSSS人妻| 亚洲综合99| 六月香五月婷| 色婷婷色九月| 久久99大| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 国产精品色婷婷AV综合色色| 婷婷久久亚洲| AV片在线观看| 日本丁香五月| 五月天六月色| 五月婷婷色综图片| 国产性爱一级| 屁股翘好撅高迎合跪趴| 色五月色图| 亚洲色综久久五月| 热99国产精品| 激情中文在线| 99热传媒| 中文av网| 可以免费观看的AV| 五月天夜夜爱夜夜操| 日本片日本片祼观看网站在线看中文版网页在线看 | 九九激情| a久久| 热99热9| 伊人婷婷青青cao| 色九综合| 91性交在线播放| 国内外色色色色色成人视频| 五月婷婷综合丁香视频| 激情综合六月| 久久6这里只有精品| 伊人久久婷婷| 久久久久久久久久久44| 九九综合网| 桃色成人网| 中文AV网站| 久久99久久99精品免观看粉嫩| 天天天久久人人人合| 欧洲精品欧洲情| 婷婷色在线观看| 丁香婷婷五月人体| 日本色99网站| 色欧美一级| 伊人91| 伊人婷婷五月天| 91操熟女| 五月婷婷丁香啪啪| 九九视频这里只有精品| 天天谢天天操| 久久99热精品a片在线观看| 亚洲人人96@| 婷婷九月| 性色欲情 网站| 五月丁香福利| 99热欧美偷拍| 色护士综合| 性爱五月婷| 色综合久久久无码中文字幕999| 这里只有精品视频在线| 婷婷丁香五月综合| 天天综合精品| 99A片| 91蜜桃婷婷狠狠久久综合9色| 丁香六月色婷婷| 婷婷丁香亚洲色综合91| 色噜噜狠狠色综合日日| 激情五月婷婷网| 99视频在线精品| 亚洲婷婷五月天激情综合| 99re热久久| 精a品a视a频| 色婷婷丁香五月高清在线| 99久久a线观| 婷婷五月欧美综合| 成 久久| 久久性爰视频这里只有精品| 另类综合国产| 少妇人妻综合色6699| 久久国产色| 四月丁香五月婷婷久久| 综合成人小说婷婷| 无码色色| www.五月天| 午夜成人AV在线| 依人大香蕉| 大地9中文在线观看免费高清| 北京熟妇搡BBBB搡BBBB| 日本精品人妻无码77777| 欧美三级巜人妻互换| 97碰碰久久| 影音先锋91视频| 国产婷婷久久| 综合色影院| 色九九综合| 思思热性操| 中文在线视频久1| 久久性爱视频| 亚洲成人综合在线| 爱射综合| 婷婷97色| 丁香五月婷婷av影院| 婷婷五月天丁香久久| 伊人大香蕉毛片| 99操无码视频观看| 97五月天婷婷午夜| 国产精品色一哟哟| 天天操夜夜操| 人妻久久久久久久 | 97人碰人操| 综合AV在线| 91一起操| 玖玖爱伊人网| 99精品久久久久久久| 久久黄A片| 丁香五月激情鲁| 国产精品色婷婷99久久精品| 久久久婷婷| 五月婷丁香久久综合| 97碰| 天天日狠狠| 亚美欧色影院| 五月婷婷综合在线| 天天操天天干天天射| 3p久久| 欧美色骚婷婷五月天| 激情婷婷啪啪| 久久怡红院| 色婷婷av综合网| 色婷婷成人| 午夜激情五月| 丁香五月成人社区| 婷婷中文综合网| 天天摸天天肏| 十月丁香九月婷婷综合| 色综合九九| 丁香婷婷久| 久热中文字幕| 婷婷丁香五月天在线| 久久丁香| 69久久久| 精品在线网站| 国产一级婬片毛片| 亚洲1区| 天堂在线婷婷| 婷婷激情五月天网站| 色婷婷成人| 天天做天天爱| 91色噜噜狠狠狠狠色综合| 丁香婷婷人妻| 成人丁香五月| 9精品久久999| 九色视频91| 丁香五月在线观看| 亚洲综合五月天婷婷| 狠狠综合久久综合| 丁香六月高清视频| 欧美精品99| 9精品一区| 一级韩国产精品毛| 天天色天天搡| 深爱激情五月网| 色婷婷五月天| 超碰免费人人| se影音资源在线观看| 精品人妻午夜一区二区三区四区 | 99A片| WWW.99热| 大香蕉伊在| 五月六月丁香婷婷在线观看| 亚洲AV网址| 91操在线观看| 婷婷色五月天第7色| 色吧五月婷婷| 婷婷五月色情| 精品草原久久视频| 9热网站| 99色色爰| 亚洲成人婷婷| 中文字幕 中文字幕明步| 欧美激情综合| 久99综合婷婷| 色99免费视频中文| 五月开心啪啪| 久久xxxx| 色插人人| 亚洲狠狠狠色婷婷综合激情久久久| 婷婷丁香成人五月天| 国产精品久久久久久久久久| 国产亚洲色婷婷99精品| 五月丁香色| 99色在线观看视频者| 热久久99视频| 亚洲精品久久久久久久久久吃药| 97亚洲色 torrent magnet| 久久久性爱视频| 亚洲成片在线观看| 婷婷色情五月| 嘿嘿视频免费看9| 五月婷婷开心丁香| 久久久久久久11111111111| 国产伊人五月天| 思思精品视频| 婷五月丁香俺| 可以看的AV| 婷婷九九| 色色五月婷婷| WWW.婷婷五月天.COM| 91九色|疯狂|高潮|对白|| 激情五月综合久久| 96丁香六月婷婷蜜桃综合久久| 婷婷丁香视频| 天天色视频| 久久久婷丁香五月天激情综合| 第四色大香蕉| 日本九九视频| 超碰在线看| 丁香五月婷婷基地| 日日干夜夜干| 欧美性爱特黄一级aaaassss| .精品久久久麻豆国产精品| 天天干-天天日| 色呦呦在线| 思思热在线播放| 超碰99热精品| 久久久久网站| 色吧五月| 国产精品第一国产精品| ,99视频久久| www五月婷婷| 久久思思热视频| 去色色五月天| 久久婷婷综合基地| 丁香六月婷婷综合欧美| 黄网在线播放| 狠狠干狠狠色| 99热精品在线观看| 精品久久久久久久人妻| 91天堂网综合| 免费啪啪亚州视频| 99久久99视频只有精品| 丁香五月激情婷婷| 五月丁花色综合网| 99ri视频在线观看| 97色啪| 久久中文人妻系列| 久久小说| 丁香六月激情网C0W| 26.uuu丁香五月婷婷| 婷婷综合网| 啪啪啪五月天| 五月天大香蕉视频| 亚洲不卡| 婷婷五月天直播| 日韩久久日| 五月婷婷丁香五月| 五月开心婷婷网| 国产精品久久久久9999小说| www.五月天社区| 天堂久久精品| 欧美怡红院黄站| 婷婷久久色| 欧美色婷婷| 婷婷影视久久| 97色在线观看视频| 干婷婷五月天| 五月亭亭欧美女人| 五月激情六月综合| 狠狠狠狠操| 五月停亭六月,六月停亭的英语| 熟女人妻一区二区三区免费看| 五月天久久综合婷婷|