У нас есть кластер кафка, версия 0.10

Мы можем получить только значение segment.bytes из zookeeper

Мы сделали следующий подход

zookeeper-shell kafka1:2181 get /config/topics/topic_test                                                           
Connecting to kafka1:2181

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
{"version":1,"config":{"segment.bytes":"10737555","retention.bytes":"104857600"}}
cZxid = 0xb30a00000038
ctime = Mon Jun 29 11:42:30 GMT 2020
mZxid = 0xb311000089d7
mtime = Fri Jul 24 08:04:38 GMT 2020
pZxid = 0xb30a00000038
cversion = 0
dataVersion = 9
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 81
numChildren = 0

Мы можем видеть сверху, что также многие детали выводятся на печать

Я хочу знать, можем ли мы запустить zookeeper-shell, чтобы получить только детали "retention.bytes":"104857600"

Может я использую путь к теме вместо другого пути?

Поэтому ожидаемые результаты должны быть

Пример

zookeeper-shell kafka1:2181 get /config/topics/topic_test                                                           
Connecting to kafka1:2181

WATCHER::

retention.bytes":"104857600
1
jessica 24 Июл 2020 в 11:22

1 ответ

Лучший ответ

zookeeper-shell не может проанализировать JSON. Он печатает только двоичные данные, которые хранятся в ZNodes.

Вам нужно будет написать код синтаксического анализа этой команды, чтобы извлечь эти данные.

1
OneCricketeer 25 Июл 2020 в 10:55