美文网首页
Hadoop 集群---系统层面调优

Hadoop 集群---系统层面调优

作者: 热爱学习qwq | 来源:发表于2021-04-29 00:01 被阅读0次

(1)避免使用 swap 分区

swap 分区指的系统的物理内存不够用的时候,把物理内存中的一部分空间释放 出来,以供当前运行的程序使用。

通过 vm.swappiness 参数控制,值阈为 0 ~ 100,值越高说明操作系统内核更积极 的将应用程序的数据交换到磁盘。

将 Hadoop 守护进程的数据交换到磁盘是很危险的,有可能导致操作超时,所以 一般将改值设为  0

(2)内存分配策略

vm.overcommit_memory 的值决定分配策略,值通常为 0, 1 和 2 

0   表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程

1   表示内核允许分配所有的物理内存,而不管当前的内存状态如何。

表示内核允许分配超过所有物理内存和交换空间总和的内存,并且通过 vm.overcommit_ratio 的值设置超过的比例, 50 表示超过物理内存 50%

建议 vm.overcommit_memory 设置为 2 ,并调整 vm.overcommit_ratio

修改 vm.overcommit_memory 的三种方式 

1. 编辑/etc/sysctl.conf,增加一行 vm.overcommit_memory = 2 ,然后 sysctl -p 使配置文件生效

2. sysctl vm.overcommit_memory = 2

3. 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 的三种方式: 

1.编辑/etc/sysctl.conf, 增加一行 net.core.somaxconn = 32768 ,然后 sysctl -p 使配置文件生效

2.sysctl -w net.core.somaxconn = 32768

3.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 占用率偏高,故需要将其关闭。

相关文章

  • hadoop性能优化

    最近的hdfs集群出了一些故障,今天总结一下hadoop的几个具体的性能调优方法 1)HDFS参数调优hdfs-s...

  • hadoop调优

    数据输入: 合并小文件 使用CombineTextInputFormat来作为输入 Map阶段 (spill)次数...

  • 42.集群调优策略—Index 写调优-1

    42.1 分布式集群调优策略 主要从index写调优和Search读两个方面进行调优 Index 写调优副本数设置...

  • JVM调优

    1 调优层次 性能调优包含多个层次,比如:架构调优、代码调优、JVM调优、数据库调优、操作系统调优等。架构调优和代...

  • hadoop集群配置-总结

    [TOC] hadoop 集群 hadoop3.2 分为 单点,集群 ,伪集群 hadoop 配置 hadoop ...

  • hadoop 调优措施 调优参数

    MapReduce 跑的慢的原因 MapReduce优化方法 MapReduce优化方法主要从六个方面考虑:数据输...

  • 【026】2020.11.26 周四 JVM调优案例-02

    JVM调优案例 11.26 集群间同步导致的内存溢出 问题 一个B/S的MISS系统开启JBossCache全局缓...

  • Hadoop性能调优

    在这篇文章中,我们将会分享一些对Hadoop进行性能调优的方法,技巧。 这篇文章由我在阅读《Optimizing ...

  • Hadoop参数调优

    1)在hdfs-site.xml文件中配置多目录,最好提前配置好,否则更改目录需要重新启动集群2)NameNode...

  • ZooKeeper集群搭建

    Hadoop集群基础配置 hadoop伪分布式系统配置VM安装Linux虚拟机环境VM克隆Linux虚拟机集群配置...

网友评论

      本文标题:Hadoop 集群---系统层面调优

      本文链接:https://www.haomeiwen.com/subject/dkfprltx.html