Hadoop的TeraSort問題
第一步是執行TeraGen來產生資料,原始命令如下:
root@master:/opt/hadoop-0.20.2# hadoop jar hadoop-0.20.2-examples.jar teragen 10000000000 /user/terasort/input1TB
由於Hadoop預設的配置檔案中,設定的map task個數為2,而teragen也沒給設定map task個數的命令列引數,因此teragen預設就啟2個map,1個reduce,這對於有多個節點的叢集來說利用率太低。
修改命令如下:
root@master:/opt/hadoop-0.20.2# hadoop jar hadoop-0.20.2-examples.jar teragen -Dmapred.map.tasks=10 10000000000 /user/terasort/input1TB
這樣就設定了map task的個數為10.
問題:
今天突然發現產生TeraGen產生的資料rowid部分有誤,如下:
<gr*,2G+!6-192184201CCCCCCCCCCDDDDDDDDDDEEEEEEEEEEFFFFFFFFFFGGGGGGGGGGHHHHHHHHHHIIIIIIIIIIJJJJJJJJ
2rC#0Zuzo2-192184201KKKKKKKKKKLLLLLLLLLLMMMMMMMMMMNNNNNNNNNNOOOOOOOOOOPPPPPPPPPPQQQQQQQQQQRRRRRRRR
lR6'\mML<x-192184201SSSSSSSSSSTTTTTTTTTTUUUUUUUUUUVVVVVVVVVVWWWWWWWWWWXXXXXXXXXXYYYYYYYYYYZZZZZZZZ
紅色部分應該是正數(代表第幾行)才對,怎麼成了負數,原來TeraGen程式碼裡面有問題:
private void addRowId(long rowId) {
byte[] rowid = Integer.toString((int) rowId).getBytes();
int padSpace = 10 - rowid.length;
if (padSpace > 0) {
value.append(spaces, 0, 10 - rowid.length);
}
value.append(rowid, 0, Math.min(rowid.length, 10));
}
第一行竟然對long型的rowId用了int強制型別轉化,這樣rowid怎麼可能超過4個bytes,而設計的是10個bytes,因此就造成了rowid出現負數的情況。
相關文章
- Hadoop TerasortHadoop
- Hadoop測試TeraSortHadoop
- hadoop的terasort排序總結Hadoop排序
- 測試眼裡的Hadoop系列 之TerasortHadoop
- Hadoop TeraSort 基準測試實驗Hadoop
- Hadoop學習筆記 - Sort / TeraSort / TestDFSIOHadoop筆記
- hadoop基準測試_Hadoop TeraSort基準測試Hadoop
- Hadoop-MapReduce-TeraSort-大資料排序例子Hadoop大資料排序
- 2. TeraSort在Hadoop分散式叢集中的執行Hadoop分散式
- 修改 Hadoop TeraSort演算法 —— 按照LongWritable型別的Key排序Hadoop演算法型別排序
- Spark 與 Hadoop 關於 TeraGen/TeraSort 的對比實驗(包含原始碼)SparkHadoop原始碼
- 面試Hadoop DBA的重要問題面試Hadoop
- hadoop遇到的問題(彙總)Hadoop
- Hadoop學習筆記之TeraSort修改後輸出翻倍異常Hadoop筆記
- Hadoop與HBase中遇到的問題Hadoop
- Hadoop 管理員面試問題Hadoop面試
- Hadoop二十道面試問題Hadoop面試
- Hadoop TeraSort演算法之2-trie樹構造時間解惑Hadoop演算法
- hadoop啟動遇到的各種問題Hadoop
- Hadoop二十道面試問題(2)Hadoop面試
- 關於Apache Hadoop的常見問題解答ApacheHadoop
- Hadoop技巧(03):HostName命名帶來的問題Hadoop
- Zookeeper解決Hadoop單點問題Hadoop
- Hadoop科普文——常見的45個問題解答Hadoop
- Hadoop/Spark相關面試問題總結HadoopSpark面試
- hadoop 日常問題彙總(持續更新)Hadoop
- hadoop命令報錯:許可權問題Hadoop
- Hadoop常見問題及解決方法Hadoop
- Hadoop 面試中 6 個常見的問題及答案Hadoop面試
- hadoop 執行期間偶發的各種問題積累(簡單問題不展示)Hadoop
- Hadoop org.apache.hadoop.util.DiskChecker$DiskErrorException問題等價解決linux磁碟不足解決問題排查HadoopApacheErrorExceptionLinux
- 安裝ambari的時候遇到的ambari和hadoop問題集Hadoop
- 學習hadoop01-- 修改IP地址問題Hadoop
- spark問題hadoop歷史伺服器hadoop102:19888訪問不了SparkHadoop伺服器
- 【linux】修改ip後hadoop只有四個節點的問題LinuxHadoop
- Hadoop測試常見問題和測試方法Hadoop
- hadoop0.20.2下相關問題處理方法Hadoop
- Hadoop問題解決:Unable to load native-hadoop library for your platform...HadoopPlatform