1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-Cetus

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
cetus-configuration.md 14 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 27.11.2024 21:41 e65dd39
admin);
replace into `settings` values ("admin-username", "admin");
replace into `settings` values ("basedir", "/home/ght/cetus_install");
replace into `settings` values ("conf-dir", "/home/ght/cetus_install/conf");
replace into `settings` values ("default-db", "test");
replace into `settings` values ("default-username", "ght");
replace into `settings` values ("log-file", "/home/ght/cetus_install/cetus.log");
replace into `settings` values ("plugin-dir", "/home/ght/cetus_install/lib/cetus/plugins");
replace into `settings` values ("plugins", "proxy,admin");
replace into `settings` values ("proxy-backend-addresses", "192.0.0.1:3306@data1,192.0.0.2:3306@data2,192.0.0.3:3306@data3,192.0.0.4:3306@data4");
  • objects

Данная таблица хранит информацию об учётных записях и фрагментации данных, что соответствует локальному конфигурационному файлу users.json и sharding.json. Её структура выглядит следующим образом:

CREATE TABLE objects (

object_name varchar(64) NOT NULL,

object_value text NOT NULL,

mtime timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

PRIMARY KEY (object_name)

)

В этой таблице можно настроить информацию о пользователях и правила фрагментации, где object_values фактически хранит данные в формате JSON, например:

replace into `objects` values ("sharding", '{"vdb": [{"id": 1,"type": "int","method": "hash","num": 8,"partitions": {"data1": [0,1], "data2": [2,3], "data3": [4,5], "data4": [6,7]}},{ "id": 2,"type": "int","method": "range","num": 0,"partitions": {"data1": 124999, "data2": 249999, "data3": 374999,"data4": 499999}}],"table": [{"vdb": 1, "db": "employees_hash", "table": "dept_emp", "pkey": "emp_no"},{"vdb": 1, "db": "employees_hash", "table": "employees", "pkey": "emp_no"},{"vdb": 1, "db": "employees_hash", "table": "titles", "pkey": "emp_no"},{"vdb": 2, "db":"employees_range", "table": "dept_emp", "pkey": "emp_no"},{"vdb": 2, "db": "employees_range", "table": "employees", "pkey": "emp_no"},{"vdb": 2, "db":"employees_range", "table": "titles", "pkey": "emp_no"}],"single_tables": [{"table": "regioncode", "db": "employees_hash", "group": "data1"},{"table": "countries",  "db": "employees_range", "group": "data2"}]}', now());

replace into `objects` values ("users", '{"users":[{"user": "ght","client_pwd":"Zxcvbnm,lp-1234","server_pwd":"Zxcvbnm,lp-1234"}, {"user": "tmp","client_pwd":"Zxcvbnm,lp-1234","server_pwd":"Zxcvbnm,lp-12345"}, {"user": "test2","client_pwd":"123456","server_pwd":   "Zxcvbnm,lp-1234"}, {"user": "dbtest","client_pwd":"Zxcvbnm,lp-1234","server_pwd":"Zxcvbnm,lp-1234"}]}', now());
  • services

Эта таблица используется для хранения времени запуска Cetus. Таблица заполняется самим Cetus при запуске, поэтому не требует настройки со стороны пользователя. Её структура следующая:

CREATE TABLE services (

id varchar(64) NOT NULL,

data varchar(64) NOT NULL,

start_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

PRIMARY KEY (id)

)

Поле id таблицы содержит информацию о IP/PORT, за которыми следит плагин Cetus, поле data содержит имя плагина, а поле start_time — время запуска плагина. Например, после запуска Cetus данные таблицы могут выглядеть следующим образом:

mysql> select * from services;
+--------------+-------+---------------------+
| id           | data  | start_time          |
+--------------+-------+---------------------+
| 0.0.0.0:6003 | admin | 2018-07-11 11:59:05 |
| :4040        | proxy | 2018-07-11 11:59:06 |
+--------------+-------+---------------------+
2 rows in set (0.00 sec)

При запуске Cetus не нужно указывать --defaults-file, достаточно указать URL удалённого конфигурационного центра remote-conf-url.

remote-conf-url

Формат записи информации о удалённом конфигурационном центре следующий:

remote-conf-url = mysql://dbuser:dbpassword@host:port/schema

или

remote-conf-url = sqlite://dbuser:dbpassword@host:port/schema

Порт удалённого центра конфигурации является необязательным параметром, по умолчанию равен 3306.

Команда запуска может выглядеть так:

/home/ght/cetus_install/bin/cetus --remote-conf-url=mysql://ght:123456@172.17.0.1:3306/test

Перезагрузка конфигурации

Если необходимо перезагрузить конфигурацию удалённого центра, то нет необходимости перезапускать Cetus. Для этого на административном порту Cetus предусмотрена команда config reload.

Для перезагрузки конфигурации из таблицы settings, можно выполнить команду config reload на административном порте Cetus. Это заставит Cetus повторно загрузить конфигурацию из удалённого центра.

