172 похожих чатов

Я думаю, может я где-то ошибся с секцией в yaml'е,

хотя пробовал уже по всякому.
у меня
postgresql:
parameters
на одном уровне с etcd3 и bootstrap. Это правильно?

36 ответов

7 просмотров

restapi var1: ectd: host1 bootstrap: dcs: param1: postgresql: parameters: param_pg

Victor- Автор вопроса
Марсель Габдрахманов
restapi var1: ectd: host1 bootstrap: dcs: ...

Повторюсь - bootstrap у меня отрабатывает, но как я понимаю, данная секция используется только при создании ноды кластера заново. А мне надо на рабочей ноде параметры менять

Victor- Автор вопроса
Victor
Нет. Меняю в /etc/patroni/patroni.yml

потому и не работает.

Victor- Автор вопроса
Марсель Габдрахманов
потому и не работает.

Не могу я менять через edit-config у меня ansible конфиги раскатывает. А как-то подопнуть это дело можно, чтобы оттуда читал? Ведь сам файл с конфигом читает ведь

Victor
Не могу я менять через edit-config у меня ansible ...

так один из смыслов патрони - это управляйка кластером. вызовите patronictl -c /path_to_patroni_yaml.yaml edit-config

Victor
Не могу я менять через edit-config у меня ansible ...

он его читает при первом запуске, далее идёт на etcd / zookeper и хранит там значения для кластера.

Victor- Автор вопроса
Марсель Габдрахманов
он его читает при первом запуске, далее идёт на et...

О как. А как-то заставить его можно пересохранить? Ладно, ключевое вы вроде донесли. Завтра поэкспериментирую - бежать надо. Спасибо!

Victor
О как. А как-то заставить его можно пересохранить?...

а вы когда инициализировали это, у вас в yaml сколько строк было ? 4 ?

Victor
О как. А как-то заставить его можно пересохранить?...

альтернативой patronictl edit-config, судя по документации, может служить работа с Patroni REST API: https://patroni.readthedocs.io/en/latest/dynamic_configuration.html с т. з. Ansible это будет написание тасков с использованием модуля ansible.builtin.uri: https://docs.ansible.com/ansible/latest/collections/ansible/builtin/uri_module.html отчасти это паллиатив, поскольку разбираться в завалах REST-команд может быть то ещё удовольствие (не далеко ушедшее от башсибл), хотя, может быть, в доке по Patroni REST API и найдётся красивое решение с минимумом вызовов, я честно говоря не читал и не проверял. а модуля Ansible для работы с patronictl edit-config я не нахожу с наскоку в гугле, так что возможно его и нет в природе (в открытой по крайней мере).

Victor- Автор вопроса
Phil Chertiev
альтернативой patronictl edit-config, судя по доку...

Я посмотрел на REST API, там всё тоже самое, что делается с командной строки. Поэтому и команды "пнуть patroni для синхронизации конфига и кластерного хранилища конфигурации" нету.

чтобы при запуске не корректировать через edit-config и всё заполнять там среднее наполнение для запуска, а потом уже если что скорректировать.

Victor- Автор вопроса
Марсель Габдрахманов
чтобы при запуске не корректировать через edit-con...

Так для запуска же bootstrap.postgresql секция верно? Зачем же торда вторая секция postgresql ниже?

Victor
Так для запуска же bootstrap.postgresql секция вер...

для установки индивидуальных параметров на сервере

Марсель Габдрахманов
эм... в смысле.

чтобы можно было задать разные параметры в зависимости от характеристик сервера

AlexanderK
чтобы можно было задать разные параметры в зависим...

и он будет приоритетней, чем конфиг на ETCD ?

Victor- Автор вопроса

Тогда почему это не работает?

Victor- Автор вопроса
AlexanderK
https://habr.com/ru/articles/504044/

Видел. Архитектурно не подходит мне этот доклад. Напомню, что писал вчера (какой был вопрос). Я сделал кластер всё работает за исключением одной вещи. Если я правлю в /etc/patroni/patroni.yml параметр postgresql или что-либо pg_hba, а затем делаю рестарт patroni, то мои изменения не применяются.

AlexanderK
да

и какой то новичок поставит разные max_connections в этот блок и всё, прощай автоматика.

