Запуск нескольких брокеров Kafka на Mesos в качестве заданий Marathon

Я хочу запустить несколько брокеров Kafka на Mesos в качестве заданий Marathon. Думаю что использовать в качестве ID брокера. Я знаю, что некоторые люди используют идентификатор брокера на основе IP, но я читал, что этот подход не оптимален для ситуаций при переносе брокеров на другие машины. Любые идеи?

В связи с этим, есть ли способ выполнить последовательное развертывание брокеров Kafka таким образом, чтобы Marathon ждал, пока старые экземпляры брокера реплицируют данные на новые, прежде чем убить их.


person Domen P    schedule 11.06.2015    source источник


Ответы (1)


Я создал образ Docker, который можно запустить на Marathon и также масштабировать вверх и вниз. Чтобы получить уникальный идентификатор брокера, я объединяю последний октет IP-адреса и номера порта, который Marathon придумывает, с контейнером Docker.

Я понял, что это не должно быть проблемой, потому что обычно клиенты подключаются через ZooKeeper, который сам имеет узлы и информацию об их подключении, поэтому вам не нужно заботиться о деталях. Или я неправильно понял вопрос...

Посмотри на

person Tobi    schedule 12.06.2015
comment
Я спрашиваю о последовательном развертывании, потому что хочу, чтобы данные всегда реплицировались между узлами. Например, при переходе на новые машины на них нет данных, и им нужно получить эти данные со старых. По этой причине вам нужно подождать с прекращением работы старых брокеров, пока они не реплицируют все свои данные на новые. Мне интересно, как вы решили эту проблему? - person Domen P; 12.06.2015
comment
Я не занимался этим активно. Я думаю, вам нужно справиться с этим с помощью фактора репликации темы: kafka.apache.org/documentation.html #basic_ops_add_topic - person Tobi; 12.06.2015
comment
Честно говоря, я не очень хороший знаток Кафки. Я создал образ Docker для тестирования и пока не сталкивался с проблемами. Прежде чем я перейду к производству с этим, я, безусловно, рекомендую провести дальнейшее тестирование. - person Tobi; 12.06.2015