qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問(wèn) http://qaseven.github.io/

          CentOS 6.2及最新操作系統(tǒng)部署Hadoop的注意事項(xiàng)

          最近新采購(gòu)的一批機(jī)器,由于intel cpu體系架構(gòu)的改變,新機(jī)器的系統(tǒng)需要升級(jí),選擇了CentOS 6.2系統(tǒng)。
            1  在新機(jī)器上將MR業(yè)務(wù)開(kāi)啟后,導(dǎo)致整個(gè)集群都反應(yīng)很慢,運(yùn)行的job幾乎都被卡住;通過(guò)ganglia監(jiān)控發(fā)現(xiàn),機(jī)器的system cpu超過(guò)30%,機(jī)器幾乎是滿(mǎn)負(fù)載的情況。
            原因分析:
            RHEL 6.2和6.3系統(tǒng)中包含了一個(gè)新特性,被稱(chēng)為“transparent hugepage compaction”,它和Hadoop負(fù)載不能很好的交互。相比于其他的操作系統(tǒng),這導(dǎo)致了嚴(yán)重的性能損失。Red Hat會(huì)在未來(lái)的更新中解決此問(wèn)題。
            解決方法:把如下命令增加到開(kāi)機(jī)啟動(dòng)中。
          echo always > /sys/kernel/mm/redhat_transparent_hugepage/enabled
          echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
            2  解決上述問(wèn)題,把MR業(yè)務(wù)開(kāi)啟一段時(shí)間后,經(jīng)常出現(xiàn)某個(gè)task卡死的情況,job會(huì)一直hang住,查看TT日志
          2013-08-2006:12:31,050INFO org.apache.hadoop.mapred.TaskLogsTruncater: Initializing logs' truncater withmapRetainSize=-1and reduceRetainSize=-1
          2013-08-2006:12:31,053FATAL org.apache.hadoop.mapred.Child: Error running child : java.lang.OutOfMemoryError: unable to create newnative
          thread
          at java.lang.Thread.start0(Native Method)
          at java.lang.Thread.start(Thread.java:640)
          at org.apache.hadoop.mapred.ReduceTask$ReduceCopier.fetchOutputs(ReduceTask.java:1932)
          at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:382)
          at org.apache.hadoop.mapred.Child$4.run(Child.java:270)
          at java.security.AccessController.doPrivileged(Native Method)
          at javax.security.auth.Subject.doAs(Subject.java:396)
          at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1157)
          at org.apache.hadoop.mapred.Child.main(Child.java:264)
            從上面的日志看,是OOM的錯(cuò)誤,不能創(chuàng)建新的進(jìn)程。但查看該TT機(jī)器,內(nèi)存充足,應(yīng)該不是內(nèi)存導(dǎo)致的問(wèn)題。
            后來(lái)又check了環(huán)境的配置,發(fā)現(xiàn)在以前RHEL 5.4系統(tǒng)中生效的ulimit的nproc限制,在新系統(tǒng)中并沒(méi)有生效(可以通過(guò)ulimit -u查看)。google后得知,6.2系統(tǒng)中修改了這一配置,新的配置需要在里/etc/security/limits.d/90-nproc.conf設(shè)置生效。
          [hdfs@hd0447-sw40 ~]$ cat /etc/security/limits.d/90-nproc.conf
          # Default limit fornumber of user's processes to prevent
          # accidental fork bombs.
          # See rhbz #432903for
          reasoning.
          *          soft    nproc     1024
            在處理hadoop前期環(huán)境的時(shí)候,發(fā)現(xiàn)有些機(jī)器在沒(méi)有業(yè)務(wù)的情況下機(jī)器負(fù)載很高的情況,這里也記錄一下。
            1. 通過(guò)top命令發(fā)現(xiàn)plymouthd進(jìn)程cpu負(fù)載達(dá)到近100%
            解決方法:打開(kāi) /boot/grub/menu.lst , 去掉 “rhgb quiet”這兩個(gè)參數(shù) ,然后重啟
            2.power_saving死鎖引起的高負(fù)載
            解決方法:
            方法1:rmmod acpi_pad,重啟機(jī)器,機(jī)器將不支持電源節(jié)能;
            方法2:在BIOS中開(kāi)啟ACPI支持,重啟,更新內(nèi)核至2.6.32-358.2.1.el6.x86_64;
            方法3:在BIOS里設(shè)置禁用;
            方法4:要將驅(qū)動(dòng)程序列入黑名單,編輯 /etc/modprobe.d/blacklist.conf,然后添加blacklist acpi_pad。
            開(kāi)始使用方法1,解決了大多數(shù)機(jī)器power_saving死鎖的問(wèn)題,有些機(jī)器的整體負(fù)載還是會(huì)保持在10%以上,查看后發(fā)現(xiàn)還有部分power_saving進(jìn)程,采用方法4,問(wèn)題得以解決

          posted on 2013-10-25 11:21 順其自然EVO 閱讀(1212) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): linux

          <2013年10月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類(lèi)

          隨筆檔案

          文章分類(lèi)

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 龙江县| 石门县| 长宁区| 海丰县| 东宁县| 克东县| 吴堡县| 静安区| 莒南县| 合山市| 威宁| 镶黄旗| 福州市| 兴宁市| 电白县| 海丰县| 泸州市| 邵东县| 新建县| 安新县| 陇南市| 青海省| 宁阳县| 赣州市| 荃湾区| 大姚县| 邵武市| 元谋县| 上高县| 新疆| 阜新| 廉江市| 平谷区| 龙门县| 邯郸县| 龙江县| 枝江市| 侯马市| 奉贤区| 兴城市| 金山区|