kafka2.12 集群搭建

本文介绍了如何搭建kafka 2.12集群,包括下载安装包、配置server.properties、启动服务和使用命令创建及管理topics。重点强调了kafka的消息分区和消费顺序特性,并提供了消费者和生产者的命令示例。
摘要由CSDN通过智能技术生成

简单介绍下kafka

       kafka是一个分布式的消息队列系统,消息以topic分类传输,生产者往topic发送消息时,消息会被分散到topic的不同分区中,消费者以组的形式消费topic中的数据,一个topic的一个分区,只能被同一个组里的一个消费者消费,但同一个消费者,可以消费多个分区数据,每个组自己维护topic每个分区的消费偏移量。

       kafka不能保证不同分区消息的消费顺序,因此若对于消息消费顺序有要求,必须确保该类消息处于同一分区,可以通过发送消息时,指定相同key来处理。

1、下载安装包

http://kafka.apache.org/downloads

这里下载的是kafka_2.12-2.2.0版的

2、解压安装包,找到config目录下的server.properties文件,修改其中配置,部分参数说明如下

基本参数

说明

broker.id

broker在集群中的唯一标识,不能为负数

log.dirs

数据存放的目录,这个目录可以配置为“,”逗号分割的表达式,下面的num.io.threads要大于这个目录的个数,如果配置多个目录,新创建topic消息持久化的地方是,当前以逗号分割的目录中,分区数最少的那一个
listeners PLAINTEXT://hostname:port;相当于下面的host.name+port
advertised.listeners 外网客户端访问返回的地址 PLAINTEXT://hostname:port
host.name broker的主机地址,若是设置了,那么会绑定到这个地址上,若是没有,会绑定到所有的接口上,并将其中之一发送到ZK

port

监听端口

message.max.bytes

消息最大字节

num.network.threads

broker处理网络消息的最大线程数

num.io.threads

broker处理磁盘IO的线程数,数值应该大于你的目录数

background.threads

处理后台任务的线程数,例如过期消息文件的删除等

queued.max.requests

等待IO线程处理的请求队列最大数,若是等待IO的请求超过这个数值,那么会停止接受外部消息,应该是一种自我保护机制

socket.send.buffer.bytes

socket的发送缓冲区

socket.receive.buffer.bytes

socket的接受缓冲区

socket.request.max.bytes

socket请求的最大字节数值,防止serverOOM,message.max.bytes必然要小于socket.request.max.bytes,会被topic创建时的指定参数覆盖

log.segment.bytes

topic的分区是以一堆segment文件存储

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值