22.1.4, несколько баз(atomic) с общим объемом данных ~1.3Тб
Есть таблицы(MergeTree) на 800Гб, 200Гб и меньше.
На одной маленькой БД протестировал создание резервных копий, загрузку в s3 и восстановление на другом сервере. Всё работает хорошо.
1) Поделитесь пожалуйста, как лучше организовать бэкапы? Делать upload full раз в неделю и потом всю неделю делать upload --diff-from-remote full? В итоге я раз в неделю буду лить всю базу? Думаю как минимизировать трафик в s3.
2) И как восстановить только одну базу?
При создании clickhouse-backup create --tables=analytics_dev.* first_backup в бэкапе, в файле metadata.json, перечисляются все базы. И при восстановлении он создает все базы, но сами данные только нужных таблиц.
workflow приблизительно такой "раз в неделю льем full" потом льем diff-from-remote="previous_backup_name" diff-from-remote=full будет сильно больше партов грузить восстановление одной базы download —tables=db.* скачает данные только для таблиц по паттерну
Добрый день. Благодарю за ответ👍 Вчера запустил clickhouse-backup server в соседнем контейнере от CH server, в рамках общего docker-compose. В env есть переменная API_CREATE_INTEGRATION_TABLES = true В clickhouse создались таблицы с URL http://127.0.0.1:7171/backup/actions http://127.0.0.1:7171/backup/list При селектеле из них, CH говорит connection refused. Можно ли как-то указать имя хоста вместо 127.0.0.1? Я таблицы вручную пересоздал с именем контейнера, работает.
нет нельзя, захардкожено и это ошибка, так как изначально это для kubernetes делалось а там общий Localhost в рамках одного Pod можно конечно попробовать контейнеры запускать через hostNetwork, но будет так себе затея... можете issue завести на github починим в следующем релизе через опцию
Понял, спасибо. В целом это не беспокоит, просто думал я что-то упустил. Пересоздать таблицы не сложно.
Обсуждают сегодня