简介
- Broker
Kafka 集群包含一个或多个服务器,这种服务器被称为 broker - Topic
每条发布到 Kafka 集群的消息都有一个类别,这个类别被称为 topic。(物理上不同 topic 的消息分开存储,逻辑上一个 topic 的消息虽然保存于一个或多个 broker 上但用户只需指定消息的 topic 即可生产或消费数据而不必关心数据存于何处) - Partition
parition 是物理上的概念,每个 topic 包含一个或多个 partition,创建 topic 时可指定 parition 数量。每个 partition 对应于一个文件夹,该文件夹下存储该 partition 的数据和索引文件 - Producer
负责发布消息到 Kafka broker - Consumer
消费消息:每个 consumer 属于一个特定的 consuer group(可为每个 consumer 指定 group name,若不指定 group name 则属于默认的 group)。使用 consumer high level API 时,同一 topic 的一条消息只能被同一个 consumer group 内的一个 consumer 消费,但多个 consumer group 可同时消费这一消息
安装步骤
在三台服务器上均完成此配置
- 安装
~]# cd /usr/local/src
src]# tar xvf zookeeper-3.4.14.tar.gz
src]#ln -sv /usr/local/src/kafka_2.12-2.2.0 /usr/local/kafka
- 配置文件
broker.id=1 # 节点 ID
listeners=PLAINTEXT://172.18.33.104:9092 # 监听地址及端口
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/tmp/kafka-logs
num.partitions=1
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=168 # 数据保存时长,单位小时,默认 1 周
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=172.18.33.104:2181,172.18.33.105:2181,172.18.33.106:2181 # zookeeper 地址及端口,使用 "," 隔开
zookeeper.connection.timeout.ms=6000
group.initial.rebalance.delay.ms=0
- 启动 kafka
~]# /usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties
网友评论