ZooKeeper cluster: кто-нибудь?
-
- Уже с Приветом
- Posts: 17549
- Joined: 15 Aug 2002 00:39
- Location: Maryland
ZooKeeper cluster: кто-нибудь?
Здорово, отцы!
Люблюсь некоторое время с сим "чюдом", и что-то в конец запутался. Если кто связывался, ткните носом.
Дано: амазоновское облако. Поднимаем стек из 5 машин (стек 1) для организации на них ZooKeeper'ного кластера. Все проходит нормально, кластер слепливается без проблем, солары и кафки используют его в хвост и гриву. Пока полное счастье.
Спустя какое-то время поднимаем второй стек из 5 машин. Скрипт на каждой из них "обнюхивает" активные ноды, лепит из них конфигурацию для стека номер 2, машины одна за одной сначала прилепляются в виде observer'ов, потом конвертятся в participant'ов. Кластер какое-то время работает на 10 машинах.
После первый стек уже нафиг не нужен, и он спиливается: его ноды переводятся сначала в observer'ов, а потом стек тупо удаляется. Последний шаг - вычищение старых IP из стека 1 из конфигурации кластера. Лепота. Все работает.
Через день-два-неделю (не столь важно) поднимаем кластер номер 3. Желание простое: присоседить новый стек к кластеру точно также, как присоединяли стек номер 2. Первая машина стека 3 успешно запускает сервис ZooKeeper'a, подсоединяется к кластеру в роли observer'а и... Не может стать participant'ом. Команда reconfig через "zkCli" возвращает код ошибки. В логах ZooKeeper'a наблюдаю обращение к машине из стека номер 1, который давно снесли нахрен и вычистили!
{code}
2019-04-02 17:37:27,960 [myid:2557] - WARN [QuorumPeer[myid=2557]
(plain=/0:0:0:0:0:0:0:0:2181)(secure=disabled):QuorumCnxManager@660] -
Cannot open channel to 2336 at election address /XX.XX.XX.11:3888
java.net.NoRouteToHostException: No route to host (Host unreachable)
{code}
Анекдот в том, что такое случается не каждый раз, а в среднем 2 раза из 3. Иногда все проходит пучком.
Традиционный русский вопрос: что делать? Откуда он берет "старые" IP-адреса, если из однозначно нет в конфигурации кластера? Ну даже если они где-то закешились, кластер-то должен знать, что эти адреса "мертвые"?
В общем, буду признателен за помощь.
Люблюсь некоторое время с сим "чюдом", и что-то в конец запутался. Если кто связывался, ткните носом.
Дано: амазоновское облако. Поднимаем стек из 5 машин (стек 1) для организации на них ZooKeeper'ного кластера. Все проходит нормально, кластер слепливается без проблем, солары и кафки используют его в хвост и гриву. Пока полное счастье.
Спустя какое-то время поднимаем второй стек из 5 машин. Скрипт на каждой из них "обнюхивает" активные ноды, лепит из них конфигурацию для стека номер 2, машины одна за одной сначала прилепляются в виде observer'ов, потом конвертятся в participant'ов. Кластер какое-то время работает на 10 машинах.
После первый стек уже нафиг не нужен, и он спиливается: его ноды переводятся сначала в observer'ов, а потом стек тупо удаляется. Последний шаг - вычищение старых IP из стека 1 из конфигурации кластера. Лепота. Все работает.
Через день-два-неделю (не столь важно) поднимаем кластер номер 3. Желание простое: присоседить новый стек к кластеру точно также, как присоединяли стек номер 2. Первая машина стека 3 успешно запускает сервис ZooKeeper'a, подсоединяется к кластеру в роли observer'а и... Не может стать participant'ом. Команда reconfig через "zkCli" возвращает код ошибки. В логах ZooKeeper'a наблюдаю обращение к машине из стека номер 1, который давно снесли нахрен и вычистили!
{code}
2019-04-02 17:37:27,960 [myid:2557] - WARN [QuorumPeer[myid=2557]
(plain=/0:0:0:0:0:0:0:0:2181)(secure=disabled):QuorumCnxManager@660] -
Cannot open channel to 2336 at election address /XX.XX.XX.11:3888
java.net.NoRouteToHostException: No route to host (Host unreachable)
{code}
Анекдот в том, что такое случается не каждый раз, а в среднем 2 раза из 3. Иногда все проходит пучком.
Традиционный русский вопрос: что делать? Откуда он берет "старые" IP-адреса, если из однозначно нет в конфигурации кластера? Ну даже если они где-то закешились, кластер-то должен знать, что эти адреса "мертвые"?
В общем, буду признателен за помощь.
Не задираться, а то съем!..
-
- Уже с Приветом
- Posts: 15409
- Joined: 30 Apr 2003 16:43
Re: ZooKeeper cluster: кто-нибудь?
Пара народных мудростей:
- кошка скреб на свой хребет, и
- спасение утопающих дело самих.
Если на обидились объясните, пожалуйста, страсть к созданию и удалению стеков и кластеров вообще.
- кошка скреб на свой хребет, и
- спасение утопающих дело самих.
Если на обидились объясните, пожалуйста, страсть к созданию и удалению стеков и кластеров вообще.
-
- Уже с Приветом
- Posts: 34164
- Joined: 03 Dec 2000 10:01
- Location: Vladivostok->San Francisco->Los Angeles->San Francisco
Re: ZooKeeper cluster: кто-нибудь?
А что мешает запустить сразу кластер из 15 машин? А все остатки декомисовать...timeau wrote: 10 Apr 2019 01:21 Здорово, отцы!
Люблюсь некоторое время с сим "чюдом", и что-то в конец запутался. Если кто связывался, ткните носом.
Дано: амазоновское облако. Поднимаем стек из 5 машин (стек 1) для организации на них ZooKeeper'ного кластера. Все проходит нормально, кластер слепливается без проблем, солары и кафки используют его в хвост и гриву. Пока полное счастье.
Спустя какое-то время поднимаем второй стек из 5 машин. Скрипт на каждой из них "обнюхивает" активные ноды, лепит из них конфигурацию для стека номер 2, машины одна за одной сначала прилепляются в виде observer'ов, потом конвертятся в participant'ов. Кластер какое-то время работает на 10 машинах.
После первый стек уже нафиг не нужен, и он спиливается: его ноды переводятся сначала в observer'ов, а потом стек тупо удаляется. Последний шаг - вычищение старых IP из стека 1 из конфигурации кластера. Лепота. Все работает.
Через день-два-неделю (не столь важно) поднимаем кластер номер 3. Желание простое: присоседить новый стек к кластеру точно также, как присоединяли стек номер 2. Первая машина стека 3 успешно запускает сервис ZooKeeper'a, подсоединяется к кластеру в роли observer'а и... Не может стать participant'ом. Команда reconfig через "zkCli" возвращает код ошибки. В логах ZooKeeper'a наблюдаю обращение к машине из стека номер 1, который давно снесли нахрен и вычистили!
{code}
2019-04-02 17:37:27,960 [myid:2557] - WARN [QuorumPeer[myid=2557]
(plain=/0:0:0:0:0:0:0:0:2181)(secure=disabled):QuorumCnxManager@660] -
Cannot open channel to 2336 at election address /XX.XX.XX.11:3888
java.net.NoRouteToHostException: No route to host (Host unreachable)
{code}
Анекдот в том, что такое случается не каждый раз, а в среднем 2 раза из 3. Иногда все проходит пучком.
Традиционный русский вопрос: что делать? Откуда он берет "старые" IP-адреса, если из однозначно нет в конфигурации кластера? Ну даже если они где-то закешились, кластер-то должен знать, что эти адреса "мертвые"?
В общем, буду признателен за помощь.
"A patriot must always be ready to defend his country against his government." Edward Abbey
-
- Уже с Приветом
- Posts: 17549
- Joined: 15 Aug 2002 00:39
- Location: Maryland
Re: ZooKeeper cluster: кто-нибудь?
Я не уверен, что именно было написано выше, особенно про кошку, похоже на бред. Отквотированнное имеет смысл, потому отвечу.zVlad wrote: 14 Apr 2019 19:38 Если на обидились объясните, пожалуйста, страсть к созданию и удалению стеков и кластеров вообще.
Согласно policy, мы не имеем права хранить стек дольше 1 месяца. Это предел, вызванный установкой патчей и прочими атрибутами безопасности. Реально многое завязано на Team City, когда запуск нового стека обусловлен элементарной зависимостью одного от другого, и потому смена стеков происходит раз в 7-10 дней.
Мне просто надоело (да и начальство озаботилось, что есть гуд), что после смены стеков что-то надо подпиливать, подковыривать и т.д. Надо, чтобы все ротейтилось само, без нашего участия от слова "совсем". Вот и выяснили "слабое звено", с которым и боремся.
Могу добавить, что после удаления observer'а сразу начинаются выборы, а я лично этого вообще понять не могу, ибо observer'ы есть прибалтийские неграждане: работать должны, а голосовать - нет. Но с ними, с observer'ами, считаются, и я опечален.
А нахрен он нужен, на 15 машин-то? В нормальной ситуации должно работать 5. И они должны сохранять все записанные в них данные, ежу понятно.Sergunka wrote: 14 Apr 2019 22:10А что мешает запустить сразу кластер из 15 машин? А все остатки декомисовать...
Не задираться, а то съем!..
-
- Уже с Приветом
- Posts: 34164
- Joined: 03 Dec 2000 10:01
- Location: Vladivostok->San Francisco->Los Angeles->San Francisco
Re: ZooKeeper cluster: кто-нибудь?
Тогда к чему все эти эксперименты? Из моего опыта с Амазоном они там любят что-то из бекапа восстанавливать возможно какие-то таблицы Вы хоть и почиститли, но они восстановили походу.
"A patriot must always be ready to defend his country against his government." Edward Abbey
-
- Уже с Приветом
- Posts: 17549
- Joined: 15 Aug 2002 00:39
- Location: Maryland
Re: ZooKeeper cluster: кто-нибудь?
Не понял... Что значит "к чему?"? Я ж вроде объяснил.
![HBZ :pain1:](./images/smilies/pain25.gif)
Знаете, Сергунька, я бы все-таки предпочел более технически продвинутый разговор, чем "они какие-то таблицы почистили". Будьте добры, если не в курсе, не засоряйте тему.Sergunka wrote:Из моего опыта с Амазоном они там любят что-то из бекапа восстанавливать возможно какие-то таблицы Вы хоть и почиститли, но они восстановили походу.
Не задираться, а то съем!..
-
- Уже с Приветом
- Posts: 5691
- Joined: 01 Mar 2004 10:57
- Location: Сибирь -> Aotearoa
Re: ZooKeeper cluster: кто-нибудь?
Ктож вам ответит?timeau wrote: 10 Apr 2019 01:21 Традиционный русский вопрос: что делать? Откуда он берет "старые" IP-адреса, если из однозначно нет в конфигурации кластера? Ну даже если они где-то закешились, кластер-то должен знать, что эти адреса "мертвые"?
В общем, буду признателен за помощь.
У вас кластер похоже поднимается чем то своим а не AWS средствами.
Скрипты для конфигурирования всего этого огорода тоже свои.
![HBZ :pain1:](./images/smilies/pain25.gif)
-
- Уже с Приветом
- Posts: 17549
- Joined: 15 Aug 2002 00:39
- Location: Maryland
Re: ZooKeeper cluster: кто-нибудь?
А причем тут скрипты? Используется обычный salt. Какое это отношение к запоминанию ZooKeeper'ом старых адресов имеет?
Не задираться, а то съем!..
-
- Уже с Приветом
- Posts: 34164
- Joined: 03 Dec 2000 10:01
- Location: Vladivostok->San Francisco->Los Angeles->San Francisco
Re: ZooKeeper cluster: кто-нибудь?
Вам надо запостись терпением и логами какие ошибки выдает ваш кластер. После чего идти сдаваться в приличное место видимо https://stackoverflow.com/ с описанием всего процесса от и до включая логи. За одно проверьте у Вашего лигал департамента можете ли Вы публиковать логи?
"A patriot must always be ready to defend his country against his government." Edward Abbey
-
- Уже с Приветом
- Posts: 19935
- Joined: 30 Aug 2000 09:01
- Location: WA
Re: ZooKeeper cluster: кто-нибудь?
Вы уверены, что он читает тот конфиг который вы думаете он читает, и в том формате, что понимается той версией, что сейчас работает?timeau wrote: 14 Apr 2019 23:59 Могу добавить, что после удаления observer'а сразу начинаются выборы, а я лично этого вообще понять не могу, ибо observer'ы есть прибалтийские неграждане: работать должны, а голосовать - нет.
-
- Уже с Приветом
- Posts: 17549
- Joined: 15 Aug 2002 00:39
- Location: Maryland
Re: ZooKeeper cluster: кто-нибудь?
Сергунька,Sergunka wrote: 15 Apr 2019 18:35Вам надо запостись терпением и логами какие ошибки выдает ваш кластер.
а Вы читали исходный пост? Фрагмент лога прямо там.
Очень хочется съязвить, но не буду: скажу лишь, что я в не настолько уж дальней деревне живу. Вот топик, запостил еще до этого.Sergunka wrote:После чего идти сдаваться в приличное место видимо https://stackoverflow.com/ с описанием всего процесса от и до включая логи.
Спасибо, тоже давно сделаноSergunka wrote:За одно проверьте у Вашего лигал департамента можете ли Вы публиковать логи?
![Very Happy :D](./images/smilies/biggrin.gif)
Ну так по делу-то можете что-нибудь сказать? Или следующая рекомендация будет о соблюдении fat-free диеты?
100%. Гарантирую.uncle_Pasha wrote: 15 Apr 2019 22:57Вы уверены, что он читает тот конфиг который вы думаете он читает, и в том формате, что понимается той версией, что сейчас работает?
Не задираться, а то съем!..
-
- Уже с Приветом
- Posts: 34164
- Joined: 03 Dec 2000 10:01
- Location: Vladivostok->San Francisco->Los Angeles->San Francisco
Re: ZooKeeper cluster: кто-нибудь?
Хорошо, обычно всеж народ пишет, что нужно посмотреть конфиг фалы на каждом сервере
zoo.cfg under $ZOOKEEPER_HOME/conf
типо тут больше деталей
https://stackoverflow.com/questions/401 ... ter-on-aws
Просто тупо вручную установить сервера пробовали?
zoo.cfg under $ZOOKEEPER_HOME/conf
типо тут больше деталей
https://stackoverflow.com/questions/401 ... ter-on-aws
Просто тупо вручную установить сервера пробовали?
"A patriot must always be ready to defend his country against his government." Edward Abbey
-
- Уже с Приветом
- Posts: 5691
- Joined: 01 Mar 2004 10:57
- Location: Сибирь -> Aotearoa
Re: ZooKeeper cluster: кто-нибудь?
К непосредственно возникновению вашей проблемы скорее всего никакого.
К пониманию вашей проблемы сторонними людьми прямое.
Что такое "добавить новый стэк в Zookeeper" я например практически не понимаю.
Про скрипты вы начали сами.
А насчет адресов. Какие адреса имеют новые ноды когда возникает ошибка? Не пересекаются с теми адресами которые уже имели удаленные ноды?
-
- Уже с Приветом
- Posts: 17549
- Joined: 15 Aug 2002 00:39
- Location: Maryland
Re: ZooKeeper cluster: кто-нибудь?
Большое спасибо за ответы, Сергунька, но давайте на этом и закончим, если не возражаете.Sergunka wrote: 16 Apr 2019 00:52 Хорошо, обычно всеж народ пишет, что нужно посмотреть конфиг фалы на каждом сервере
Нда? Вот почему-то анекдот про Ржевского и кормление лошади с руки вспоминается... Ну ладно. Я попробую объяснить, а Вы попробуйте перефразировать, если сумеете.mavr wrote: 16 Apr 2019 03:11Что такое "добавить новый стэк в Zookeeper" я например практически не понимаю.
Есть кластер, основанный на стеке 1, состоящем из трех машин 1-1, 1-2, 1-3. Запускается новый стек 2 с машинами 2-1, 2-2, 2-3. И эти машины 2-Х подсоединяются к кластеру, в котором становится 6 машин из 2 стеков. Вот только честно: неужто это дико сложно?
Это 100% по делу. Нет, не пересекаются, особенно в Амазоне. Он раздает адреса весьма щедро, в отличие от GCP (Google Cloud Platform). Но даже в случае пересечения самое плохое, что могло бы случиться, это обращение к вновь образованным нодам, на которых зверушка еще не запущена. Этого не наблюдал ни разу.mavr wrote:А насчет адресов. Какие адреса имеют новые ноды когда возникает ошибка? Не пересекаются с теми адресами которые уже имели удаленные ноды?
Наткнулся на непонятную (снова?) вещь: любое изменение структуры кластера приводит к перевыборам. Ну как на Украине, чесслово, сорри, не удержался. Хотя почему удаление неголосующего нода приводит к обсуждению "царя горы" - мне совершенно непонятно.
Завтра попробую перезапустить сервисы ZooKeeper'а на всех нодах существующего кластера по очереди. Интересно, это выбьет из них дурь, т.е. знания об ушедшем кластере?
Не задираться, а то съем!..
-
- Уже с Приветом
- Posts: 5691
- Joined: 01 Mar 2004 10:57
- Location: Сибирь -> Aotearoa
Re: ZooKeeper cluster: кто-нибудь?
Это не сложно, это ... странно.timeau wrote: 16 Apr 2019 03:31Нда? Вот почему-то анекдот про Ржевского и кормление лошади с руки вспоминается... Ну ладно. Я попробую объяснить, а Вы попробуйте перефразировать, если сумеете.mavr wrote: 16 Apr 2019 03:11Что такое "добавить новый стэк в Zookeeper" я например практически не понимаю.
Есть кластер, основанный на стеке 1, состоящем из трех машин 1-1, 1-2, 1-3. Запускается новый стек 2 с машинами 2-1, 2-2, 2-3. И эти машины 2-Х подсоединяются к кластеру, в котором становится 6 машин из 2 стеков. Вот только честно: неужто это дико сложно?
Этот "стэк" существует только в вашем представлении и к делу совершенно не относится.
Ни zookeeper про эти стэки понятия не имеет ни AWS ни мы.
Было три ноды. Добавили еще три. Три старых хотите удалить. Кластер один. Никаких новых и/или множественных кластеров нет.
Еслив чего, то AWS их раздает ровно с той щедростью с которой вы (или кто то у вас) ему выделили в соответствующей VPC подсетке.timeau wrote: 16 Apr 2019 03:31Это 100% по делу. Нет, не пересекаются, особенно в Амазоне. Он раздает адреса весьма щедро.mavr wrote:А насчет адресов. Какие адреса имеют новые ноды когда возникает ошибка? Не пересекаются с теми адресами которые уже имели удаленные ноды?
Ну наверное потому что так написана логика кластераtimeau wrote: 16 Apr 2019 03:31Наткнулся на непонятную (снова?) вещь: любое изменение структуры кластера приводит к перевыборам. Ну как на Украине, чесслово, сорри, не удержался. Хотя почему удаление неголосующего нода приводит к обсуждению "царя горы" - мне совершенно непонятно.