kafka server/broker 服务端的参数配置说明
一、Kafka概述 关于Kafka,我们在之前的文章里也介绍,简而言之Kafka是一个分布式消息引擎与流处理平台,经常用做企业的消息总线、实时数据管道,有时还可以当做存储系统来用。Kafka的设计遵循生产者消费者模式,其中生产者和消费者都属于客户端,服务端则是由多个broker实例组成,broker主要负责接收和处理来自客户端的请求,以及对消息进行持久化。基本架构如下: 二、broker端核心参数 1. broker.id 参数说明:broker的唯一标识id,默认值为-1,如果不指定Kafka会自动生成一个id。生产环境推荐设置从0开始,按1递增的数字,比如0,1,2,3...等。 2. log.dirs 参数说明:设置Kafka持久化消息的数据目录,如果不设置Kafka会将消息持久化到/tmp/kafka-logs,通常都需要我们手动设置。多个目录逗号分隔,也就是一个csv列表。 调优建议:这是必须要上线前规划好的,建议设置成挂载不同磁盘的多个数据目录。创建topic时分区会自动均匀的分布到不同目录里,磁盘的io请求与空间占用也会负载均衡。 3. zookeeper.connect 参数说明:指定Kafka依赖的ZK连接信息,这个参数同样是一个csv列表,比如:zk1:2181,zk2:2181,zk3:2181。因为Kafka依靠Zookeeper做分布式协调服务