集群虚拟内存不足怎么办

虚拟内存不足怎么办  时间:2021-01-19  阅读:()

Kafka集群调优KafkaCluster模式最大的优点:可扩展性和容错性,下图是关于Kafka集群的结构图:KafkaBroker个数决定因素磁盘容量:首先考虑的是所需保存的消息所占用的总磁盘容量和每个broker所能提供的磁盘空间.
如果Kafka集群需要保留10TB数据,单个broker能存储2TB,那么我们需要的最小Kafka集群大小5个broker.
此外,如果启用副本参数,则对应的存储空间需至少增加一倍(取决于副本参数).
这意味着对应的Kafka集群至少需要10个broker.
请求量:另外一个要考虑的是Kafka集群处理请求的能力.
这主要取决于对Kafkaclient请求的网络处理能力,特别是,有多个consumer或者网路流量不稳定.
如果,高峰时刻,单个broker的网络流量达到80%,这时是撑不住两个consumer的,除非有两个broker.
再者,如果启用了副本参数,则需要考虑副本这个额外的consumer.
也可以扩展多个broker来减少磁盘的吞吐量和系统内存.
操作系统优化大部分Linux发布版本默认的内核参数配置能让大部分应用工作的相当好.
但对于实际的Kafkabroker场景来说,做稍些改变会提升broker性能.
主要涉及的配置:虚拟内存、网络和磁盘挂载(用来存储logsegment),一般在/etc/sysctl.
conf(CentOS系统).
VirtualMemory一般来说,Linux的虚拟内存会根据系统负载自动调整.
内存页(page)swap到磁盘会显著1/3的影响Kafka的性能,并且Kafka重度使用pagecache,如果VM系统swap到磁盘,那说明没有足够的内存来分配pagecache.
避免swap的一种方式是设置swap空间为0.
但是,swap会在系统崩溃时提供安全机制,或者会在outofmemory的情况下阻止操作系统kill掉进程.
由于这个原因,推荐vm.
swappiness参数设置为一个非常低的值:1.
这个参数表示VM系统中的多少百分比用来作为swap空间.
另外一种方式是通过内核调节"脏页"(注:"脏页"会被刷到磁盘上).
Kafka依赖磁盘I/O性能来提高producer的响应时间.
这也是为什么通常优先把logsegment功能放在可以快速响应的磁盘中(比如,SSD).
这样使得flush进程把"脏数据"写入磁盘前,"脏页"数目就减少了,可以设置vm.
dirty_background_ratio(表示占用系统内存的百分比)参数的值为10以下.
大部分应用场景下,vm.
dirty_background_ratio设置为5就够用了,要注意了:这个参数值不能设置为0,因为设置为0后会引起内核持续刷"脏页",使得内核的bufferwrite功能没法施展.
"脏页"的总量可以通过vm.
dirty_ratio来改变,默认值是20(此处也是百分比),这个值的设置范围较大,一般建议设置60到80为合理的值.
但是vm.
dirty_ratio参数也引来了不小的风险,会造成大量unflush的数据在硬刷到磁盘时产生较长的I/O停顿.
如果vm.
dirty_ratio值设置的较大时,强烈建议Kafka开启备份功能,以备系统崩溃.
在设置了这些参数后,需要监控Kafka集群运行时"脏页"的数量,当前"脏页"数量可由如下方式查看(/proc/vmstat文件):#cat/proc/vmstat|egrep"dirty|writeback"nr_dirty3875nr_writeback29nr_writeback_temp0磁盘除了考虑磁盘硬件本身和RAID配置外,磁盘的filesystem对Kafka集群的影响最大.
虽然有许多filesystem,但最常用的是EXT4或者XFS.
在这里XFS文件系统比EXT4稍好,具体原因Google下.
另外一点是,建议开启mount的noatimemount选项.
文件系统在文件被访问、创建、修改等的时候会记录文件的一些时间戳,比如:文件创建时间(ctime)、最近一次修改时间(mtime)和最近一次访问时间(atime).
默认情况下,atime的更新会有一次读操作,这会产生大量的磁盘读写,然而atime对Kafka完全没用.
网络Linux发布版本的网络参数对高网络流量不适用.
对于Kafka集群,推荐更改每个socket发送和接收buffer的最大内存:net.
core.
wmem_default和net.
core.
rmem_default为128kb,net.
core.
wmem_max和net.
core.
rmem_max为2Mb.
另外一个socket参数是TCP2/3socket的发送和接收buffer:net.
ipv4.
tcp_wmem和net.
ipv4.
tcp_rmem.
Kafka集群稳定GC调优调GC是门手艺活,幸亏Java7引进了G1垃圾回收,使得GC调优变的没那么难.
G1主要有两个配置选项来调优:MaxGCPauseMillis和InitiatingHeapOccupancyPercent,具体参数设置可以参考Google,这里不赘述.
Kafkabroker能够有效的利用堆内存和对象回收,所以这些值可以调小点.
对于64Gb内存,Kafka运行堆内存5Gb,MaxGCPauseMillis和InitiatingHeapOccupancyPercent分别设置为20毫秒和35.
Kafka的启动脚本使用的不是G1回收,需要在环境变量中加入:#exportJAVA_HOME=/usr/java/jdk1.
8.
0_51#exportKAFKA_JVM_PERFORMANCE_OPTS="-server-XX:+UseG1GC-XX:MaxGCPauseMillis=20-XX:InitiatingHeapOccupancyPercent=35-XX:+DisableExplicitGC-Djava.
awt.
headless=true"#/usr/local/kafka/bin/kafka-server-start.
sh-daemon/usr/local/kafka/config/server.
properties数据中心布局原则上Kafkabroker不建议都在一个机架上,为了容灾,但现实情况大部分公司做不到,此处略去.

