Maxscale: объединить readwritesplit и schemarouter

Я пытаюсь настроить maxscale для использования schemarouter и readwritesplit. У меня есть много осколков для моей базы данных MySQL. Каждый осколок имеет раба. Таким образом, идея состоит в том, чтобы использовать один планировщик на мастерах и один на рабах для прокси всех осколков. Затем используйте эти 2 службы в режиме readwritesplit.

This cause the following issue:
2017-02-10 14:57:48   error  : Failure loading users data from backend [10.161.66.145:4009] for service [Splitter Service]. MySQL error 2013, Lost connection to MySQL server at 'handshake: waiting for inital communication packet', system error: 110
2017-02-10 14:57:52   error  : Failure loading users data from backend [10.161.66.145:4008] for service [Splitter Service]. MySQL error 2013, Lost connection to MySQL server at 'reading authorization packet', system error: 110
2017-02-10 14:57:52   error  : Unable to get user data from backend database for service [Splitter Service]. Failed to connect to any of the backend databases.

Любая помощь будет хорошей.

Мой schemarouter работает нормально. Вот конфиг readwritesplit:

[max_ro]
type=server
address=10.10.10.10
port=4009
protocol=MySQLBackend

[max_rw]
type=server
address=10.10.10.10
port=4008
protocol=MySQLBackend

[Splitter Service]
type=service
router=readwritesplit
servers=max_ro,max_rw
user=maxscale
passwd=maxscale

[Splitter Listener]
type=listener
service=Splitter Service
protocol=MySQLClient
port=4010

Спасибо

1 ответ

Ошибки, скорее всего, вызваны тем, что службы readwritesplit еще не запущены. Есть сообщение об ошибке такого поведения на MariaDB Jira.

Если служба сегментирования работает, и больше ошибок не регистрируется после запуска MaxScale, тогда все работает должным образом, и ошибки могут быть проигнорированы, как описано в этом отчете об ошибках.

Другим способом решения этой проблемы было бы разделение конфигурации на две части и использование отдельных экземпляров MaxScale; один для службы сегментирования и другой для службы разделения чтения-записи. Это добавляет дополнительный уровень сложности, так как необходимо запустить две службы вместо одной.

Другие вопросы по тегам