Невозможно выбрать главаря мезосов - PullRequest
0 голосов
/ 14 марта 2019

У меня есть кластер с 5 машинами мезос-мастеров, кворум 3. У меня произошел сбой, когда все 5 вышли из строя, теперь я пытаюсь стабилизировать нового мастера. Я вижу следующее:

    F0314 17:21:22.007699  8233 master.cpp:1176] Recovery failed: Failed to recover registrar: Failed to perform fetch within 1mins
*** Check failure stack trace: ***
    @     0x7f80faa2de1d  google::LogMessage::Fail()
    @     0x7f80faa2fd35  google::LogMessage::SendToLog()
    @     0x7f80faa2da3c  google::LogMessage::Flush()
    @     0x7f80faa305a9  google::LogMessageFatal::~LogMessageFatal()
    @     0x7f80fa4cded7  mesos::internal::master::fail()
    @     0x7f80fa4fc89b  _ZNSt17_Function_handlerIFvRKSsEZNK7process6FutureI7NothingE8onFailedISt5_BindIFPFvS1_S1_EPKcSt12_PlaceholderILi1EEEEvEERKS6_OT_NS6_6PreferEEUlS1_E_E9_M_invokeERKSt9_Any_dataS1_
    @     0x7f80fa430415  process::internal::run<>()
    @     0x7f80fa43049b  process::Future<>::fail()
    @     0x7f80fa52f22e  process::internal::thenf<>()
    @     0x7f80fa5737f5  _ZN7process8internal3runISt8functionIFvRKNS_6FutureIN5mesos8internal8RegistryEEEEEJRS7_EEEvRKSt6vectorIT_SaISE_EEDpOT0_
    @     0x7f80fa57388d  process::Future<>::fail()
    @     0x7f80fa430415  process::internal::run<>()
    @     0x7f80fa57387b  process::Future<>::fail()
    @     0x7f80fa56965c  mesos::internal::master::RegistrarProcess::_recover()
    @     0x7f80fa9d88da  process::ProcessManager::resume()
    @     0x7f80fa9d8b8c  process::schedule()
    @     0x7f80f9b17192  start_thread
    @     0x7f80f8e1c26d  (unknown)

Шаги, которые я предпринял:

  1. остановить все ведомые мезо и очистить MESOS_SLAVE_WORK_DIR
  2. остановить все mesos_master удалить все под FRAMEWORK_DATA_ROOT и MESOS_WORK_DIR каталог
  3. удалить /mesos.clustername из Zookeeper (соответствует пути для MESOS_MASTER = zk: //)
  4. Запускать 3 mesos_masters почти параллельно

Может кто-нибудь посоветовать, что еще можно почистить или какую дополнительную регистрацию включить? Следует ли каким-то образом увеличить время выборки в 1 мин (не уверен, что контролирует этот лимит времени).

До аварии я вижу это:

I0314 17:20:22.006703  8233 master.cpp:1187] Recovering from registrar
I0314 17:20:22.006728  8234 registrar.cpp:313] Recovering registrar
I0314 17:20:22.008124  8228 group.cpp:659] Trying to get '/mesos.cluster1/log_replicas/0000000040' in ZooKeeper
I0314 17:20:22.009953  8228 group.cpp:659] Trying to get '/mesos.cluster1/log_replicas/0000000041' in ZooKeeper
I0314 17:20:22.011700  8230 network.hpp:466] ZooKeeper group PIDs: { log-replica(1)@ip1:5050, log-replica(1)@ip2:5050, log-replica(1)@ip3:5050, log-replica(1)@ip4:5050 }
I0314 17:20:22.031610  8233 replica.cpp:641] Replica in EMPTY status received a broadcasted recover request
I0314 17:20:22.606565  8228 replica.cpp:641] Replica in EMPTY status received a broadcasted recover request
I0314 17:20:23.250629  8231 replica.cpp:641] Replica in EMPTY status received a broadcasted recover request
I0314 17:20:23.930461  8234 replica.cpp:641] Replica in EMPTY status received a broadcasted recover request
I0314 17:20:24.331779  8231 replica.cpp:641] Replica in EMPTY status received a broadcasted recover request
I0314 17:20:24.493544  8234 replica.cpp:641] Replica in EMPTY status received a broadcasted recover request
I0314 17:20:24.739902  8230 replica.cpp:641] Replica in EMPTY status received a broadcasted recover request
I0314 17:20:24.976166  8236 recover.cpp:111] Unable to finish the recover protocol in 10secs, retrying

Пустой инн затем повторяется довольно долго, пока мастер не умрет, как указано выше. В значительной степени в недоумении, как заставить мастера стабилизироваться

наконец, ниже моя версия мезо (я не могу обновить в данный момент)

mesos-master --version
mesos 0.22.2
...