https://clickhouse.com/docs/en/engines/database-engines/materialized-mysql/#settings-on-mysql-server-side вот это читали?
Да, читал, спасибо! Собственно, пробовал по этому мануалу все настроить Выдавало ошибки связанные с параметрами, к примеру: ERROR 1193 (HY000): Unknown system variable 'default_authentication_plugin' И прочие разновидности подобной проблемы либо со стороны mariadb, либо со стороны clickhouse Потом только обнаружил, что в mariadb этих параметров нет и materializedmysql не поддерживается с mariadb Но это были статьи прошлого года, поэтому решил уточнить, может быть уже что-то поменялось и можно как-то решить проблему?
в мануал mariadb по поводу этой ошибки сходили? сюда например https://mariadb.com/kb/en/authentication-plugin-mysql_native_password/#mysql_native_password пользователя для репликации попробуйте создать с SET old_passwords=0; со стороны MariaDB
то есть я думаю что поддерживается, только требует более тщательного подхода формат binlog не поменялся, авторизация старая которую в clickhouse mysql клиенте сделали, тоже поддерживается
Спасибо, попробую засетить old_password для созданного под реплику пользака А параметры gtid_mode = on и enforce_gtid_consistency = on обязательны? Их аналогов в mariadb я также не нашел
да и еще я бы убрал binary_format=row не могу найти в доке поддерживается ли он или нет...
К сожалению, не помогло Со стороны кликхауса при создании базы с движком materializedmysql остались те же ошибки: Code: 537. DB::Exception: Received from localhost:9000. DB::Exception: Illegal MySQL variables, the MaterializedMySQL engine requires log_bin_use_v1_row_events='OFF', binlog_format='ROW', default_authentication_plugin='mysql_native_password', log_bin='ON'. (ILLEGAL_MYSQL_VARIABLE) Причем если их прописывать в конфиге/сетить глобально в mariadb, то выдает, что такого параметра не существует. Допустим с requires log_bin_use_v1_row_events='OFF'
=( а блин. похоже это намертво зачем то прибито в коде со стороны ClickHouse ... китайцы такие китайцы... =(
ну ClickHouse inc уже почти год как компания в Нидерландах и уже больше 5 лет от Core Team только 50% пулл реквестов MaterializedMySQL делали китайцы... вот вы правильно все нашли https://github.com/ClickHouse/ClickHouse/issues/16726#issuecomment-722987592 но там потегано как st-wontfix потому что https://github.com/ClickHouse/ClickHouse/issues/16726#issuecomment-722987592 китайцам доделывать влом оказывается GTID в mariadb другой... понятно почему они загибаются можете попробовать percona вместо mariadb если так хочется форков
Спасибо, довольно интересно) Про clickhouse inc знаю (даже искал есть ли акции..), но не думал, что часть функционала была написана китайцами ) Глобально, задача стоит как плавный безболезненный перенос данных из mariadb (давно используется) в clickhouse (только накатываю)
Одноразовый перенос или будете делать CDC? https://altinity.com/blog/fast-mysql-to-clickhouse-replication-announcing-the-altinity-sink-connector-for-clickhouse
MaterializedMySQL не лучший выбор для этого... сделайте простой cron скрипт который будет делать INSERT INTO clickhouse_table SELECT * FROM mysql(...) WHERE id>(SELECT max(id) FROM clickhouse_table SETTINGS empty_result_for_aggregation_by_empty_set=0 ) наверняка у вас в MySQL есть PRIMARY KEY id правда с update он не поможет ... есть вариант более сложный https://github.com/uber/storagetapper и еще более сложный https://altinity.com/blog/fast-mysql-to-clickhouse-replication-announcing-the-altinity-sink-connector-for-clickhouse - тут кафка
и вот это еще можно глянуть https://github.com/brokercap/Bifrost/blob/v1.8.x/README.EN.MD
Идет постоянная запись в mariadb Думал реплицировать всю базу/таблицы в клик и затем уже производить агрегацию данных Но склоняюсь уже либо с использованием крона (который вы тоже предложили), либо банально все переносить в клик и уходить от mariadb.
Спасибо всем большое за инфу!
Обсуждают сегодня