Время ожидания полной загрузки таблицы AWS DMS (служба миграции данных) через 5 минут - PullRequest
0 голосов
/ 23 января 2019

Я пытаюсь использовать DMS для переноса базы данных MySQL из EC2 (200 ГБ) в новый экземпляр RDS Aurora.Проблема в том, что не все строки переносятся.

Каждая таблица получает только 5 минут для полной загрузки таблицы, и если она не завершается через эти 5 минут, DMS прекращает загрузку этой таблицы и переходит в «Таблица завершена»состояние.

Я нахожу это в файле журнала UNLOAD SOURCE DETAILED_DEBUG:

Ввод mysql_unload_init_table, unloadtimeout: 300 (mysql_endpoint_unload.c: 131)

Кто-нибудь знает, как увеличить это?Я думаю, что когда-то была возможность вызывать API-интерфейсы aws dms modify-endpoint и передавать MySQLSettings, но это больше не доступно.Как этого можно достичь сейчас?

У меня есть таблица с 200.000.000 записей для переноса, и это, очевидно, занимает более 5 минут.

Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 28 января 2019

Я получаю ответ на другом канале. Это может помочь кому-то еще в будущем!

Мы столкнулись с той же проблемой, когда делали MySQL RDS -> MySQL Aurora миграция с DMS. Любой стол, который занял больше 5 минут, прекратить миграцию, заявить, что она завершена, а затем не пройти проверку. Добавление следующие атрибуты соединения с источником исправили проблему для нас UnloadTimeout для соответствующего значения для вас, я использую 1 день в качестве теста):

ResumeFetchForXRows = 0; UnloadTimeout = 86400

Кроме того, поддержка AWS отправила мне следующее:

"Известна проблема при полной загрузке MySQL Source, MySQL сервер вернет, что больше нет данных при получении следующего записи, даже если в таблице еще есть записи. Разрешить проблема, я рекомендую вам добавить "Resumefetchforxrows = 0" в дополнительные атрибут соединения конечной точки источника . Это должно исправить ваши вопрос. Для этого отредактируйте исходную конечную точку в консоли DMS и добавьте атрибут. "

Я обнаружил, что параметр UnloadTimeout оказал на нас наибольшее влияние .

...