Могут ли «главные» и «подчиненные» узлы Mesos быть развернуты на одних и тех же машинах?

Могут ли «главные» узлы Apache Mesos размещаться на том же компьютере, что и «подчиненные» узлы Mesos? Точно так же (для развертывания с высокой доступностью (HA)) могут ли узлы Apache Zookeeper, используемые при выборе «главного» Mesos, быть развернуты на тех же машинах, что и «подчиненные» узлы Mesos?

Mesos рекомендует использовать 3 «мастера» для развертывания HA, а Zookeeper рекомендует использовать 5 узлов для своей системы выбора кворума. Было бы неплохо, если бы эти службы работали вместе с «подчиненными» процессами Mesos вместо того, чтобы отдавать 8 машин эффективно «непродуктивным» задачам.

Если такая установка возможна, каковы плюсы / минусы такой установки?

Спасибо!


person Ethan    schedule 27.10.2014    source источник


Ответы (1)


Вы определенно можете запустить главный, подчиненный и zk-процесс на одном и том же узле. Вы даже можете запустить несколько главных и подчиненных процессов на одном узле, при условии, что вы дадите им каждый уникальный порт, но это полезно только для тестового кластера.

Обычно мы рекомендуем запускать ZK на тех же узлах, что и ваши мастера, но если у вас есть дополнительные ZK, вы, безусловно, можете запускать их на подчиненных устройствах или смешивать и сопоставлять по своему усмотрению, если все узлы master / slave / framework могут достигают узлов ZK, и все ведомые устройства могут достигать мастеров.

Для меньшего кластера (‹10 узлов) может иметь смысл запускать подчиненный процесс на каждом главном устройстве, тем более, что резервные мастера не будут много делать. Даже активный мастер для небольшого кластера использует лишь небольшой объем ЦП, памяти и сетевых ресурсов. Просто убедитесь, что вы настроили --resources на этом ведомом устройстве, чтобы учесть использование ресурсов ведущим.

Когда ваш кластер становится больше (особенно> 100 узлов), сетевой трафик к / от мастера, а также его использование процессора / памяти становится достаточно значительным, чтобы вы не захотели запускать подчиненное устройство mesos на том же узле, что и мастер. Совместите ZK с вашим мастером даже в больших масштабах.

Вы специально не спрашивали, но я также расскажу, где запускать ваши планировщики фреймворка (например, Spark, Marathon или Chronos). Они могут быть совмещены с любыми другими компонентами, но на самом деле они должны иметь доступ только к главному узлу и узлам zk, так как вся связь с подчиненными идет через мастер. Некоторые клиенты запускают планировщики на главных узлах, некоторые запускают их на граничных узлах (поэтому пользователи не имеют доступа к ведомым устройствам), а другие используют мета-фреймворки, такие как Marathon, для запуска других планировщиков на ведомых устройствах в качестве задач Mesos.

person Adam    schedule 30.10.2014