Kafka集群优化篇-调整broker的堆内存(heap)案例实操

                                           作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.查看kafka集群的broker的堆内存使用情况

1>.使用jstat查看gc的信息([root@kafka116 ~]# jstat -gc 12698 1s 30)

参数说明:S0C:第一个幸存区的大小
  S1C:第二个幸存区的大小
  S0U:第一个幸存区的使用大小
  S1U:第二个幸存区的使用大小
  EC:伊甸园区的大小
  EU:伊甸园区的使用大小
  OC:老年代大小
  OU:老年代使用大小
  MC:方法区大小
  MU:方法区使用大小
  CCSC:压缩类空间大小
  CCSU:压缩类空间使用大小
  YGC:年轻代垃圾回收次数
  YGCT:年轻代垃圾回收消耗时间
  FGC:老年代垃圾回收次数
  FGCT:老年代垃圾回收消耗时间
  GCT:垃圾回收消耗总时间

2>.使用jmap查看kafka当前的堆内存信息([root@kafka116 bin]# jmap -heap 12698)

  经过上面两个图的分析,我们要观察伊甸区,幸存区以及年老代总体的使用量,发现他们的使用率都是80%以上呢!而且gc的评论是74万多次,过多的gc会将服务器的性能降低。因此考虑调大Kafka集群的堆内存(heap)是刻不容缓的事情。好,接下来我们如何去调试呢?以及将对内存调大应该注意那些事项呢?

  第一:kafka集群不要集体修改,要一台一台的去调整,由于我有5台broker,它允许我挂掉2台broker;

  第二:修改kafka-server-start.sh启动脚本,建议先改成15G(我的kafka集群的配置相对较低,32G内存,32core,80T硬盘),如果还是不够的话可以考虑继续加大heap内存的配置;

 

二.对kafka进行调优案例实操

1>.查看默认的配置

2>.修改kafka启动脚本的配置文件

3>.重启当前broker的Kafka服务

[root@kafka116 bin]# kafka-server-stop.sh                                       #停止当前的kafka进程
[root@kafka116 bin]#
[root@kafka116 bin]# kafka-server-start.sh -daemon /soft/kafka/config/server.properties          #启动当前的kafka进程
[root@kafka116 bin]#
[root@kafka116 bin]#
[root@kafka116 bin]# jps                                                #查看kafka进程是否启动
Kafka
ProdServerStart
Jps
[root@kafka116 bin]#

4>.查看调优后的内存

5>.查看调整后的JVM使用情况

Kafka集群优化篇-调整broker的堆内存(heap)案例实操的更多相关文章

  1. 大流量大负载的Kafka集群优化实战

    前言背景 算法优化改版有大需求要上线,在线特征dump数据逐步放量,最终达到现有Kafka集群5倍的流量,预计峰值达到万兆网卡80%左右(集群有几十个节点,网卡峰值流出流量800MB左右/sec.写入 ...

  2. HDFS集群优化篇

    HDFS集群优化篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.操作系统级别优化 1>.优化文件系统(推荐使用EXT4和XFS文件系统,相比较而言,更推荐后者,因为XF ...

  3. centos7搭建kafka集群-第二篇

    好了,本篇开始部署kafka集群 Zookeeper集群搭建 注:Kafka集群是把状态保存在Zookeeper中的,首先要搭建Zookeeper集群(也可以用kafka自带的ZK,但不推荐) 1.软 ...

  4. centos7搭建kafka集群-第一篇

    Kafka初识 1.Kafka使用背景 在我们大量使用分布式数据库.分布式计算集群的时候,是否会遇到这样的一些问题: 我们想分析下用户行为(pageviews),以便我们设计出更好的广告位 我想对用户 ...

  5. CDH5.16.1的kafka集群报错: No broker in ISR for partition [getngo_collect_apm_test,0]

    1 详细错误 kafka.common.NoReplicaOnlineException: No broker in ISR for partition [getngo_collect_apm_tes ...

  6. kafka集群原理介绍

    目录 kafka集群原理介绍 (一)基础理论 二.配置文件 三.错误处理 kafka集群原理介绍 @(博客文章)[kafka|大数据] 本系统文章共三篇,分别为 1.kafka集群原理介绍了以下几个方 ...

  7. kafka集群操作指南

    目录 kafka集群操作指南 (一)单机版安装 (二)集群安装 (三)集群启停操作 (四)topic相关的操作 (五)某个broker挂掉,本机器可重启 (六)某个broker挂掉且无法重启,需要其它 ...

  8. 如何为Kafka集群选择合适的Partitions数量

    转载:http://blog.csdn.net/odailidong/article/details/52571901 这是许多kafka使用者经常会问到的一个问题.本文的目的是介绍与本问题相关的一些 ...

  9. CentOS6安装各种大数据软件 第五章:Kafka集群的配置

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

随机推荐

  1. 第三个Sprint ------第七天

    APP.java代码 package com.app.senior_calculator; import java.io.Serializable; import java.util.ArrayLis ...

  2. Maven项目中添加JDBC驱动

    在pom.xml配置文件中添加: <dependency> <groupId>mysql</groupId> <artifactId>mysql-con ...

  3. POI (Apache POI)

    Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 基本功能 编辑 结构: HSSF - 提供读写Mi ...

  4. varnish页面缓存服务

    varnish页面缓存服务 https://www.cnblogs.com/L-dongf/p/9310144.html http://blog.51cto.com/xinzong/1782669 阅 ...

  5. realm vs. domain

    从wiki的角度:https://wikidiff.com/domain/realm domain是物理的,realm是抽象的,都是领域. domain是一个人或组织拥有或控制的地理区域,而realm ...

  6. GIL全局解释器锁+GIL全局解释器锁vs互斥锁+定时器+线程queue+进程池与线程池(同步与异步)

    以多线程为例写个互斥锁 from threading import Thread ,Lockimport timemutex = Lock() n = 100 def task(): global n ...

  7. 操作系统+编程语言的分类+执行python程序的两种方式+变量

    1.什么是操作系统? 操作系统就是一个协调\管理\控制计算机硬件资源与软件资源的一个控制程序. 2.为何要操作系统? a.把复杂的硬件操作封装成简单的功能\接口用来给用户或者程序来使用(文件) b.把 ...

  8. std::string 字符串替换

    std::string 没有原生的字符串替换函数,需要自己来完成 string& replace_str(string& str, const string& to_repla ...

  9. BZOJ4386[POI2015]Wycieczki——矩阵乘法+倍增

    题目描述 给定一张n个点m条边的带权有向图,每条边的边权只可能是1,2,3中的一种.将所有可能的路径按路径长度排序,请输出第k小的路径的长度,注意路径不一定是简单路径,即可以重复走同一个点. 输入 第 ...

  10. Uva821-Floyd

    计算所有页面的平均距离. 用floyd求距离,再求平均 #include <algorithm> #include <cstring> #include <ctype.h ...