Kafka 初始化

本文最后更新于:2024年3月17日 晚上

Kafka 初始化

安装

Docker

1
2
3
4
5
6
7
8
9
10
11
12
13
$ docker run -d \
-p 9092:9092 \
--name kafka \
--net zookeeper \
--hostname kafka \
--env JMX_PORT=9999 \
--env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 \
--env KAFKA_LISTENERS=PLAINTEXT://kafka:9092 \
--env KAFKA_BROKER_ID=0 \
--env KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092 \
-v ~/DockerVolumes/kafka/data:/kafka \
-v ~/DockerVolumes/kafka/conf:/opt/kafka/config \
schrbr/kafka:2.13-2.6.0

Homebrew

1
2
# then force install kafka compatible with zookeeper 3.4.14
$ brew install --ignore-dependencies https://raw.githubusercontent.com/Homebrew/homebrew-core/6d8197bbb5f77e62d51041a3ae552ce2f8ff1344/Formula/kafka.rb

服务管理

1
2
3
4
# 启动kafka
$ ./bin/kafka-server-start.sh config/server.properties
# 停止kafka
$ ./bin/kafka-server-stop.sh

配置

./config/server.properties

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#broker 的全局唯一编号,不能重复
broker.id=0
#删除 topic 功能使能
delete.topic.enable=true
#处理网络请求的线程数量
num.network.threads=3
#用来处理磁盘 IO 的现成数量
num.io.threads=8
#发送套接字的缓冲区大小
socket.send.buffer.bytes=102400
#接收套接字的缓冲区大小
socket.receive.buffer.bytes=102400
#请求套接字的缓冲区大小
socket.request.max.bytes=104857600
#kafka 运行日志存放的路径
log.dirs=/opt/module/kafka/logs
#topic 在当前 broker 上的分区个数
num.partitions=1
#用来恢复和清理 data 下数据的线程数量
num.recovery.threads.per.data.dir=1
#segment 文件保留的最长时间,超时将被删除
log.retention.hours=168
#配置连接 Zookeeper 集群地址
zookeeper.connect=zookeeper:2181

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!