- Fix Pulsar: use binary client (port 6650) instead of non-existent REST /produce API - Add pulsar-client to Dockerfile - Create pulsar/distribution.py: consumes Pulsar and republishes to MQTT (EMQX/Mosquitto), NGSI-LD (Orion/Stellio), FROST - Add docker-compose.distribution.yml for the distribution service - Tested: Messages successfully distributed to EMQX and Orion-LD - Update session resume
3.2 KiB
3.2 KiB
Session Resume — 05 Mai 2026 (Suite)
✅ Réalisé dans cette session
1. Correction critique Pulsar
- Problème : API REST
/produceinexistante en Pulsar standalone → 404 - Solution : Installé
pulsar-clientPython dans le simulateur + modifiépublish_pulsar()pour utiliser le client binaire (port 6650) - Dockerfile : Ajout de
pulsar-clientdans les dépendances - Résultat :
🌀 Pulsar: ✅dans les logs simulateur
2. Service de distribution Pulsar → Brokers
- Création :
pulsar/distribution.py— Consomme Pulsar et republie vers :- MQTT : EMQX (
emqx_emqx_1:1883) + Mosquitto (mosquitto-traefik:1883) - NGSI-LD : Orion-LD (
fiware-gis-quickstart-orion-1:1026) + Stellio (stellio-api-gateway:8080) - OGC SensorThings : FROST Server (
frost-api-8090:8080)
- MQTT : EMQX (
- Docker :
pulsar/Dockerfile+docker-compose.distribution.yml - Testé : Messages distribués avec succès (MQTT reçu, entités Orion-LD créées)
3. Architecture mise en place
Simulateur → Pulsar (port 6650)
↓
Pulsar Distribution Service
↓
┌─────────────┼─────────────┐
↓ ↓ ↓
MQTT Brokers NGSI-LD FROST
(EMQX+ Brokers (OGC
Mosquitto) (Orion+ SensorThings)
Stellio)
⚠️ Problèmes rencontrés
Redpanda (Kafka-compatible)
- Status : ❌ Toujours crashé (exit 1)
- Cause : Commande
rpk redpanda startéchoue (le flag--mode devn'existe pas dans v24.3.14) - Tentatives :
- Enlèvement de
--mode dev→ toujours crash - Exécution manuelle → affiche l'aide (commande invalide)
- Enlèvement de
- Décision : Laisser de côté pour l'instant, Pulsar suffit pour l'ingestion
📊 État des services
| Service | Status | Notes |
|---|---|---|
| Simulateur | ✅ Actif (1s) | Pulsar OK, MQTT/Brokers désactivables |
| Pulsar | ✅ Fonctionnel | Client binaire 6650 OK |
| Pulsar Distribution | ✅ Actif | Republie vers tous les brokers |
| EMQX (MQTT) | ✅ Reçoit | Via distribution Pulsar |
| Orion-LD (NGSI-LD) | ✅ Reçoit | Entités AirQuality créées |
| Stellio (NGSI-LD) | ⚠️ À vérifier | Via distribution |
| FROST (OGC) | ⚠️ À vérifier | Via distribution |
| Redpanda | ❌ Crash | Problème de démarrage RPK |
| InfluxDB | ✅ Actif | Via simulateur direct |
| Grafana | ⚠️ No Data | Dashboards à configurer |
📋 Prochaines étapes
- Vérifier Stellio + FROST via distribution Pulsar
- Désactiver l'envoi direct du simulateur vers les brokers (pour respecter l'architecture)
- Configurer Grafana avec datasources InfluxDB + Pulsar/FROST
- Remplacer Redpanda par Kafka simple ou résoudre le problème
🔗 URLs importantes
- Pulsar Distribution logs :
docker logs smart-city-pulsar-distribution --tail 50 - Grafana : https://grafana.digitribe.fr/d/smartcity-martinique-2026
- Orion-LD entities :
curl http://localhost:2026/ngsi-ld/v1/entities - Gitea : https://gitea.digitribe.fr/eric/smart-city-digital-twin-martinique
Session en cours — Pulsar Distribution opérationnel