Установка кластера Postgres на базе Patroni. #2

Поділитися
Вставка
  • Опубліковано 2 жов 2024
  • Файлы из видео: github.com/big...
    Предыдущее видео "Что такое кластер Postgres, как он работает и для чего нужен Patroni.": • Что такое кластер Post...
    Установка postgres оф.руководство: www.postgresql...
    Установка patroni оф.руководство: patroni.readth...
    Восстановление кластера Postgres на базе Patroni из полного бэкапа утилиты pg_basebackup: • Восстановление кластер...
  • Наука та технологія

КОМЕНТАРІ • 44

  • @TRIP4LIFE
    @TRIP4LIFE 2 роки тому +1

    100% лайк, подписка, колокол, ты просто красапет что делаешь такое!!! спасибо))

  • @mikhailplekhov3894
    @mikhailplekhov3894 Рік тому +4

    Спасибо автору! Очень помогло в работе! Consul + PostgreSQL 12 + patroni[consul] + HAProxy

  • @nikolaypelipets1807
    @nikolaypelipets1807 3 роки тому +2

    pip3 install psycopg2
    apt install -y build-essential libssl-dev libffi-dev python3-dev libjpeg-dev libjpeg8-dev
    pip3 install python-etcd

    • @SrGennadiy
      @SrGennadiy 2 роки тому

      Если не указывать версию psycopg, то ставится третья.

  • @SrGennadiy
    @SrGennadiy 2 роки тому +2

    Благодарю автора видео, т.к. указанные нюансы помогли мне в сборке своего кластер patroni в связке с pgbouncer+haproxy+keepalived. Видео установки и тестов выложил на своем канале.

    • @mikhailplekhov3894
      @mikhailplekhov3894 Рік тому +1

      И Вам большое спасибо, что поделились видео!

  • @maratbozhebayev6617
    @maratbozhebayev6617 Рік тому +1

    Здравствуйте, а юзеров нужно заранее в postgress создать ?

  • @erics8362
    @erics8362 2 роки тому +3

    👍Многие ограничиваются helloworldами, у вас более приближено к реалиям

    • @bigtown2012
      @bigtown2012  2 роки тому +4

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

  • @mukagen
    @mukagen 2 роки тому +1

    Здравствуйте! Подскажите: у вас есть опыт использования pgbackrest? Не могу понять как настроить две реплики: одна - асинхронная, вторая - синхронная. Используется выделенный репозиторий.

    • @bigtown2012
      @bigtown2012  2 роки тому +1

      Это утилита создания бинарных бэкапов и бэкапов журналов. Причем здесь синхронная и асинхронная реплика? Вы помоему идете не в том направлении. Про нее очень много говорят и всячески пиарят. Но на тестах у меня с ней возникли проблемы. Если в результате создания полного бэкапа не долетает wal-изменений, то она не способна восстановить просто полный бэкап с потерей изменений в журнале. По крайней мере без танцев с бубном.

  • @ФилиппДриндрожик-ш7ы
    @ФилиппДриндрожик-ш7ы 6 місяців тому

    Подскажите! Правильно понимаю, что ОС linux использовать?

  • @TRIP4LIFE
    @TRIP4LIFE 2 роки тому +1

    кстати зря с бонсером настройку не сделал, было бы интересно глянуть:)

    • @bigtown2012
      @bigtown2012  2 роки тому +1

      Ну на сомом деле я ответил на этот вопрос ниже в комментариях. ) Давайте повторюсь, настройка с pgbauncer-ом есть в конфигурационных файлах. и Там все очень просто. Процитирую свой комментарий "Посмотрите здесь конфигурационный файл bitbucket.org/big-town/ha-cluster/src/master/pg_cluster/ha-proxy/ceph_pp_haproxy_1/haproxy.cfg.pool я думаю все станет понятно. В двух словах pgbouncer ставится за ha-proxy, в примере он установлен на каждой ноде postgres. Только помните, что pgbouncer эффективен когда у вас много клиентов работает коннект/дисконнект, если у вас бэкенд работает по персистентным соединениям, то от pgbouncer-а не будет ни какого толку."

    • @TRIP4LIFE
      @TRIP4LIFE 2 роки тому

      @@bigtown2012 да да, это я услышал, посмотрю в репе, в любом случае большое спасибо, потому что дока по патрони просто ужасна)))

  • @igorgladkov8270
    @igorgladkov8270 2 роки тому

    Спасибо, интересно!
    Но HA Proxy дает доступ на все сервера patroni, а на реплики нельзя выполнить запись в базу, соответственно как прокси понимает куда направлять пакеты?

  • @Jonny8950
    @Jonny8950 10 місяців тому

    где вы развернули 6 виртуалок и как вы прописывайте команду одновременно на 3 тачки? я тоже хочу найти такой удобный инструмент)

  • @saraantuayal8389
    @saraantuayal8389 2 роки тому +1

    зддраствуйте! Было бы интересно посмотреть каким образом в эту схему включить pgbouncer. Непонятно, где в вашей схеме могло бы быть его место

    • @bigtown2012
      @bigtown2012  2 роки тому

      Посмотрите здесь конфигурационный файл bitbucket.org/big-town/ha-cluster/src/master/pg_cluster/ha-proxy/ceph_pp_haproxy_1/haproxy.cfg.pool я думаю все станет понятно. В двух словах pgbouncer ставится за ha-proxy, в примере он установлен на каждой ноде postgres. Только помните, что pgbouncer эффективен когда у вас много клиентов работает коннект/дисконнект, если у вас бэкенд работает по персистентным соединениям, то от pgbouncer-а не будет ни какого толку.

    • @saraantuayal8389
      @saraantuayal8389 2 роки тому +1

      @@bigtown2012 Большое Вам спасибо! Это то что надо!!!Нет у меня именно коннект\дисконнект , обработка очередей сообщений Кафка, и, где-то идет утечка коннектов, как результат очень быстро забивается весь пулл коннектов постгри. Пока разработчик ищет утечку(не факт что найдет) как-то надо работать...

  • @saraantuayal8389
    @saraantuayal8389 2 роки тому

    При запуске патрони получаю : Can not find suitable configuration of distributed configuration store. И... вы не упомянули про установку модуля psycopg

    • @bigtown2012
      @bigtown2012  2 роки тому +1

      Ну то что линукс нужно поставить я тоже не говорил если что. ) Вопрос в Золандо почему пакеты которые требуется для работы не упомянут в зависимостях. По всей видимости у вас, либо не собрался кластер etcd, либо неверно указаны IP-адреса нод. Проверьте etcdctl cluster-health

  • @DARKHANBEK
    @DARKHANBEK 2 роки тому

    Здравствуйте, подскажите пожалуйста как создать VIP АДРЕС в кластере postgresql в этой конфигурации как в видео? в каком конфиг файле его прописывать ETCD или patroni?

    • @DARKHANBEK
      @DARKHANBEK 2 роки тому +1

      отвечу самому себе:
      *******более простой способ
      устанавливаем keepalived на все ноды
      редактируем конфиг файл
      теперь у кластера есть единая точка входа(адресс) которая в зависимости от ситуации всегда будет виртуально прикреплена с мастером

  • @ikhtiyarabdukhashimov3307
    @ikhtiyarabdukhashimov3307 7 місяців тому

    Привет всем, как мне связаться с создателем видео, я имею в виду админ

  • @SrGennadiy
    @SrGennadiy 2 роки тому +1

    По команде systemctl edit --full --force patroni.service где и под каким именем сохраняется файл?

    • @bigtown2012
      @bigtown2012  2 роки тому +1

      /etc/systemd/system/patroni.service

  • @АртемВласов-н2ф
    @АртемВласов-н2ф 2 роки тому

    А можно расположить etcd, patroni и postgresql на одной машине? Чтобы уменьшить количество виртуалок с 6 до 3?

    • @bigtown2012
      @bigtown2012  2 роки тому +3

      Конечно можно. Единственное требование к etcd что бы они располагались на разных ВМ(нодах).

    • @konstantink4188
      @konstantink4188 Рік тому

      вообще - это неправильно по нескольким моментам. 1. 3 сервера etcd (а иногда и 5) используется для кворума, для правильного и наиболее устойчивого к ошибкам метода определения, что одна из нод postgres отвалилась. Если у вас вместе с postgres отваливается и etcd - это не гуд совершенно. 2. etcd пишет ключи-значения на диск. Это такая конвенция. Если у вас postgres в моменте будет сильно нагружен - не факт, что сервер etcd отработает так, как нужно и с минимальными задержками. Итого: так делать можно, но на проде нужно использовать отдельные серваки для etcd. Можно брать самые слабые, но на них ничего другого быть не должно, кроме etcd ну и может быть в редких случая самых легковесных приложений.

  • @Лучшиеприколы-ч8н

    Добрый день! Не совсем поняла, а за что именно отвечают 2379 и 2780 порты в etcd?

    • @evgenya5316
      @evgenya5316 Рік тому +2

      2379 клиентский порт, для связи извне, 2380 общение etcd нод между собой

    • @bigtown2012
      @bigtown2012  Рік тому +1

      2379 за клиентские подключения, 2380 за соединениями между пирами(экземплярами etcd)

  • @harthurd
    @harthurd 2 роки тому

    У вас на схеме нарисовано, что клиенты через HAProxy подключаются к postgres через 5432 и вы в видео об этом говорите, а чуть позже говорите, что клиенты общаются с postgres только через patroni. Как всё-таки правильно?

    • @bigtown2012
      @bigtown2012  2 роки тому +1

      На схеме нарисовано что клиенты подключаются на порт 15432 на ha-proxy. (sql clients 10.103.10.200:15432) Клиенты sql с патрони не общаются ни как! Они даже не знают о его существовании.

    • @harthurd
      @harthurd 2 роки тому

      @@bigtown2012 я немного не правильно сформулировал. Haproxy должен же общаться с patroni? А patroni уже с postgres, верно? А то у вас стрелки синие от Haproxy к postgres непосредственно, минуя patroni.

    • @bigtown2012
      @bigtown2012  2 роки тому +1

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

    • @harthurd
      @harthurd 2 роки тому

      @@bigtown2012 Теперь понятней стало, спасибо за разъяснения

    • @harthurd
      @harthurd 2 роки тому

      @@bigtown2012 А подскажите ещё, пожалуйста, как haproxy знает на какую ноду отправлять запрос на чтение, а на какую на запись?

  • @Ranburu
    @Ranburu 2 роки тому

    > Если вы смотрите это видео то вы знаете как это делать
    НЕТ, ты не поверишь но люди смотрят видео как раз тогда, когда не знают как что-то сделать

    • @bigtown2012
      @bigtown2012  2 роки тому +2

      Мои видео предполагают наличие базовых навыков в системном администрировании. В данном случае имелось ввиду установка пакетов из внешних репозиториев. Именно это понималось под фразой "Если вы смотрите это видео то вы знаете как это делать".