1. 程式人生 > >Hadoop實踐(四)---Hadoop叢集測試(MR樣例)

Hadoop實踐(四)---Hadoop叢集測試(MR樣例)

Hadoop 自帶的測試程式在{Hadoop安裝目錄}/share/hadoop/mapreduce/hadoop-mapreduce-examples-{hadoop版本}.jar

1.terasort測試程式

  1. 使用teragen,生成測試資料
  2. 對生成的資料進行terasort
  3. 使用teravalidate對結果進行檢查

1.teragen:

hadoop jar /usr/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-example-2.7.3.jar teragen <num rows> <output dir>

teragen生成的資料每一行的格式如下:<10 bytes key> <10 bytes rowid> <78 bytes filler>\r\n

  1. key是一些隨機字元,每個字元的ASCII碼取值範圍為[32, 126]
  2. rowid是一個整數,右對齊
  3. filler由7組字元組成,每組有10個字元(最後一組8個),字元從’A’到’Z’依次取值

2.terasort:
對資料進行排序,並將結果輸出到HDFS的輸出路徑中

hadoop jar /usr/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-example-2.7.3.jar terasort <input dir> <output dir>

3.teravalidate:
驗證terasort輸出的結果是否有序,如果檢查到有問題,將亂序的key輸出到HDFS的report路徑中

hadoop jar /usr/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-example-2.7.3.jar teravalidate <output dir> <report dir>

在report檔案下檢視輸出檔案顯示checksum表示排序沒有問題,測試結束。

2.pi

hadoop jar /usr/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-example-2.7.3.jar pi <nMaps> <nSamples>
  1. nMaps表示執行的Map節點個數
  2. nSamples表示每一個節點的資料量(MB)

還有很多例子 下次在寫