kafka讨论下最佳配置

開開新新 发表于: 2020-11-21   最后更新时间: 2020-11-22 22:12:57   1,073 游览
broker.id=1
listeners=PLAINTEXT://192.168.10.145:9092
advertised.listeners=PLAINTEXT://192.168.10.145:9092
zookeeper.connect=192.168.10.145:2181,192.168.10.146:2181,192.168.10.147:2181
zookeeper.connection.timeout.ms=6000
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/home/kfkdata
num.network.threads=3
num.io.threads=8
num.partitions=1
num.recovery.threads.per.data.dir=1
log.cleanup.policy=delete
log.flush.interval.messages=10000
log.flush.interval.ms=1000
log.retention.hours=168
log.retention.bytes=1073741824
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=localhost:2181
zookeeper.connection.timeout.ms=18000
group.initial.rebalance.delay.ms=0
offsets.topic.replication.factor=3
default.replication.factor=3
min.insync.replicas=1
transaction.state.log.min.isr=3
transaction.state.log.replication.factor=3
unclean.leader.election.enable=true
offsets.retention.minutes=1440
inter.broker.protocol.version=2.6.0
log.message.format.version=2.2.0
message.max.bytes=41943040
max.request.size=41943040
replica.fetch.max.bytes=41943040

不知道大家用的配置文件都配置了哪些参数,想知道如何优化配置?
我们的环境有三个broker,数据量不大,主要考虑高可用,比如说机房网络异常。

开发那边把kafka当作消息中间件,我想了解生产者发送消息时配置哪些参数最佳? 服务数据量量不大 消息1万左右,如果后期消息多了应该怎么优化?

如果需要滚动重启broker,怎么保证集群还能实时写入,不丢数据?

发表于 2020-11-21
添加评论

说几个吧。
1、kafka理论上配置不需要做更改,默认配置就可以了,你这1万就不用改了。
2、kafka通过分区备份来保证高可用的,主备性能最优的。(我们全部是这么来的,跑了6年)
3、部署kafka的节点上,尽量多预留一下内存(kafka会利用空闲的内存,增加flush速度和消息缓存)
4、优化的核心点,一般是超时时间,和消息大小,缓存大小,等等一系列的大小(但是调整这些过大的话,要注意增加jvm)
5、官方的生产配置方案:https://www.orchome.com/42 (周围几个连接都可以点点)

開開新新 -> 半兽人 3年前
if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
    export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
    export JMX_PORT="9999"
fi

JVM我没有改,应该改多少合适?在什么情况下调整JVM有提升效果?

開開新新 -> 半兽人 3年前

超时时间,消息大小和缓存大小,应该根据什么场景和思路来调整? 超时时间应该估量网络的延迟把?

半兽人 -> 開開新新 3年前

第4个解释里面,调整缓存大小过大,jvm调整要调整,第5个那个链接是调整情况。你口子放大了,肯定会接收的量变大。
超时时间是消息压力增加了,接收时间就会变慢,所以要调整。
(ps:带宽如果接近满了,调整什么都不好使)

BLue -> 半兽人 3年前

您好,博主,我这里有一个情况就是有二十个生产者同时向kafka里写数据,极端情况下,每个生产者同时会向kafka里写150M,单节点情况下,kafka是否可以满足要求,如果满足得需要什么样的硬件要求,怎么去设计kafka的配置优化。

半兽人 -> BLue 3年前

单节点有点虎呀。

1、https://www.orchome.com/41
2、 https://www.orchome.com/42

可以满足,可以参考这个俩个配置。

你的答案

查看kafka相关的其他问题或提一个您自己的问题