Hadoop性能調優


1 硬件選擇

主要區分NAMENODE與DATANODE的功能需求,NN維護全局元數據信息,隨着保存的INODES數量的增加,對內存需求增加,按每一百萬INODES一G來粗略計算,JVM的XMX參數需要動態調整。

2 OS參數調優

操作系統,生產環境中都使用LINUX,以下就是指對LINUX系統的參數調優。

A.增加同時打開的文件描述符和網絡連接上限

在系統運行中,隨着接受作業數量的增加,文件的讀寫與網絡連接操作可能會因為資源不夠而失敗。

@ochadoop soft nofile 102642
@ochadoop hard nofile 102642
@ochadoop soft nproc unlimited
@ochadoop hard nproc unlimited

網絡連接數:net.core.somaxconn

B.關閉SWAP分區

調整/etc/sysctl.conf 中vm.swappiness 參數,因為對於運行hbase的機器,置換是不可忍受的。

cat /proc/sys/vm/swappniess查看這個參數的配置(默認值是60)

echo 0 >> /proc/sys/vm/swappniess 禁止操作系統使用任何的swap空間

echo 100 >> /proc/sys/vm/swappniess 操作系統會盡量使用swap空間

C.設置合理的預讀取緩沖區大小

預讀可以有效減少磁盤的尋道次數與應用程序IO的等待時間

怎么操作: 使用blockdev命令

查看:stat /boot/|grep "IO Block"

對HDFS數據掛載盤的文件系統進行分區時可以將大小設置為64KB,以更高效地支持HDFS大塊存儲的特性。

3:調整心跳設置

datanode與nn,nm與yarn交互的心跳時間,如果太小,高並發的心跳信息,給NN或RM造成壓力,如果太大,空閑的資源不能及時分配,降低了系統的吞吐率。

集群小於300時,心跳間隔為300毫秒,每增加一百台,則增加一秒。

4:磁盤配置

MAP TASK中間結果寫到本地磁盤上,對於IO密集型任務來說,會對磁盤造成很大壓力,可以配置緩解壓力,可以配置多磁盤來進行緩解。

調整dfs.data.dir 和 mapred.data.dir參數。

5:配置機架感知腳本

6:防火牆端口設置

HADOOP的系統守護進程會使用兩類接口,一類是用於主從節點進程間的RPC通信,另一類用於HTTP訪問,在安裝HADOOP之前要確保所有的節點機器的相應的端口處於開放狀態。以下是以hdp為例:

fs.defaultFS  :默認是8020

dfs.datanode.address 默認:50010

dfs.datanode.ipc.address 默認:8010

dfs.datanode.http.addres 默認:50075

dfs.datanode.https.address 默認:50475

dfs.journalnode.http-address  8480

dfs.journalnode.https-address 8481

dfs.namenode.http-address 默認 50070

dfs.namenode.https-address 50470

dfs.namenode.rpc-address  8020

yarn.timeline-service.address 10200

yarn.resourcemanager.zk-address 2181

yarn.nodemanager.address 45454

yarn.resourcemanager.webapp.address  8088


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM