Прежде всего, вам не нужно настраивать Zookeper и Kafka на одном сервере. Одна из ролей Zookeeper - выбор контроллера. (один из брокеров, который отвечает за поддержание отношений лидер / последователь для всех разделов) Для выборов; Большинство узлов Zookeper должно быть живым. В вашем случае даже один экземпляр Zookeeper не работает, вы не можете выбрать контроллер. Так что нет никакой разницы между одним или двумя зоопарками. Поэтому рекомендуется иметь как минимум 3 узла в кластере Zookeeper. Таким образом вы можете справиться со сбоем одного узла Zookeeper.
В дополнение к этому настоятельно рекомендуется иметь как минимум трех брокеров в вашем кластере Kafka для поддержания как согласованности, так и высокой доступности. ( link1 , link2 )
ОБНОВЛЕНИЕ:
Пока вы ограничены только двумя серверами, тогда вы Вы можете отказаться от высокой доступности, настроив своего брокера, установив min.insync.replicas=2
и указав темы с replication.factor=2
. Если HA важнее, чем потеря данных, вы можете использовать конфигурацию брокера min.insync.replicas=1
(по умолчанию) снова с topi c replication.factor=2
. При таких обстоятельствах ваши варианты таковы ИМХО. (Наличие одного или двух Zookeepers не важно, как я упоминал выше)