首先是,多磁盘的并发的问题。不管怎么说,虚拟机环境至少剥夺了单个kafka同时使用多个磁盘的优势。也就意味着,在同一个虚拟机,同一个topic,最好只有一partition;当然,不同topic之间partition如果同时生产-消费也会互相影响,但不一定会同时在高峰(同个topic一定)。构建较大集群(在不同物理机)仍然能够保持并发优势。
 
     
其次,写优先和不稳定也是需要考虑问题。如果多个topic同时写入,或者其他虚拟机抢占资源,可能会导致消费缓慢。因此,监控就显得特别重要,对于消费过慢的partition
暂停写入。由于pagecache默认会使用所有可用内存,增加内存可以减少flush到磁盘的次数,使得读取(消费)更加顺利。
 
     另外,为了保证读写连续性,kafka自身及其他服务不要和log.dir共享磁盘。在美团虚拟机上,可以考虑将kafka 安装在系统磁盘, 数据盘(/opt)完全用于日志存储。
 
      总结一下,kafka在虚拟机环境的优化有三点:
      第一,组建较大集群,并保
证同一个topic的不同partition位于不同虚拟机(所以在不同的磁盘)
      第二,监控,对于消费过慢的partition(所在的broker),暂停写入(生产),等待消费
      第三,将kafka安装在系统盘,
数据盘(/opt)完全用于消息存储。数据盘上不安装其他服务

不得不提的是,以上结论在美团办公云(读取200mb/s +)上测试有明显的表现;。但是,良好的配置可以提升稳定性,比如出现多个topic同时达到高峰,或者出现别的虚          拟机抢占资源的时候,通常更不容易出现故障。

转载自:http://blog.csdn.net/lizhitao/article/details/41777571

kafka在虚拟机环境的优化的更多相关文章

  1. 闫燕飞:Kafka的高性能揭秘及优化

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文首发在云+社区,未经许可,不得转载. 大家下午好,我是来自腾讯云基础架构部ckafka团队的高级工程师闫燕飞.今天在这里首先为大家先分享 ...

  2. 分布式存储 CentOS6.5虚拟机环境搭建FastDFS-5.0.5集群

    前言:       由于公司项目需要,最近开始学习一下分布式存储相关知识,确定使用FastDFS这个开源工具.利用周末的时间在虚拟机上搭建了分布式存储系统,在搭建过程中,发现网上的资料说的并不是很全, ...

  3. 虚拟机环境下安装ESX不能安装虚拟系统解决方案

    在虚拟机环境(ESX.workstation等)下安装ESX或workstation等虚拟机,在虚拟机上再安装操作系统,会提示“虚拟系统不能启动,直到你配置了外部虚拟机(vmware esx in a ...

  4. 虚拟机环境Centos如何上网

    虚拟机环境Centos如何上网----------by ruffianfish.痞子鱼 因为我是用的虚拟机的环境,所以一切操作角度从虚拟机出发. 虚拟机环境的优点: 适合新手学习linux 永远不要怕 ...

  5. Mac OS X安装之虚拟机环境下的总结

    最近一直忙着公司iOS Touch的新版发布,终于忙过了.现在,又开始了新的阶段,不过算是轻松了很多.回来一看,自己的博客空空如也,实在受不了了.于是,开始更一下吧,哈哈. 这个文档是我几个月前,开始 ...

  6. 分布式存储 CentOS6.5虚拟机环境搭建FastDFS-5.0.5集群(转载-2)

    原文:http://www.cnblogs.com/PurpleDream/p/4510279.html 分布式存储 CentOS6.5虚拟机环境搭建FastDFS-5.0.5集群 前言:       ...

  7. 分布式存储 CentOS6.5虚拟机环境搭建FastDFS-5.0.5集群(转载)

    原文:http://www.open-open.com/lib/view/open1435468300700.html 第一步,确定目标: Tracker  192.168.224.20:22122 ...

  8. LNMP环境并发优化

    LNMP环境并发优化 服务器 8核32Gx3 如图是一条http请求的生命周期,共经过nginx,php-fpm,PHP三个模块 所以我们可以从nginx,php-fpm,PHP三个维度去优化 一.p ...

  9. 译:SOS_SCHEDULER_YIELD类型等待在虚拟机环境中的增多

    原文出处:Increased SOS_SCHEDULER_YIELD waits on virtual machines 注: 原文的用词是Increased,想译作增强(增长),或者加强,这么译起来 ...

随机推荐

  1. 有关C++ std::string 类的类型转换 其他语言永远无法理解的伤

    最近做了个项目,C++的MFC窗口程序,一个基于dialog的学生-图书管理系统,有一些感触,最后会放上一些项目截图和部分代码提供大家参考.如果有什么好方法和建议欢迎指导. 强类型,为什么这么伤 我知 ...

  2. Linux启用MySQL的InnoDB引擎

    前几天公司的一个项目组的同事反应说公司内部的一台Linux服务器上的MySQL没有InnoDB这个引擎,我当时想应该不可能啊,MySQL默认应该 就已经安装了这个引擎的吧,于是上服务器去看了看,发现还 ...

  3. 如何读懂Oracle文档中的语法图(转)

    本文转载自:http://kyle.xlau.org/posts/syntax-diagrams.html Oracle文档中用到了两种表达语法的方法,语法图和BNF. BNF, Backus-Nau ...

  4. 图论(四)------非负权有向图的单源最短路径问题,Dijkstra算法

    Dijkstra算法解决了有向图G=(V,E)上带权的单源最短路径问题,但要求所有边的权值非负. Dijkstra算法是贪婪算法的一个很好的例子.设置一顶点集合S,从源点s到集合中的顶点的最终最短路径 ...

  5. Codeforces Round #345 (Div. 1) A. Watchmen 模拟加点

    Watchmen 题意:有n (1 ≤ n ≤ 200 000) 个点,问有多少个点的开平方距离与横纵坐标的绝对值之差的和相等: 即 = |xi - xj| + |yi - yj|.(|xi|, |y ...

  6. Junit4.12、Hamcrest1.3、Eclemma的安装和使用

    1. Junit4.12和Hamcrest1.3的安装过程 步骤: 网上下载Junit和Hamcrest包文件,保存在本地. 新建Java项目命名为Triangle,在Eclipse菜单栏选择项目(P ...

  7. Python的库和资源(转)

    Python的库和资源: http://blog.sina.com.cn/s/blog_3cb6a78c0100hpaq.html Python 常用模块: http://www.pythonclub ...

  8. [转载]常用Web Service汇总(天气预报、时刻表等)

    下面总结了一些常用的Web Service,是平时乱逛时收集的,希望对大家有用. ============================================ 天气预报Web Servic ...

  9. ListView 长按拖动会变黑的解决方案

    在ListView的xml文件中添加这个属性: android:cacheColorHint="#00000000"

  10. 防止服务器宕机时MySQL数据丢失的几种方案

    这篇文章主要介绍了防止服务器宕机时MySQL数据丢失的几种方案,结合实践介绍了Replication和Monitor以及Failover这三个项目的应用,需要的朋友可以参考下. 对于多数应用来说,My ...