本節書摘來異步社群《hadoop mapreduce實戰手冊》一書中的第2章,第2.2節,作者: 【美】srinath perera , thilina gunarathne 譯者: 楊卓荦 責編: 楊海玲,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。
hadoop mapreduce實戰手冊
運作基準測試程式,可以很好地驗證hdfs叢集是否已如預期般正确設定并執行。dfsio是一個hadoop自帶的基準測試,可以用來分析一個hdfs叢集的i/o性能。該部分展示了如何使用dfsio來對hdfs叢集的讀取和寫入性能進行基準測試。
準備工作
在運作這些基準程式之前,必須安裝和部署hdfs和mapreduce。導出hadoop_home環境變量,将其指向hadoop安裝根目錄:
該基準測試程式在$hadoop_home/hadoop-*test.jar檔案中。
操作步驟
下列步驟顯示了如何運作寫入性能基準測試。
在$hadoop_home目錄下執行以下指令來測試寫入性能的基準程式。-nrfiles參數指定了檔案數量,同時-filesize參數指定了以mb為機關的檔案大小。
基準測試程式會将日志寫入控制台,同時将日志追加到一個名為testdfsio_results.log的檔案中。可以使用-resfile參數提供自定義的結果檔案名。
下列步驟顯示了如何執行測試讀性能的基準測試。
讀性能基準測試采用步驟1中的寫性能基準測試建立的檔案。是以,寫性能基準測試應該在運作讀性能基準測試之前執行,并且寫基準測試所建立的檔案必須存儲在hdfs上,以便讀基準測試運作。
執行下面的指令運作讀基準測試。讀基準測試也會将結果寫入控制台,并将其結果追加到一個與寫基準測試類似的日志檔案。
要清理這些基準測試生成的結果檔案,可以使用以下指令:
工作原理
dfsio實際是執行一個mapreduce作業,其中map任務并行讀寫檔案,而reduce任務則被用來收集和歸納性能資料。
更多參考
在運作這些基準測試時,同步觀察監控系統,可以幫助你更輕松地識别瓶頸所在。