美文网首页
大数据操作系统相关优化

大数据操作系统相关优化

作者: clive0x | 来源:发表于2019-02-21 22:42 被阅读0次

1.分布式系统基石是paxos或者Raft协议,leader Election 过程有定时器在跑,对集群时间要求比较高,否则有可能脑裂,ntpd(centos6)/chronyd(centos7)首先得配置一台内网master,用于与外网同步时钟,集群其它机器得跟ntpd master同步。

2.虚拟内存上限,centos默认内存使用60%就使用虚拟内存

vm.swappiness= 1(注,cloudera 从kernel 3.5 rc1开始报 vm.swappiness = 0存在经常OOM bug)

3.上调文件句柄数:默认1024

fs.file-max=6544018

4.文件系统优化

centos 6默认ext4、 centos7默认xfs,mount option加 noatime,防止数据读取完向inode写atime记录。注:noatime包括noadirtime。

5.网络优化

优化net.core.somaxconn值,从128改到4096,增加tcp连接queue大小

开启巨型帧:/etc/sysconfig/network-scripts/ifcfg-eth0  MTU从1500改到9000,HDFS这么改没问题,HDFS通常block大小从64M起步,Kafka这样也OK,流计算需要考虑。

开启巨型帧风险:MTU 1500 与MTU 9000集群交互时,有可能触发MTU不匹配风险。

同时,需要保证得到交互机的支持,跟bonding 802.3聚合模式一样需要交换机支持。

##Change keepalive parameter ,default value is wait 2 hour(7200),send 9 probes per 75 seconds

net.ipv4.tcp_keepalive_time = 600

net.ipv4.tcp_keepalive_probes = 5

net.ipv4.tcp_keepalive_intvl = 15

##Increase max syn package from 1024 to 4096 ,WorkAround for :Possible SYN flooding on port 9000, Sending cookies

net.ipv4.tcp_max_syn_backlog=4096

##Change tcp Read/Write buffer(min default max),changed by niexm 2018/8/20

##Defaults Read 4096 87380 4194304 Write 4096 16384 4194304

net.ipv4.tcp_rmem = 32768 436600 4194304

net.ipv4.tcp_wmem = 32768 436600 4194304

##Decrease fin time out(default is 60)

net.ipv4.tcp_fin_timeout = 30

##Bind non-local address

net.ipv4.ip_nonlocal_bind = 1

##Tunning for time wait bucket table overflow error

net.ipv4.tcp_max_tw_buckets=50000

6.关闭 Transparent Huge Page Compaction,cloudera上报过超高CPU使用率issue。

7.如果是Centos 7,还得关闭Tuned服务,该服务自动收集操作系统metrics,进行相应优化,Cloudera官网建议关闭。

8. 设置Read Ahead. Linux IO 读取时,会启动预读功能,默认一次512个 Sections,大数据来讲太小,设置2048个Sections(1M)能提升10%左右性能,/sbin/blockdev --setra 2048

9.禁止IPv6,大数据组件走IPv4

##Disabled IPv6

net.ipv6.conf.all.disable_ipv6 = 1

net.ipv6.conf.default.disable_ipv6 = 1

net.ipv6.conf.lo.disable_ipv6 = 1

10.加大系统资源上限

默认资源上限太保守,需要加大。也就是ulimit那些。

对于centos6,修改文件/etc/security/limits.conf:或者在目录/etc/security/limits.d/*加文件,文件名还有特殊的要求,否则不生效

90-nproc.conf 设置各用户的hard/soft noproc 上限

99-nofiles.conf 设置各用户能打开的文件数 soft/hard nofile

hive - nofile  104800

kafka - nofile  104800

对于centos7 /etc/security/limits.conf (包括 /etc/security/limits.d/目录,如/etc/security/limits.d/20-nproc.conf )作用被限制了,只能影响PAM登录服务,对于systemd开户服务不起作用,

需要systemd特殊配置:

/etc/systemd/system.conf 和/etc/systemd/system.conf.d/*

/etc/systemd/user.conf和/etc/systemd/user.conf.d/*

DefaultLimitNOFILE=100000

DefaultLimitNPROC=65535

另外centos 5/6/7中 /etc/security/limits.conf: * soft noproc 65536这种配置对root不起作用,root用户需要单独写。

https://docs.cloudera.com/documentation/other/reference-architecture/topics/ra_bare_metal_deployment.html

相关文章

  • 大数据操作系统相关优化

    1.分布式系统基石是paxos或者Raft协议,leaderElection 过程有定时器在跑,对集群时间要求比较...

  • Hive优化实践1-数据倾斜及join无关的优化

    Hive SQL的各种优化方法基本 都和数据倾斜密切相关。 Hive的优化分为join相关的优化和join无关的优...

  • MySQL优化

    数据库SQL优化大总结之 百万级数据库优化方案

  • 网络数据查询

    包括结构化,半结构化数据查询及优化,以及大数据相关。

  • sql优化

    参考:数据库SQL优化大总结之 百万级数据库优化方案如何优化MySQL千万级大表,我写了6000字的解读 --很棒...

  • Hive优化实践2-大表join小表优化

    4、大表join小表优化和join相关的优化主要分为mapjoin可以解决的优化(即大表join小表)和mapjo...

  • oracle数据库优化实验手册

    oracle数据库优化 实验一:oracle安装与环境准备 一、oracle 11g安装 操作系统:windows...

  • MySQL索引原理详解

    学习MySQL数据库索引原理知识,同时了解与性能相关的优化实践。 讲述关于索引的原理,为后面数据库优化提供合适的方...

  • 常用的后端性能优化六种方式:缓存化+服务化+异步化等

    性能优化专题 前端性能优化 数据库性能优化 jvm和多线程优化 架构层面优化 缓存性能优化 常用的后端性能优化六大...

  • ios开发之线程

    线程对操作系统来说就是一段代码以及运行时数据.操作系统回味每个线程保存相关的数据,当接收到来自CPU的时间片中断事...

网友评论

      本文标题:大数据操作系统相关优化

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