Где установить параметры min.insyn c .replicas и acks в Java? - PullRequest
0 голосов
/ 06 мая 2020

Мне нужно установить два параметра min.insync.replicas и acks. В официальной документации указано, что параметр min.insync.replicas - это параметр брокера. Правильно ли я понимаю, что для всех тем это должно быть указано внутри файла server.properties? И для одного - с помощью команды kafka.config. sh. Параметр Acks можно установить только при настройке производителя, например, из приложения? Изменения в файле Producer.properties не помогут?

1 Ответ

2 голосов
/ 06 мая 2020
Связанные с

Topi c свойства, определенные в server.properties, эффективны для всех тем (при условии, что вы не изменяете конфигурацию при создании topi c).


Теперь, если по какой-либо причине вы хотите изменить одно свойство для определенного c topi c, вы можете перезаписать глобальную конфигурацию, предоставив новую конфигурацию для этого топи c. Например,

bin/kafka-configs.sh \
    --zookeeper localhost:2181 \
    --alter \
    --entity-type topics \
    --entity-name yourTopicName \
    --add-config min.insync.replicas=2

В качестве альтернативы, если вы хотите создать топи c с конфигурацией, отличной от той, что определена в server.properties, вы можете использовать:

bin/kafka-topics.sh \
    --zookeeper localhost:2181 \
    --create \
    --topic yourTopicName \
    --partitions 1  \
    --replication-factor 3 \
    --config min.insync.replicas=2

Наконец, если вы хотите убедиться, что конфигурация эффективна, вы можете просто описать topi c, и добавленные конфигурации будут показаны на выходе (Configs в правом верхнем углу):

bin/kafka-topics \
    --zookeeper localhost:2181 \
    --describe  \
    --topic yourTopicName
...