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

  Рет қаралды 10,323

bigtown2012

bigtown2012

3 жыл бұрын

Файлы из видео: github.com/big-town/ha-cluste...
Предыдущее видео "Что такое кластер Postgres, как он работает и для чего нужен Patroni.": • Что такое кластер Post...
Установка postgres оф.руководство: www.postgresql.org/download/l...
Установка patroni оф.руководство: patroni.readthedocs.io/en/lat...
Восстановление кластера Postgres на базе Patroni из полного бэкапа утилиты pg_basebackup: • Восстановление кластер...

Пікірлер: 44
@mikhailplekhov3894
@mikhailplekhov3894 Жыл бұрын
Спасибо автору! Очень помогло в работе! Consul + PostgreSQL 12 + patroni[consul] + HAProxy
@TRIP4LIFE
@TRIP4LIFE 2 жыл бұрын
100% лайк, подписка, колокол, ты просто красапет что делаешь такое!!! спасибо))
@erics8362
@erics8362 2 жыл бұрын
👍Многие ограничиваются helloworldами, у вас более приближено к реалиям
@bigtown2012
@bigtown2012 2 жыл бұрын
Да, это основная проблема. Все показывают как быстро развернуть синтетическую установку. А как это использовать в реальной жизни, мало кто показывает. И уж темболее не стремится что бы дать понимание происходящего. Я пытаюсь делать эти ролики с позиции "А как бы я хотел увидеть эту информацию".
@SrGennadiy
@SrGennadiy Жыл бұрын
Благодарю автора видео, т.к. указанные нюансы помогли мне в сборке своего кластер patroni в связке с pgbouncer+haproxy+keepalived. Видео установки и тестов выложил на своем канале.
@mikhailplekhov3894
@mikhailplekhov3894 Жыл бұрын
И Вам большое спасибо, что поделились видео!
@user-iv8tk7vi3x
@user-iv8tk7vi3x 4 ай бұрын
Подскажите! Правильно понимаю, что ОС linux использовать?
@igorgladkov8270
@igorgladkov8270 2 жыл бұрын
Спасибо, интересно! Но HA Proxy дает доступ на все сервера patroni, а на реплики нельзя выполнить запись в базу, соответственно как прокси понимает куда направлять пакеты?
@maratbozhebayev6617
@maratbozhebayev6617 Жыл бұрын
Здравствуйте, а юзеров нужно заранее в postgress создать ?
@TRIP4LIFE
@TRIP4LIFE 2 жыл бұрын
кстати зря с бонсером настройку не сделал, было бы интересно глянуть:)
@bigtown2012
@bigtown2012 2 жыл бұрын
Ну на сомом деле я ответил на этот вопрос ниже в комментариях. ) Давайте повторюсь, настройка с 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 да да, это я услышал, посмотрю в репе, в любом случае большое спасибо, потому что дока по патрони просто ужасна)))
@mukagen
@mukagen 2 жыл бұрын
Здравствуйте! Подскажите: у вас есть опыт использования pgbackrest? Не могу понять как настроить две реплики: одна - асинхронная, вторая - синхронная. Используется выделенный репозиторий.
@bigtown2012
@bigtown2012 2 жыл бұрын
Это утилита создания бинарных бэкапов и бэкапов журналов. Причем здесь синхронная и асинхронная реплика? Вы помоему идете не в том направлении. Про нее очень много говорят и всячески пиарят. Но на тестах у меня с ней возникли проблемы. Если в результате создания полного бэкапа не долетает wal-изменений, то она не способна восстановить просто полный бэкап с потерей изменений в журнале. По крайней мере без танцев с бубном.
@Jonny8950
@Jonny8950 8 ай бұрын
где вы развернули 6 виртуалок и как вы прописывайте команду одновременно на 3 тачки? я тоже хочу найти такой удобный инструмент)
@DARKHANBEK
@DARKHANBEK 2 жыл бұрын
Здравствуйте, подскажите пожалуйста как создать VIP АДРЕС в кластере postgresql в этой конфигурации как в видео? в каком конфиг файле его прописывать ETCD или patroni?
@DARKHANBEK
@DARKHANBEK 2 жыл бұрын
отвечу самому себе: *******более простой способ устанавливаем keepalived на все ноды редактируем конфиг файл теперь у кластера есть единая точка входа(адресс) которая в зависимости от ситуации всегда будет виртуально прикреплена с мастером
@saraantuayal8389
@saraantuayal8389 2 жыл бұрын
зддраствуйте! Было бы интересно посмотреть каким образом в эту схему включить 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 жыл бұрын
@@bigtown2012 Большое Вам спасибо! Это то что надо!!!Нет у меня именно коннект\дисконнект , обработка очередей сообщений Кафка, и, где-то идет утечка коннектов, как результат очень быстро забивается весь пулл коннектов постгри. Пока разработчик ищет утечку(не факт что найдет) как-то надо работать...
@SrGennadiy
@SrGennadiy 2 жыл бұрын
По команде systemctl edit --full --force patroni.service где и под каким именем сохраняется файл?
@bigtown2012
@bigtown2012 2 жыл бұрын
/etc/systemd/system/patroni.service
@user-vl7hf3iw2v
@user-vl7hf3iw2v 2 жыл бұрын
А можно расположить etcd, patroni и postgresql на одной машине? Чтобы уменьшить количество виртуалок с 6 до 3?
@bigtown2012
@bigtown2012 2 жыл бұрын
Конечно можно. Единственное требование к etcd что бы они располагались на разных ВМ(нодах).
@konstantink4188
@konstantink4188 Жыл бұрын
вообще - это неправильно по нескольким моментам. 1. 3 сервера etcd (а иногда и 5) используется для кворума, для правильного и наиболее устойчивого к ошибкам метода определения, что одна из нод postgres отвалилась. Если у вас вместе с postgres отваливается и etcd - это не гуд совершенно. 2. etcd пишет ключи-значения на диск. Это такая конвенция. Если у вас postgres в моменте будет сильно нагружен - не факт, что сервер etcd отработает так, как нужно и с минимальными задержками. Итого: так делать можно, но на проде нужно использовать отдельные серваки для etcd. Можно брать самые слабые, но на них ничего другого быть не должно, кроме etcd ну и может быть в редких случая самых легковесных приложений.
@user-gm4ec4zs7m
@user-gm4ec4zs7m Жыл бұрын
Добрый день! Не совсем поняла, а за что именно отвечают 2379 и 2780 порты в etcd?
@evgenya5316
@evgenya5316 Жыл бұрын
2379 клиентский порт, для связи извне, 2380 общение etcd нод между собой
@bigtown2012
@bigtown2012 Жыл бұрын
2379 за клиентские подключения, 2380 за соединениями между пирами(экземплярами etcd)
@ikhtiyarabdukhashimov3307
@ikhtiyarabdukhashimov3307 5 ай бұрын
Привет всем, как мне связаться с создателем видео, я имею в виду админ
@saraantuayal8389
@saraantuayal8389 2 жыл бұрын
При запуске патрони получаю : Can not find suitable configuration of distributed configuration store. И... вы не упомянули про установку модуля psycopg
@bigtown2012
@bigtown2012 2 жыл бұрын
Ну то что линукс нужно поставить я тоже не говорил если что. ) Вопрос в Золандо почему пакеты которые требуется для работы не упомянут в зависимостях. По всей видимости у вас, либо не собрался кластер etcd, либо неверно указаны IP-адреса нод. Проверьте etcdctl cluster-health
@harthurd
@harthurd 2 жыл бұрын
У вас на схеме нарисовано, что клиенты через HAProxy подключаются к postgres через 5432 и вы в видео об этом говорите, а чуть позже говорите, что клиенты общаются с postgres только через patroni. Как всё-таки правильно?
@bigtown2012
@bigtown2012 2 жыл бұрын
На схеме нарисовано что клиенты подключаются на порт 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 жыл бұрын
@@harthurd Патрони это "мозг" который по факту решает кто будет мастером, а кто слейвом. В передаче данных он не участвует. Хапрокси взаимодействует с патрони, только для того что бы знать кто является мастером, а кто слейвом.
@harthurd
@harthurd 2 жыл бұрын
@@bigtown2012 Теперь понятней стало, спасибо за разъяснения
@harthurd
@harthurd Жыл бұрын
@@bigtown2012 А подскажите ещё, пожалуйста, как haproxy знает на какую ноду отправлять запрос на чтение, а на какую на запись?
@nikolaypelipets1807
@nikolaypelipets1807 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, то ставится третья.
@Ranburu
@Ranburu 2 жыл бұрын
> Если вы смотрите это видео то вы знаете как это делать НЕТ, ты не поверишь но люди смотрят видео как раз тогда, когда не знают как что-то сделать
@bigtown2012
@bigtown2012 2 жыл бұрын
Мои видео предполагают наличие базовых навыков в системном администрировании. В данном случае имелось ввиду установка пакетов из внешних репозиториев. Именно это понималось под фразой "Если вы смотрите это видео то вы знаете как это делать".
لااا! هذه البرتقالة مزعجة جدًا #قصير
00:15
One More Arabic
Рет қаралды 15 МЛН
Как бесплатно замутить iphone 15 pro max
00:59
ЖЕЛЕЗНЫЙ КОРОЛЬ
Рет қаралды 8 МЛН
Looks very comfortable. #leddisplay #ledscreen #ledwall #eagerled
0:19
LED Screen Factory-EagerLED
Рет қаралды 12 МЛН
low battery 🪫
0:10
dednahype
Рет қаралды 1,8 МЛН
Это iPhone 16
0:52
Wylsacom
Рет қаралды 921 М.
iPhone socket cleaning #Fixit
0:30
Tamar DB (mt)
Рет қаралды 18 МЛН