Сохранение логов airflow между перезапусками
This commit is contained in:
@@ -82,11 +82,12 @@ CSV-файлы после выполнения DAG остаются в дире
|
||||
Если после изменений что‑то «сломалось»:
|
||||
|
||||
```bash
|
||||
make down # Остановить и стереть данные в контейнерах
|
||||
make down # Остановить и удалить контейнеры/сети (volumes сохраняются)
|
||||
make up
|
||||
```
|
||||
|
||||
Это помогает, когда Greenplum не стартует из‑за «грязной» остановки и внутренних файлов.
|
||||
Если проблема связана с «грязной» остановкой и данными в томах (например, Greenplum не стартует),
|
||||
используйте полный reset: `make clean && make up` (данные в Docker-томах будут потеряны).
|
||||
|
||||
---
|
||||
|
||||
@@ -240,6 +241,9 @@ make bookings-psql # Подключиться к демобазе bookings
|
||||
# Проверка данных
|
||||
make logs # Следить за логами Airflow
|
||||
|
||||
# Логи задач Airflow сохраняются в Docker-томе `airflow_logs`
|
||||
# и переживают `docker compose down`/`up` (удаляются при `docker compose down -v` / `make clean`).
|
||||
|
||||
# Контроль генерации bookings
|
||||
docker compose -f docker-compose.yml exec bookings-db bash -lc 'PGPASSWORD="$POSTGRES_PASSWORD" psql -U "$POSTGRES_USER" -d demo -c "SELECT busy();"'
|
||||
# busy() = t — генерация ещё идёт; f — завершена. При необходимости можно вызвать CALL abort(); и запустить генерацию заново.
|
||||
@@ -409,12 +413,12 @@ load_bookings_to_stg = PostgresOperator(
|
||||
| Проблема | Решение |
|
||||
|----------|---------|
|
||||
| Airflow UI не открывается | Дождитесь сообщения `Listening at: http://0.0.0.0:8080` в логах (`make logs`) |
|
||||
| После `docker compose stop/start` Airflow UI не отвечает, а `airflow-webserver` в `Exited (1)` | Это обычно stale PID-файл Gunicorn (`/opt/airflow/airflow-webserver.pid`). Пересоздайте webserver: `docker compose up -d --force-recreate airflow-webserver` (или просто `make up`). |
|
||||
| `database "demo" does not exist` в bookings‑DAG | Вы сделали полный reset с удалением томов (`docker compose down -v` / `make clean`), поэтому демобаза bookings не установлена. Запустите `make bookings-init` и повторите DAG. |
|
||||
| Ошибка подключения к Greenplum | Убедитесь, что контейнер `greenplum` стал статусом `healthy` (проверьте `docker compose ps`) |
|
||||
| Не открывается порт 8080/5433/5434/5435 | Проверьте, что эти порты не заняты локальными сервисами; при необходимости остановите их или измените порты в `.env`/`docker-compose.yml` |
|
||||
| Нет файла в `./data` после запуска DAG | Проверьте логи задачи `generate_csv`, убедитесь, что `CSV_DIR` смонтирован в docker-compose |
|
||||
| Команда `make` не найдена | Используйте полные команды `docker compose` или установите make |
|
||||
| Greenplum не стартует/падает при старте | Выполните `make down`, затем `make up` (очищает тома и поднимает заново, включая авто‑инициализацию Airflow) |
|
||||
| Greenplum не стартует/падает при старте | Попробуйте `make down && make up`. Если не помогло — полный reset: `make clean && make up` (удалит тома). |
|
||||
| `protocol "pxf" does not exist` | Перезапустите `greenplum` и повторите `bookings_stg_ddl`/`make ddl-gp` — расширение `pxf` создаётся автоматически при старте контейнера. |
|
||||
| PXF не отвечает (Connection refused к порту 5888) | Проверьте `pxf cluster status` в контейнере `greenplum` и перезапустите сервис `greenplum`. |
|
||||
| PXF не подхватывает изменения конфигов | Пересоберите образ (`make build`) и перезапустите `greenplum`. Для принудительной перезаписи файлов задайте `PXF_SEED_OVERWRITE=1`. |
|
||||
|
||||
Reference in New Issue
Block a user