通過改善IFile閱讀器的性能 IFile Reader,進而可改善隨機處理程序並減少儲備空間,達到MapReduce的配置最佳實踐要求。而MapReduce shuffle的處理程序和IFile閱讀器的使用通常調用本機Linux的Hadoop本機庫。
首先改善IFile閱讀器的性能要求啟用IFile預讀可提高合並操作的性能。要為MRv1或YARN啟用此功能,請設置mapreduce.ifile.readahead 為 true(默認)。
要進一步調整性能,請調整值mapreduce.ifile.readahead.bytes。默認值為4MB。
而改善隨機處理程序具有以下要求:
1.您可以通過啟用shuffle readahead來改進MapReduce shuffle處理程序的性能。
這會導致TaskTracker或節點管理器在通過套接字將其發送到reducer之前預讀取地輸出。
2.要為YARN啟用此功能,請設置 mapreduce.shuffle.manage.os.cache 為 true (默認)。
要進一步調整性能,請調整值mapreduce.shuffle.readahead.bytes。默認值為4 MB。
3.要為MapReduce啟用此功能,請設置 mapred.tasktracker.shuffle.fadvise 為 true (默認)。
要進一步調整性能,請調整值mapred.tasktracker.shuffle.readahead.bytes。默認值為4 MB。
空間儲備的關鍵在於:
默認情況下 EXT3 和 EXT4 文件系統保留5%的空間供root用戶使用。這個保留空間算作 非DFS已使用。保留塊計數是 EXT3/EXT4保留的文件系統塊。塊大小是以字節為單位的大小。
要查看保留空間,請使用tune2fs 命令: # tune2fs -l /dev/sde1 | egrep "Block size:|Reserved block count" Reserved block count: 36628312 Block size: 4096 翻譯為: #tune2fs -l / dev / sde1 | egrep“塊大小:|預留塊數” 保留塊數:36628312 塊大小:4096