Hadoop性能调优--管理员角度一

管理员角度主要在四方面进行调优:硬件选择、操作系统、jvm参数调优、hadoop参数调用



硬件选择

   master(JT或者NN)的配置要远远好于各个slave(TT或者DN);可参考书籍《Hadoop Opertions》

操作系统参数调优

1.增大同时打开的文件描述符合网络连接上限。
管理员在启动hadoop集群时,应使用ulimit命令将允许同时打开的文件描述符数目上限增大至一个合适的值,同时调整内核参数
net.core.somaxconn至一个足够大的值。此外,hadoop rpc采用了epoll作为高并发库,如果你使用的linux内核版本在2.6.28以上,
你需要适当调整epoll的文件描述符上限。
2.关闭swap分区
在linux中,如果一个进程的内存空间不足,那么,它会将内存中的部分数据暂时写到磁盘上,当需要时,再将磁盘上的数据动态置换到
内存中,通常而言,这种行为会大大降低进程的执行效率。在mr分布式计算环境中,用户完全可以通过控制每个作业处理的数据量和每个
任务运行过程中用到的各种缓冲区大小,避免使用swap分区。(可调整/etc/sysct1.conf文件中的vm.swappiness参数)
3.设置合理的预读取缓冲区大小
磁盘I/O性能的发展远远滞后于CPU和内存,因而成为现代计算机系统的一个主要瓶颈。预读可以有效地减少磁盘的寻道次数和应用程序的
I/O等待时间,是改进磁盘读I/O性能的重要优化手段之一。管理员可使用linux命令blockdev设置预读取缓冲区的大小,以提高hadoop
中大文件顺序读的性能。当然,也可以只为Hadoop系统本身增加预读缓冲区大小。。
4.文件系统选择与配置
Hadoop的I/O性能很大程度上依赖于Linux本地文件系统的读写性能。Linux中有多种文件系统可供选择,比如ext3和ext4,不同的文件
系统性能有一定的差别。如果公司内部有自主研发的更高效的文件爱你系统,也鼓励使用。
5.I/O调度器选择
主流的Linux发行版自带了很多可供选择的I/O调度器。在数据密集型应用中,不同的I/O调度器性能表现差别较大,管理员可根据自己的
应用特点启用最合适的I/O调度器,具体可参考AMD的白皮书《Hadoop Performance Tuning Guide》

jvm参数调优

hadoop中的每个服务和任务均会运行在一个单独的jvm中,
因此,jvm的一些重要参数也会影响hadoop性能。管理员可通过貂整jvm flags和jvm

垃圾回收机制提高hadoop性能,可参考AMD的白皮书《Hadoop Performance Tuning Guide》



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值