Резервное копирование Google Datastore вызывает ошибки

Мы выполняем резервное копирование документов Google Datastore с помощью cron, как описано здесь . База данных составляет около 55 ГБ, включая индексы, и мы делаем полную резервную копию каждые 24 часа. Корзина, в которую мы сохраняем, принадлежит другому проекту.

Резервное копирование выполнено успешно, и мы можем без проблем восстановить их в нашей промежуточной среде!

Тем не менее, мы видим много ошибок, возникающих во время выполнения резервного копирования. Ошибки исходят от модуля ah-builtin-python-bundle , и появляется сообщение об ошибке Запрос был прерван после слишком длительного ожидания для попытки обслуживания вашего запроса. Это приводит к тому, что наш мониторинг предупреждает нас (у нас есть порог 1,5 ошибки в секунду в течение 3 минут).

Очевидно, мы ' Я бы хотел избавиться от этих ошибок, чтобы в нашем мониторинге не было ложных срабатываний.

1
задан 16 March 2017 в 17:52
2 ответа

Резервное копирование запускает задание MapReduce, которое вентиляторы отрабатывают в задачах push. Это нормально, если одна из этих задач периодически таймаутствует во время ожидания в очереди ожидания и перепроверяется, что приводит к ошибке в логах "Request was aborted after waiting too long to try to service your request".

Если увидеть эти ошибки является проблемой, вы можете попробовать их устранить, настроив параметры queue или scaling.

2
ответ дан 3 December 2019 в 20:40

Я знаю, что этот пост почему-то старый, но я оставлю здесь интересную документацию, которая может оказаться полезной в отношении нового предлагаемого подхода к экспорту расписания в Cloud Datastore с использованием App Engine . Я предполагаю, что ваши проблемы все еще не воспроизводятся, поэтому я бы посоветовал всем, кто заходит на этот пост, лучше использовать эту новую функцию Cloud Platform.

Обязательно обратитесь к предыдущей ссылке для получения подробного описания (и обновленного, потому что как на момент написания, эта функция находится в бета и может измениться), но ниже я оставлю краткое изложение основных шагов по планированию экспорта из Cloud Datastore с использованием хронографа и App Engine:

  1. Создание корзины Cloud Storage в том же месте, что и Datastore.
  2. Назначьте своему приложению роль Cloud Datastore Import Export Admin . Учетная запись службы по умолчанию для движка (которая должна выглядеть как (скрыто) права на запись в сегмент учетной записи службы App Engine по умолчанию.
  3. Создайте новую локальную папку с файлами app.yaml (конфигурация App Engine), cloud_datastore_admin.py (Само приложение App Engine) и cron.yaml (задание cron) и заполните их содержимым из ссылки, которой я поделился в самом начале, убедившись, что вы заменили все необходимое содержимое, чтобы оно соответствовало именование ваших ресурсов. Также отредактируйте файл конфигурации cron по своему желанию, чтобы настроить соответствующую политику экспорта в соответствии с вашими требованиями.
  4. После того, как вы настроили полную конфигурацию для своего приложения, разверните его (включая cron job), протестируйте его и просмотрите свои экспорты в сегменте Cloud Storage.
0
ответ дан 3 December 2019 в 20:40

Теги

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