一.硬件考量 1.1.内存 不建议为kafka分配超过5g的heap,因为会消耗28-30g的文件系统缓存,而是考虑为kafka的读写预留充足的buffer.Buffer大小的快速计算方法是平均磁盘写入数量的30倍.推荐使用64GB及以上内存的服务器,低于32GB内存的机器可能会适得其反,导致不断依赖堆积机器来应付需求增长.(我们在生产环境使用的机器是64G内存的,但也看到LinkedIn用了大量28G内存的服务器.) 1.2.CPU kafka不算是CPU消耗型服务,在主频和CPU核数之间,选…
本文来自于DataWorks Summit/Hadoop Summit上的<Apache Kafka最佳实践>分享,里面给出了很多关于Kafka的使用心得,非常值得一看,今推荐给大家. 硬件配置 JBOD: Just bunch of disks,就是普通的一堆磁盘组成的集群 OS调优 1 页缓存:尽量分配与所有日志的激活日志段大小相同的页缓存大小 2 文件描述符限制: 10万以上 3 禁掉swap 4 使用Java 8和G1,分配6~8GB的堆大小 磁盘调优 1 使用多块磁盘,专属分配给ka…
Kafka的介绍和入门请看这里kafka入门:简介.使用场景.设计原理.主要配置及集群搭建(转) 当前文章从实践的角度为大家规避window下使用的坑. 1.要求: java 6+ 2.下载kafka[注意,只用下载kafka] http://mirrors.cnnic.cn/apache/kafka/0.9.0.1/kafka_2.11-0.9.0.1.tgz 3.解压,通过cmd进入kafka_2.11-0.9.0.1\bin\windows目录 4.启动zk zookeeper-serve…
原文作者:Ben Bromhead      译者:江玮 原文地址:https://www.infoq.com/articles/apache-kafka-best-practices-to-optimize-your-deployment 关键点: Kafka的低开销和易于水平伸缩的设计使得它能基于廉价硬件高效地运行. 使用最好的磁盘为ZooKeeper提供强大的网络带宽,分别存储日志,隔离ZooKeeper进程,禁用交换以减少延迟. 将Kafka的默认复制因子从2增加到3,这在大多数生产环境…
broker的数量最好大于等于partition数量 一个partition最好对应一个硬盘,这样能最大限度发挥顺序写的优势. broker如果免得是多个partition,需要随机分发,顺序IO会退化成随机IO. 实验条件:3个 Broker,1个 Topic,无Replication,异步模式,3个 Producer,消息 Payload 为100字节: 当 Partition 数量小于 Broker个数时,Partition 数量越大,吞吐率越高,且呈线性提升. Kafka 会将所有 Pa…
必读 | 大规模使用 Apache Kafka 的20个最佳实践 配图来源:书籍<深入理解Kafka> Apache Kafka是一款流行的分布式数据流平台,它已经广泛地被诸如New Relic(数据智能平台).Uber.Square(移动支付公司)等大型公司用来构建可扩展的.高吞吐量的.且高可靠的实时数据流系统.例如,在New Relic的生产环境中,Kafka群集每秒能够处理超过1500万条消息,而且其数据聚合率接近1 Tbps. 可见,Kafka大幅简化了对于数据流的处理,因此它也获得了…
原标题:Kafka如何做到1秒处理1500万条消息? Apache Kafka 是一款流行的分布式数据流平台,它已经广泛地被诸如 New Relic(数据智能平台).Uber.Square(移动支付公司)等大型公司用来构建可扩展的.高吞吐量的.且高可靠的实时数据流系统. 例如,在 New Relic 的生产环境中,Kafka 群集每秒能够处理超过 1500 万条消息,而且其数据聚合率接近 1Tbps. 可见,Kafka 大幅简化了对于数据流的处理,因此它也获得了众多应用开发人员和数据管理专家的青…
Spring Boot 自定义kafka 消费者配置 ContainerFactory最佳实践 本篇博文主要提供一个在 SpringBoot 中自定义 kafka配置的实践,想象这样一个场景:你的系统需要监听多个不同集群的消息,在不同的集群中topic冲突了,所以你需要分别定义kafka消息配置. 此篇文章会在SpringBoot 提供的默认模板上提供扩展,不会因为你自定义了消费者配置,而导致原生SpringBoot的Kakfa模板配置失效. 引入 MAVEN 依赖 版本需要你自己指定 <dep…
kafka 简介 Kafka 是一种高吞吐量的分布式发布订阅消息系统 kafka角色必知 producer:生产者. consumer:消费者. topic: 消息以topic为类别记录,Kafka将消息种子(Feed)分类, 每一类的消息称之为一个主题(Topic). broker:以集群的方式运行,可以由一个或多个服务组成,每个服务叫做一个broker;消费者可以订阅一个或多个主题(topic), 并从Broker拉数据,从而消费这些已发布的消息. 经典模型 1. 一个主题下的分区不能小于消…
本次实践使用kafka console作为消息的生产者,Spark Streaming作为消息的消费者,具体实践代码如下 首先启动kafka server .\bin\windows\kafka-server-start.bat .\config\server.properties 创建一个Topic 此处topic名以test为例 kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --part…