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