月神科技 国内上新成都高防 全场八折促销续费同价!

月神科技是由江西月神科技有限公司运营的一家自营云产品的IDC服务商,提供香港安畅、香港沙田、美国CERA、成都电信等机房资源,月神科技有自己的用户群和拥有创宇认证,并且也有电商企业将业务架设在月神科技的平台上。本次带来的是全场八折促销,续费同价。并且上新了国内成都高防服务器,单机100G集群1.2T真实防御,上层屏蔽UDP,可定制CC策略。非常适合网站用户。官方网站:https://www.ysi...

阿里云秋季促销活动 轻量云服务器2G5M配置新购年60元

已经有一段时间没有分享阿里云服务商的促销活动,主要原因在于他们以前的促销都仅限新用户,而且我们大部分人都已经有过账户基本上促销活动和我们无缘。即便老用户可选新产品购买,也是比较配置较高的,所以就懒得分享。这不看到有阿里云金秋活动,有不错的促销活动可以允许产品新购。即便我们是老用户,但是比如你没有购买过他们轻量服务器,也是可以享受优惠活动的。这次轻量服务器在金秋活动中力度折扣比较大,2G5M配置年付...

简单测评melbicom俄罗斯莫斯科数据中心的VPS,三网CN2回国,电信双程cn2

melbicom从2015年就开始运作了,在国内也是有一定的粉丝群,站长最早是从2017年开始介绍melbicom。上一次测评melbicom是在2018年,由于期间有不少人持续关注这个品牌,而且站长貌似也听说过路由什么的有变动的迹象。为此,今天重新对莫斯科数据中心的VPS进行一次简单测评,数据仅供参考。官方网站: https://melbicom.net比特币、信用卡、PayPal、支付宝、银联...

虚拟内存不足怎么办为你推荐
免费虚拟空间有国内免费虚拟主机空间吗域名申请申请域名需要什么条件?具体点!急!急!!!深圳网站空间菜鸟问:网站空间如何选择,与空间的基本知识?虚拟主机软件问虚拟主机用什么版本的软件比较好淘宝虚拟主机淘宝买万网虚拟主机怎么变别真假成都虚拟主机成都哪个公司建网站最好m3型虚拟主机万网M3机型虚拟主机,如何重启?www二级域名一级域名 二级域名 三级域名什么区别域名网谁能帮我推荐一些较好的免费域名的申请网站。。。谢谢了啊。。。域名估价域名的价值由什么来决定?
mysql虚拟主机 广东服务器租用 已备案域名出售 新秒杀 hkbn t楼 国外php主机 哈喽图床 轻博 ubuntu更新源 免费ftp站点 福建天翼加速 免费私人服务器 安徽双线服务器 美国独立日 西安主机 阿里云邮箱登陆地址 酸酸乳 万网注册 1美元 更多