Hadoop之linux調(diào)優(yōu)

Hadoop之linux調(diào)優(yōu)

標簽: hadoop linux


1. 增大文件描述符nofile(查看當前的lsof |wc -l) 和 用戶最大進程nproc

a. 調(diào)整Linux的最大文件打開數(shù):
>> vim /etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535

b. RHEL6下引入了配置文件:
>> vim /etc/security/limits.d/90-nproc.conf
soft nproc 65535

c. pam_limits.so 文件被加入到啟動文件
>> vim /etc/pam.d/login session required /lib/security/pam_limits.so session required pam_limits.so

d.重啟系統(tǒng)
>> reboot

#######只針對當前session會話,快速設(shè)置
>> ulimit -u
1024
>> ulimit -u
65535
>> ulimit -u
65535
-n <文件數(shù)目>  指定同一時間最多可打開的文件數(shù)绑嘹。
-u <進程數(shù)目>  用戶最多可啟動的進程數(shù)目。


2. 網(wǎng)絡(luò)(兩個網(wǎng)絡(luò)相關(guān)的參數(shù)可以影響Hadoop的性能。net.core.somaxconn Linux內(nèi)核設(shè)置能夠支持NameNode和JobTracker的大量爆發(fā)性的HTTP請求)

a. net.core.somaxconn是listen()的默認參數(shù),掛起請求的最大數(shù)量.默認是128.對繁忙的服務(wù)器,增加該值有助于網(wǎng)絡(luò)性能宾添,當前已經(jīng)被調(diào)整到32768
>> more /etc/sysctl.conf |grep net.core.somaxconn sysctl -w net.core.somaxconn=32768 echo net.core.somaxconn=32768 >> /etc/sysctl.conf

b. 設(shè)置txqueuelen到4096及以上能夠更好地適應(yīng)在Hadoop集群中的突發(fā)流量, txqueuelen代表用來傳輸數(shù)據(jù)的緩沖區(qū)的儲存長度瓦哎,
通過下面的命令可以對該參數(shù)進行設(shè)置為4096纤控。
>> ifconfig eth0 Link encap:Ethernet HWaddr 00:16:3E:02:00:2B inet addr:xx.xxx.xx.x Bcast:xx.xxx.xx.xxx Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:55072078 errors:0 dropped:0 overruns:0 frame:0 TX packets:33328184 errors:0 dropped:0 overruns:0 carrier:0 collisions:0txqueuelen:1000
RX bytes:23381014283 (21.7 GiB) TX bytes:4464530654 (4.1 GiB)
可以看到當前的eth0的txqueuelen值為1000,設(shè)置為4096
>> ifconfig eth0 txqueuelen 4096


3. 關(guān)閉swap分區(qū)

>> more /etc/sysctl.conf | vm.swappiness echo vm.swappiness = 0 >> /etc/sysctl.conf


4. 設(shè)置合理的預(yù)讀取緩沖區(qū)(readahead buffer)大小

調(diào)整linux文件系統(tǒng)中預(yù)讀緩沖區(qū)地大小群叶,可以明顯提高順序讀文件的性能。默認buffer大小為256 sectors储耐,可以增大為1024或者2408 sectors(注意羊初,并不是越大越好)∈蚕妫可使用blockdev命令進行調(diào)整长赞。
>> df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 40G 7.1G 31G 19% / tmpfs 3.9G 0 3.9G 0% /dev/shm /dev/vdb1 197G 36G 152G 19% /data/01
>> blockdev --report RO RA SSZ BSZ StartSec Size Device rw 256 512 4096 0 42949672960 /dev/vda rw 256 512 4096 2048 42947575808 /dev/vda1 rw 256 512 4096 0 214748364800 /dev/vdb rw 256 512 4096 63 214748029440 /dev/vdb1

修改/dev/vdb1的readahead buffer,因為hadoop的dfs nn等等文件夾是在這個目錄下
>> blockdev --setra 1024 /dev/vdb1


5. I/O調(diào)度器選擇(一般不調(diào)整,只會在mapreduce中調(diào)整)

主流的Linux發(fā)行版自帶了很多可供選擇的I/O調(diào)度器。在數(shù)據(jù)密集型應(yīng)用中闽撤,不同的I/O調(diào)度器性能表現(xiàn)差別較大得哆,
管理員可根據(jù)自己的應(yīng)用特點啟用最合適的I/O調(diào)度器


6. vm.overcommit_memory設(shè)置

