Azkaban: работающий кластер серверов-исполнителей Azkaban
Могу ли я запустить Azkaban Executor Service в кластере. Если один узел выйдет из строя, тогда другой сможет поднять и запустить запланированные задания? Я не видел никакой документации по этому виду установки.
Все, что я где-то читал, было то, что мы можем запустить только одну Службу Исполнителя для каждого веб-сервера. Но идеальной отказоустойчивой архитектурой будет иметь независимую работу веб-серверов и серверов-исполнителей.
Кто-нибудь справился с такой ситуацией. Пожалуйста, дайте мне знать, если у вас есть какие-либо указатели..
Спасибо, Кранти
2 ответа
Согласно плану Азкабана, этот объект будет доступен только в версии 2.7. Но вот как я планирую справиться с этим на время.
Несколько служб исполнителя могут быть запущены за vip балансировщика нагрузки. Веб и исполнитель - 2 независимых сервиса. Web может направить запрос в любую службу-исполнитель, так как сведения о задании и потоке в любом случае сохраняются в Mysql, и, следовательно, эта настройка будет работать.
Если есть что-то, что другие сделали по-другому, пожалуйста, дайте мне знать.
Спасибо, Кранти
Вы должны добавить следующие строки конфигурации в каталог conf конфигурации azkaban-web :
#Multiple Executor
azkaban.use.multiple.executors=true
azkaban.executorselector.filters=StaticRemainingFlowSize,MinimumFreeMemory,CpuStatus
azkaban.executorselector.comparator.NumberOfAssignedFlowComparator=1
azkaban.executorselector.comparator.Memory=1
azkaban.executorselector.comparator.LastDispatched=1
azkaban.executorselector.comparator.CpuUsage=1
Я вставил следующую конфигурацию на основе DNS, чтобы они могли иметь конфигурацию на основе мультикластера. В этом нет необходимости, если вы находитесь внутри одной сети.
insert into executors (id, host, port, active) values (10000,your.dns.com,12321,1);
На этом этапе точки используют параметр useExecutor, установив идентификатор, вставленный выше, или 10000 в качестве значения.