相关文章链接
1. 机器选型
机器选型时从CPU,MEMORY和DISK3个方面来选:
CPU:云服务器 |刀片服务器 192G/56核/10T 7w人民币 --> 6台 32G/8核
MEMORY: 越多越好
DISK: 评估当前未来2-3年的存储量 >7200转 IO 5块/2T/10000转
NetWork: 千兆/万兆 局域网
2. Linux参数
以下Linux参数设置为在centos6.x中通用,但在centos7应该也能使用:
1、句柄数 文件数 线程数
echo "* soft nofile 65535" >> /etc/security/limits.conf echo "* hard nofile 65535" >> /etc/security/limits.conf echo "* soft nproc 65535" >> /etc/security/limits.conf echo "* hard nproc 65535" >> /etc/security/limits.conf echo "* soft nproc 65535" >>/etc/security/limits.d/90-nproc.conf
2、网络参数
more /etc/sysctl.conf |grep net.core.somaxconn sysctl -w net.core.somaxconn=32768 echo net.core.somaxconn=32768 >> /etc/sysctl.conf #生效 sysctl -p
3、调节交换内存(swap)
# 调节命令 more /etc/sysctl.conf | vm.swappiness echo vm.swappiness = 10 >> /etc/sysctl.conf #生效 sysctl -p # 说明 vm.swappiness = 0 禁用? 不是,惰性最大(积极性最差),但依然会使用swap vm.swappiness = 10 惰性稍微大(积极性稍等差),使用swap 计算密集型作业 --》swap不启用,仅仅使用内存计算,当内存不够,作业自动被yarn kill 不允许慢,可以允许挂 不是密集型计算 swap启用,允许作业慢,但不允许挂
可以使用free -h命令查看swap的使用情况:
4、关闭大页面
echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag echo 'echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag' >> /etc/rc.local
3. HDFS调优
在HDFS的config中配置如下参数:
<property> <name>ipc.server.listen.queue.size</name> <value>32768</value> </property> <property> <name>io.file.buffer.size</name> <value>65536</value> </property>
4. YARN调优
在yarn的config的core-site.xml中配置如下配置:
<property> <name>yarn.nodemanager.resource.memory-mb</name> <value>8192</value> </property> <property> <name>yarn.scheduler.minimum-allocation-mb</name> <value>1024</value> <discription>单个任务可申请最少内存,默认1024MB</discription> </property> <property> <name>yarn.scheduler.maximum-allocation-mb</name> <value>8192</value> <discription>单个任务可申请最大内存,默认8192MB</discription> </property> <property> <name>yarn.nodemanager.resource.cpu-vcores</name> <value>4</value> </property>
5. 调优网站
更多调优请参考如下2个网站,里面有关于CDH中的调优的详细介绍:
http://blog.itpub.net/30089851/viewspace-2127850/
http://blog.itpub.net/30089851/viewspace-2127851/