Hadoop安裝後的集羣基準測試

        一旦創建Hadoop集羣並開始運行,我們需要給予用戶權限使用它。這就是需要爲每一個用戶創建一個目錄,並且對它設置權限許可。這就需要爲每一個用戶創建一個主目錄,並且對它設置權限許可:

[root@slave1 hadoop-0.20.2]# hadoop fs -mkdir /usr/username

[root@slave1 hadoop-0.20.2]# hadoop fs -chown /usr/username

這時設置目錄空間限制比較合適。可以給用戶目錄設置一個1TB的限制

[root@slave1 hadoop-0.20.2]# hadoop dfsadmin -setSpaceQuota 1t /user/username

1. 用TestDFSIO基準測試HDFS
          Hadoop帶有一些基準測試程序,基準測試程序被打包在測試程序JAR文件中。其中,TestDFSIO用來測試HDFS的I/O性能。大多數新系統硬件的故障都是硬盤故障。通過運行I/O密集型基準測試,可以對集羣的使用進行熱身。它通過使用MapReduce作業來完成測試作爲並行讀寫文件的便捷方法。每個文件的讀寫都在單獨的map任務中進行,並且map的輸出可以用來收集統計剛剛處理過的文件。這個統計數據在reduce中累加起來得出一個彙總。以下命令寫了10個文件,每個1000MB:
[root@slave1 hadoop-0.20.2]# hadoop jar hadoop-0.20.2-test.jar TestDFSIO -write -nrFiles 10 -fileSize 1000

以下內容是TestDFSIO基準測試的運行結果,結果被寫入控制檯並同時記錄在一個本地文件。

[root@slave1 hadoop-0.20.2]# cat TestDFSIO_results.log

----- TestDFSIO ----- : write

Date & time: Thu Aug 26 11:22:17 CST 2010
Number of files: 10
Total MBytes processed: 10000

Throughput mb/sec: 13.260489046836048
Average IO rate mb/sec: 14.472989082336426
 IO rate std deviation: 5.827325922190211
Test exec time sec: 463.276

完成基準測試後,可通過參數-clean從HDFS上刪除所有生成的文件:

[root@slave1 hadoop-0.20.2]# hadoop jar hadoop-0.20.2-test.jar TestDFSIO -clean

2. 用排序測試MapReduce

        Hadoop自帶一個部分排序的程序。這對測試整個MapReduce系統很有用,因爲整個輸入數據集都會通過洗牌傳輸至reducer。一共三個步驟:生成一些隨機的數據,執行排序,然後驗證結果。
       首先我們通過使用RandomWriter生成一些隨機的數據。它以每個節點10個map的方式運行一個MapReduce作業,並且每一個map生成近似10GB的隨機二進制數據,帶有不同長度的鍵和值。

[root@slave1 hadoop-0.20.2]# hadoop jar hadoop-0.20.2-examples.jar randomwriter random-data

        下面這條命令運行了SortValidator程序,該程序對未排序和已排序的數據做一系列的檢測來確認排序是否正確。它在運行的最後將結果報告給控制檯。
[root@slave1 hadoop-0.20.2]# hadoop jar hadoop-0.20.2-test.jar testmapredsort -sortInput random-data \ -sortOutput sorted-data

SUCCESS! Validated the MapReduce framework's 'sort' successfully .

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章