進程通常調(diào)用malloc()函數(shù)來分配內(nèi)存,內(nèi)存決定是否有足夠的可用內(nèi)存哟旗,并允許或拒絕內(nèi)存分配的請求贩据。Linux支持超量分配內(nèi)存,以允許分配比可用RAM加上交換內(nèi)存的請求闸餐。
vm.overcommit_memory參數(shù)有三種可能的配置:

  • 0 表示檢查是否有足夠的內(nèi)存可用饱亮,如果是,允許分配舍沙;如果內(nèi)存不夠近上,拒絕該請求,并返回一個錯誤給應(yīng)用程序拂铡。
  • 1 表示根據(jù)vm.overcommit_ratio定義的值壹无,允許分配超出物理內(nèi)存加上交換內(nèi)存的請求。vm.overcommit_ratio參數(shù)是一個百分比感帅,加上內(nèi)存量決定內(nèi)存可以超量分配多少內(nèi)存斗锭。
    例如,vm.overcommit_ratio值為50留瞳,而內(nèi)存有1GB拒迅,那么這意味著在內(nèi)存分配請求失敗前,加上交換內(nèi)存她倘,內(nèi)存將允許高達1.5GB的內(nèi)存分配請求璧微。
  • 2 表示內(nèi)核總是返回true。
    除了以上幾個常見的Linux內(nèi)核調(diào)優(yōu)方法外硬梁,還有一些其他的方法前硫,管理員可根據(jù)需要進行適當調(diào)整。

【查看當前值】
>> sysctl -n vm.overcommit_memory
【永久性修改內(nèi)核參數(shù)】
在/etc/sysctl.conf文件里面加入或者直接刪除也可以荧止,因為它缺省 值就是0
>> vim /etc/sysctl.conf
vm.overcommit_memory = 0
運行使之生效
>> sysctl -p


7. Transparent Huge Page

已啟用“透明大頁面”屹电,它可能會導(dǎo)致重大的性能問題阶剑。版本為“CentOS release 6.3 (Final)”且版本為“2.6.32-279.el6.x86_64”的 Kernel 已將 enabled 設(shè)置為“[always] never”,并將 d
efrag 設(shè)置為“[always] never”危号。請運行“echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag”以禁用此設(shè)置牧愁,然后將同一命令添加到一個 init 腳本中,
如 /etc/rc.local外莲,這樣當系統(tǒng)重啟時就會設(shè)置它猪半。或者偷线,升級到 RHEL 6.4 或更新版本磨确,它們不存在此錯誤。將會影響到以下主機声邦。

>> cat /sys/kernel/mm/redhat_transparent_hugepage/defrag [always] madvise never
>> echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
>> echo 'echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag' >> /etc/rc.local

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末乏奥,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子亥曹,更是在濱河造成了極大的恐慌邓了,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件歇式,死亡現(xiàn)場離奇詭異驶悟,居然都是意外死亡胡野,警方通過查閱死者的電腦和手機材失,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來硫豆,“玉大人龙巨,你說我怎么就攤上這事⌒芟欤” “怎么了旨别?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長汗茄。 經(jīng)常有香客問我秸弛,道長,這世上最難降的妖魔是什么洪碳? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任递览,我火速辦了婚禮,結(jié)果婚禮上瞳腌,老公的妹妹穿的比我還像新娘绞铃。我一直安慰自己,他們只是感情好嫂侍,可當我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布儿捧。 她就那樣靜靜地躺著荚坞,像睡著了一般。 火紅的嫁衣襯著肌膚如雪菲盾。 梳的紋絲不亂的頭發(fā)上颓影,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天,我揣著相機與錄音懒鉴,去河邊找鬼瞭空。 笑死,一個胖子當著我的面吹牛疗我,可吹牛的內(nèi)容都是我干的咆畏。 我是一名探鬼主播,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼吴裤,長吁一口氣:“原來是場噩夢啊……” “哼旧找!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起麦牺,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤钮蛛,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后剖膳,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體魏颓,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年吱晒,在試婚紗的時候發(fā)現(xiàn)自己被綠了甸饱。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡仑濒,死狀恐怖叹话,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情墩瞳,我是刑警寧澤驼壶,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站喉酌,受9級特大地震影響热凹,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜泪电,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一般妙、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧歪架,春花似錦股冗、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽烹棉。三九已至,卻和暖如春怯疤,著一層夾襖步出監(jiān)牢的瞬間浆洗,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工集峦, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留伏社,地道東北人。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓塔淤,卻偏偏與公主長得像摘昌,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子高蜂,可洞房花燭夜當晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內(nèi)容