【问题标题】:how to remaine the kafka retentions-bytes and kafka retention-segment even after kafka machine reboot [duplicate]即使在kafka机器重新启动后如何保留kafka保留字节和kafka保留段[重复]
【发布时间】:2020-07-23 14:27:48
【问题描述】:

我们为主题设置 retention bytes 值 - 104857600 - topic_test

[root@confluent01 ~]# kafka-topics --zookeeper localhost:2181 --alter --topic  topic_test --config retention.bytes=104857600
WARNING: Altering topic configuration from this script has been deprecated and may be removed in future releases.
         Going forward, please use kafka-configs.sh for this functionality
Updated config for topic "topic_test".

现在我们验证来自动物园管理员的retention bytes

[root@confluent01 ~]#  zookeeper-shell confluent01:2181 get /config/topics/topic_test
Connecting to confluent1:2181
{"version":1,"config":{"retention.bytes":"104857600"}}
cZxid = 0xb30a00000038

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
ctime = Mon Jun 29 11:42:30 GMT 2020
mZxid = 0xb31100008978
mtime = Wed Jul 22 19:22:20 GMT 2020
pZxid = 0xb30a00000038
cversion = 0
dataVersion = 7
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 54
numChildren = 0

现在我们对kafka confluent01机器执行reboot

机器启动并成功启动kafka服务后,我们再次检查了来自zookeeper的retention-bytes

但是现在(机器重启后)我们可以看到 retention bytes 没有在 zookeeper 中配置

[root@confluent01 ~]#zookeeper-shell confluent01:2181 get /config/topics/topic_test
Connecting to confluent1:2181

WATCHER::

WatchedEvent state:SyncConnected type:None path:null  no retention bytes value 

{"version":1,"config":{}}
cZxid = 0xb30a00000038
ctime = Mon Jun 29 11:42:30 GMT 2020
mZxid = 0xb3110000779b
mtime = Wed Jul 22 14:09:19 GMT 2020
pZxid = 0xb30a00000038
cversion = 0
dataVersion = 2
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 25
numChildren = 0

问题是 - 即使在 kafka 机器重启后如何保留retention bytes

注意 - 我们不想使用来自 server.properties 的保留字节 因为我们为每个主题设置了不同的保留字节

【问题讨论】:

    标签: apache-kafka apache-zookeeper


    【解决方案1】:

    Zookeeper 和 Kafka 默认将数据存储在 /tmp 中

    如果你重新启动机器,/tmp 会被清除

    否则,如果你使用confluent start命令,这不是永久数据。

    如果您使用 Docker/Kubernetes 而不安装任何卷,这也不是永久性的。


    你也应该使用kafka-topics --describe 命令而不是zookeeper-shell,因为 Zookeeper 将在即将发布的 Kafka 版本中完全删除

    【讨论】:

    • 你的意思是把数据存储在 /tmo 下,在 kafka 机器上的 r/tmp 我们没有任何与 kafka 相关的东西
    • 例如我看到 al zookeeper 数据位于 - /opt/confluent/etc/zookeeper/data/version-2
    • Kafka:logs.dirs=/tmp/kafka-logs,Zookeeper dataDir=/tmp...这些是默认值
    • about - zookeeper-shell confluent01:2181 get /config/topics/topic_test 连接到 confluent1:2181 ,我们使用它来验证新的保留字节conf
    • 你应该使用kafka-topics,就像我提到的那样。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-18
    • 1970-01-01
    • 2017-03-08
    • 1970-01-01
    • 1970-01-01
    • 2016-09-23
    • 1970-01-01
    相关资源
    最近更新 更多