暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
优化.txt
737
2页
6次
2021-01-09
免费下载
1.避免使用 swap 分区:
swap 分区指的系统的物理内存不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使
用。
通过 vm.swappiness 参数控制,值阈为 0 ~ 100,值越高说明操作系统内核更积极的将应用程序的数据交
换到磁盘。
Hadoop 守护进程的数据交换到磁盘是很危险的,有可能导致操作超时,所以一般将改值设为 0
禁用方法如下,让操作系统尽量不使用 Swap
echo "vm.swappiness=1" >> /etc/sysctl.conf
sysctl -p
sysctl -a|grep swappiness
2.内存分配策略
vm.overcommit_memory 的值决定分配策略,值通常为 0, 1 2
0 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,
内存申请失败,并把错误返回给应用进程。
1 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
2 表示内核允许分配超过所有物理内存和交换空间总和的内存,并且通过 vm.overcommit_ratio 的值设置
超过的比例, 50 表示超过物理内存 50%
建议 vm.overcommit_memory 设置为 2 ,并调整 vm.overcommit_ratio
修改 vm.overcommit_memory 的三种方式
编辑/etc/sysctl.conf ,增加一行 vm.overcommit_memory = 2 ,然后 sysctl -p 使配置文件生
sysctl vm.overcommit_memory = 2
echo 2 > /proc/sys/vm/overcommit_memory
3.修改 net.core.somaxconn 参数
net.core.somaxconn Linux 中的一个内核(kernel) 参数,表示 socket 监听的 backlog 上限。
backlog socket 的监听队列,当一个请求尚未被处理或建立时,会进入 backlog
socket server 可以一次性处理 backlog 中的所有请求,处理后的请求不再位于监听队列中。
server 处理请求较慢,以至于监听队列被填满后,新来的请求会被拒绝。
修改 net.core.somaxconn 的三种方式:
编辑/etc/sysctl.conf, 增加一行 net.core.somaxconn = 32768 ,然后 sysctl -p 使配置文件
生效
sysctl -w net.core.somaxconn = 32768
echo 32768 >/proc/sys/net/core/somaxconn
注意
core-default.xml 中参数 ipc.server.listen.queue.size 控制 socket server 的监听队列
长度,backlog 长度,默认为 128 。 而 Linux 的参数 net.core.somaxconn 默认也为 128 ,当服
务端(NameNode ResourceManager)繁忙时, 128 是远远不够的,这样需要调大 backlog,建议为大
于等于 32768, 并修改 Hadoop ipc.server.listen.queue.size 的参数。
4.增大同时打开文件描述符的上限
5.禁用文件的访问时间
6.关闭 THP
THP (Transparent Huge Pages)是管理 Huge Pages 自动化的抽象层, Huge Pages 是大小为
2MB ~ 1GB 的内存页。
在运行 Hadoop 作业时, THP 会引起 CPU 占用率偏高,故需要将其关闭。
虚拟 CPU 个数计算方法
CPU 个数 * 单个 CPU 核数 * 单个 CPU 核的超线程数
为了避免资源浪费, 虚拟 CPU 与内存需满足线性比例: 1 : 4 G ~ 8
硬盘大小
需考虑临时数据的存储: 20% ~ 30%
(存储的数据量 * 副本数 ) / DataNode * (1 + 0.2 ~ 0.3)
of 2
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