博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
应用kafka的总结
阅读量:6231 次
发布时间:2019-06-21

本文共 968 字,大约阅读时间需要 3 分钟。

hot3.png

consumer offset commit

使用kafka的python api时遇到了offset回滚的问题,因为最初使用了autocommit参数,发现有时会重复取记录,发现autocommit是批量提交,并且有offset回滚的问题,具体原因未发现,解决方法是手动调用commit函数提交,经过测试手动调用没有出现offset回滚的问题。

partition

一开始为了简单只使用了一个分区,consumer都从一个leader取数据,请求压力都在一台机器。使用不同分区策略可以分散topic的leader,还可以灵活处理不同数据。

fetch msg

MaxWaitTime 请求最大等待时间,MinBytes 请求消息的最小字节数,通过这2个参数可以调整你获取数据时的等待策略,最简单的做法就是不等待,没数据直接返回。

zookeeper

对于zookeeper不太了解,因此忽略了dataDir和dataLogDir这2个目录的配置对系统造成的影响。由于硬盘限制,把kafka和zookeeper的日志目录放在了同一个磁盘,而且磁盘的性能不是很好,造成了kafka写数据效率低下,每次写数据只有几百k。zookeeper网站上对这2个配置有Notes说不要把他们放在繁忙的磁盘设备上,会影响其他程序写磁盘的性能,最好这2个目录都分开存放不同设备。简单看了一下,dataDir下存的是snapshot文件,dataLogDir存的是log文件,应该是zookeeper把内存数据持久化到这2种文件中了,而且持久化操作很频繁且写的数据很少,会影响kafka写日志。

iostat -d -x

这是关于磁盘性能监控的。在排查磁盘io高的问题时用到了iostat -d -x 命令,由于对磁盘不是很了解,在排查时主要关注w/s、wkB/s、rkB/s,对于扇区没怎么关注,rsec/s wsec/s avgrq-sz这几个参数反应磁盘操作扇区的情况,当磁盘利用率高且iowait高,而平均扇区低也就意味着磁盘把大量时间用于磁盘寻道,你可能需要考虑是不是有大量随机写磁盘的操作。

end

以上是对在使用kafka时遇到的问题的一些总结。

转载于:https://my.oschina.net/u/566882/blog/316569

你可能感兴趣的文章
C语言中和指针相关的四道题目
查看>>
SSL Labs: Increased Penalty When TLS 1.2 Is Not Supported
查看>>
Python 字符串格式化输出(format/printf)
查看>>
Bzoj3781 小B的询问
查看>>
洛谷P1372 a/b problem
查看>>
UVa11762 Race to 1
查看>>
SQL类型转换和数学函数
查看>>
vue.js的学习
查看>>
插入排序的应用
查看>>
Retrofit2.0中注解使用方式
查看>>
Key-Value Coding Accessor 及其与KVC的关系
查看>>
把购买数据添加到购物车
查看>>
[磁盘空间]lsof处理文件恢复、句柄以及空间释放问题
查看>>
C#操作Control异步工具类
查看>>
由两个栈组成队列
查看>>
VirtrualBox使用已存在的镜像创建虚拟机
查看>>
python 拼图验证码
查看>>
JSOI2017 Round1 Day0
查看>>
Java面试题复习笔记(Web方向)
查看>>
第二次冲刺站立会议(3)
查看>>