日期:
来源:程序员小鸟收集编辑:内存
Hadoop为用户作业提供了多种可配置的参数,以允许用户根据作业特点调整这些参数值使作业运行效率达到最优。这里介绍硬件选择和操作系统的调优选择,大家也可根据自己使用的情况作相应的调整。
调优之硬件选择
若有1TB数据,每天增量为10GB,则需要预留17.8TB,*3是因为有三分备份,*1.3是因为还需要预留出空间给操作系统等等
若集群在三十台以上,建议使用万兆交换机,性能提高显著,但是价格是千兆交换机的三倍
调优之操作系统以及JVM
内核参数overcommit_memory
它是 内存分配策略
可选值:0、1、2。
0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
2, 表示内核允许分配超过所有物理内存和交换空间总和的内存
建议vm.overcommit.memory设置为2,监听上线128远远不够,建议大于等于32768
dfs.datanode.handler.count默认为3,大集群可以调整为10
传统MapReduce和yarn对比
如果服务器物理内存128G,则容器内存建议为100比较合理
配置总量时考虑系统调优块,双路四核2*4*2=16g,则总量设置为10到12比较合适,需要预留空间给其他服务器。