Files
smart-city-digital-twin-mar…/session_resume_2026-06-01.md

2.2 KiB

Session Resume — 2026-06-01 (continue)

Objectif

Continuer les fixes après la session précédente. Corriger Kafka, Trino, JupyterHub.

Actions réalisées

1. Kafka restart loop — CORRIGÉ

  • Cause: KAFKA_CFG_* env vars (Bitnami) au lieu de KAFKA_* (apache/kafka). CLUSTER_ID manquant.
  • Fix: Rewrote env vars in /home/eric/lakehouse/docker-compose/docker-compose.yml
  • Action: Volumes corrompus supprimés, cluster recréé
  • Résultat: kafka-1 + kafka-2 UP, KRaft controller élu

2. Trino restart loop — CORRIGÉ

  • Cause: config/trino/ directory manquante, node.id=_internal_ invalide, plugin.bundles incompatible
  • Fix: node.properties créé proprement, plugin.bundles retiré de config.properties
  • Résultat: Trino UP sur port 8084

3. JupyterHub spawn — CORRIGÉ

  • Cause: User eric n'existait pas comme OS user dans le container, sudo absent, DB path malformé (3 slashes)
  • Fix:
    • Dockerfile modifié: useradd eric, install sudo NOPASSWD
    • jupyterhub_config.py: sqlite:////srv/jupyterhub/jupyterhub.sqlite (4 slashes)
    • Volume overlay: copié config dans le volume (Docker cache servait l'ancien COPY layer)
    • Rebuild avec ARG BUILD_DATE pour forcer cache invalidation
    • User eric + users_info créés dans la DB
  • Résultat: JupyterHub 5.3.0 healthy, spawn fonctionnel (vérifié: sudo -u eric jupyterhub-singleuser --version = OK)
  • Docker cache lesson: Le volume nommé jupyterhub_data:/srv/jupyterhub préserve les fichiers de l'ancien container. Le COPY dans Dockerfile est caché par le volume. Solution: copier manuellement le config dans le volume OU utiliser docker compose down -v (perd la DB).

4. Commits/Push

  • smart-city-digital-twin-martinique: pushé sur Gitea (commit cb45b89)
  • lakehouse: pushé sur Gitea (commit 650a632)

Problèmes connus restants

  • OpenRemote map bounds = Pays-Bas (mbtiles metadata prioritaire sur mapsettings.json)
  • Kafka et Trino UP mais pas de données/usage encore
  • Gravitino unhealthy (3 jours)

Infrastructure

  • Kafka-1, Kafka-2 = UP
  • Trino = UP
  • JupyterHub = UP (healthy)
  • Tous les autres services principaux = UP