Для обновления информации об учётных данных в таблице objects, можно использовать команды config reload user или config reload variables на административном порте Cetus. Эти команды заставят Cetus обновить информацию об учётных данных и переменных, которые обрабатываются автоматически, из удалённого центра соответственно.

Примечание: в настоящее время при выполнении операции перезагрузки с удалённым центром конфигурации, соединение, чтение и запись имеют тайм-аут в 1 секунду. Если из-за высокой нагрузки на удалённый центр конфигурации или проблем с сетью время ожидания превышает 1 секунду, операция перезагрузки завершится неудачно. Кроме того, в настоящее время операция перезагрузки выполняется в том же потоке, что и обработка SQL, поэтому рекомендуется минимизировать использование этой команды или выполнять её в периоды низкой нагрузки. В будущем операция будет выполнена асинхронно, чтобы не влиять на обработку SQL. Отключить вспомогательные потоки, включая:

  • проверку живучести бэкенда;
  • отложенную проверку библиотеки только для чтения;
  • определение состояния и роли узлов MGR и т. д.

disable-threads = true

check-slave-delay

По умолчанию: true Проверять ли задержку ведомой базы данных. Обратите внимание, что Cetus проверяет только количество миллисекунд задержки между главной и ведомой базами данных (временная метка записи главной базы данных, временная метка чтения ведомой базы данных и разница с местным временем), а не то, работают ли io_thread/sql_thread нормально.

check-slave-delay = false

slave-delay-down

По умолчанию: 10 (секунд) Если задержка ведомой базы данных превышает указанное количество секунд, состояние будет установлено в DOWN.

slave-delay-down = 15

slave-delay-recover

По умолчанию: 1 (секунда) Если задержка ведомой базы данных меньше указанного количества секунд, статус будет восстановлен до UP.

slave-delay-recover = 5 Примечание: slave-delay-recover должно быть меньше slave-delay-down. Если пользователь настроит slave-delay-recover больше, чем slave-delay-down, то по умолчанию slave-delay-recover и slave-delay-down будут равны.

Конфигурация MGR

group-replication-mode

По умолчанию: 0 (обычный MySQL кластер) Когда бэкенд MySQL кластера находится в режиме одного главного узла MGR, этот параметр устанавливается в 1, и Cetus может автоматически определять состояние главного и ведомого узлов и изменение ролей узлов в кластере MGR. В настоящее время Cetus поддерживает только режим одного главного MGR.

group-replication-mode = 1

Прочее

verbose-shutdown

По умолчанию: false При выходе из программы записывается код выхода.

verbose-shutdown = true

keepalive

По умолчанию: false Если процесс Proxy неожиданно завершается, он автоматически запускает новый процесс.

keepalive = true

max-open-files

По умолчанию: в соответствии с операционной системой Максимальное количество открытых файлов (ulimit -n).

max-open-files = 1024

max-allowed-packet

По умолчанию: 33554432 (32 МБ) Максимальный размер разрешённого пакета.

max-allowed-packet = 1024

disable-dns-cache

По умолчанию: false Отключить разрешение соединения с доменными именами.

disable-dns-cache = true

long-query-time

По умолчанию: 1000 (миллисекунд) Пороговое значение медленного запроса (в миллисекундах), максимум 65536 мс.

long-query-time = 500

log-backtrace-on-crash

По умолчанию: false Запустить отладчик gdb при сбое программы.

log-backtrace-on-crash = true

enable-back-compress

По умолчанию: false Включить сжатие результатов, передаваемых бэкэнду Cetus, обычно не используется.

enable-back-compress = true

merged-output-size

По умолчанию: 8192 Порог объединения и вывода потоков TCP, если превышен, выводится.

merged-output-size = 2048

default-query-cache-timeout

По умолчанию: 100 Установить тайм-аут по умолчанию для query cache, единица измерения — мс.

default-query-cache-timeout = 60

enable-query-cache

По умолчанию: false Включение кэша запросов Proxy.

enable-query-cache = true

max-header-size

По умолчанию: 65536 Установить максимальный размер заголовка в ответе, который используется в потоке TCP. Если заголовок ответа особенно большой, необходимо установить больший размер.

max-header-size = 131072

enable-tcp-stream

По умолчанию: false Использовать поток TCP для вывода ответов, чтобы избежать проблем с переполнением памяти.

enable-tcp-stream = true

enable-fast-stream

По умолчанию (версия выпуска): false Используйте быстрый поток для вывода только ответов на чтение, чтобы повысить скорость отклика. Версия выпуска по умолчанию — false, версия разработки — true.

enable-fast-stream = true

ssl

По умолчанию: false Поддержка SSL-соединения на переднем плане. Необходимо предоставить следующие файлы в --conf-dir:

  • приватный ключ: server-key.pem;
  • сертификат открытого ключа: server-cert.pem. Эти два файла можно создать с помощью инструмента MySQL, после чего скопировать их в каталог conf-dir, и программа загрузит файлы по этим двум фиксированным именам.

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/mirrors-Cetus.git
git@api.gitlife.ru:oschina-mirror/mirrors-Cetus.git
oschina-mirror
mirrors-Cetus
mirrors-Cetus
master