Victor- Автор вопроса
Марсель Габдрахманов
и какой то новичок поставит разные max_connections...

Ну это будут проблемы новичка, хотя там бакап файлы сохраняются, можно откатить по бакапу.

Victor
Видел. Архитектурно не подходит мне этот доклад. Н...

тут нужно смотреть. может и подебажить. У меня на тестах все работало, а в проде конфиг одинаковый.

да, потому что это локальный файл, не влияет на кластер в целом. Для кластера нужно править edit-config

Victor- Автор вопроса
Марсель Габдрахманов
да, потому что это локальный файл, не влияет на кл...

Так он и локально не влияет. Т.е. даже на настройки своей ноды

Victor- Автор вопроса
AlexanderK
тут нужно смотреть. может и подебажить. У меня на ...

Вот я и пытаюсь понять что делать, куда копать. Пока не понял :(

Victor
Так он и локально не влияет. Т.е. даже на настройк...

потому что namespace не меняли, это имя в пространстве ETCD (zookeper) для которого хранятся текущие значения (настройки)

Victor- Автор вопроса
Марсель Габдрахманов
потому что namespace не меняли, это имя в простран...

Т.е. мне надо в namespace надо вместо /cluster/ указать имя ноды? Или просто namespace убрать из конфига (я видел в статьях, что оно не у всех юзается)

Victor
Т.е. мне надо в namespace надо вместо /cluster/ ук...

давай проще. Есть отдельная БД со своими настройками. Решил сделать кластер, выбрал патрони. Кластеры как то должны "входить" в один домен (Условно). Настраиваешь патрони, где задаешь помимо настроек ПГ еще и "ключи" (namespace) чтобы уже 2 базы знали друг о друге и как то "Объединялись".

Victor
Окей. И?

и далее вы запустили патрони, видите 2 машины. Дальнейшая регулировка кластеров идёт через edit-config

Victor- Автор вопроса
Марсель Габдрахманов
и далее вы запустили патрони, видите 2 машины. Дал...

Снова спрашиваю. Начальная конфигурация для создания нод кластера прописывается в секции bootstrap и далее postgresql в этой же секции. Зачем нужна ещё одна отдельная секция postgresql, если управлять далее надо через edit-config? Я уже не говорю, что этот самый edit-config не показывает мне ничего из секции bootstrap.postgesql

Victor
Снова спрашиваю. Начальная конфигурация для создан...

как ответили выше, локальные настройки видимо

Похожие вопросы

Обсуждают сегодня

Сообщение* в закодированном виде. То есть, просто сделать sendMessage?text=Привет бла-бла! не получится, надо в HEX переводить, и добавлять процент, типа такого: sendMessage?t...
КТ315
21
А случайно нет ли в паскале штатной возможности передать указатель и количество туда где array of в качестве аргумента?
zamtmn
25
Всем привет. Испытываю проблемы в работе БД, а именно огромного роста логов, такого характера: 024-05-16 18:39:07 +05 sentry sentry [unknown] 1050169 7-1 app-sentry01.corp.ru>...
Alexey
2
Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
58
Хм. А телеграм апи работают через HTTP?
The Bird of Hermes
14
Почему Telegram пишет, что объект media не найден, хотя на самом деле я его передаю? Делаю на urllib, без зависимостей, так надо. Вызываю метод sendMediaGroup с таким JSON: ...
Alexey S
1
Ну раз я пока тут, задам пару глупых вопросов. Зачем писать на ассемблере если компилятор довольно умный, а ассемблер много времени занимает? В каких прикладных задачах сейчас...
Максим Рябцев
20
В дельфе нет никакого коробочного (без установки третьих либ) способа получить CallStack с расшифровкой отладочных символов?
notme
7
Я тут за тем, чтобы задать вопрос, так как не знаю ассемблер, учу с/с++. Короче, насколько дорога операция перехода в функцию при ее вызове? Дело в том, что в с++ есть макросы...
Максим Рябцев
12
Привет, нужен совет старших товарищей. Есть глобальная переменная var DefaultDataFolder:string; инициализируем DefaultDataFolder:='a:\_OUT\'; есть примитивная процедур...
Max Otto
14
Карта сайта