Aller au contenu principal

Marquez (marquez)

Lignage des jeux de données, des travaux et des exécutions collecté avec OpenLineage : la plateforme configure l'API qui reçoit les événements de lignage de l'ingestion RAG et des pipelines d'agents, sa base PostgreSQL et l'interface web du lignage.

Généré depuis catalog/services/marquez.yaml : ne pas modifier à la main.

Résumé​

Version0.51.1
Usageinstaller et configurer, configurer et connecter
Couchefonctionnelle (catalogue IA)
CatégoriePlateformes de données
Méthodes d'installationpodman
Connexion externenon
Réservé au bac à sablenon

Licence​

Identifiant SPDXApache-2.0
Politique de licencelicence socle (MIT ou Apache-2.0)
Exception de licence-
Composant de la plateformeopenlineage

Paquets et artefacts​

Un paquet que publie le projet du service (son image, son archive binaire, son paquet Python ou système) porte la licence du service ; un paquet tiers porte la licence écrite sur sa ligne, lue dans les métadonnées officielles du projet amont.

TypePaquetVersionLicenceDétails
image de conteneurdocker.io/marquezproject/marquez0.51.1Apache-2.0clé d'image api, utilisée par api, condensé sha256:0721c976cff17d8b14f7949d85d6dac9c7ea37cb9fe857caa19833730fcb1a50
image de conteneurdocker.io/marquezproject/marquez-web0.51.1Apache-2.0clé d'image web, utilisée par web, condensé sha256:7312112ca0e611b0a37b00d3da6a677485ae4a97622b23d3ae24d849a927868b

Les images sont épinglées par étiquette dans le descripteur, et par condensé (digest) quand le descripteur en déclare un (le bundle hors ligne refuse alors une image téléchargée qui ne le porte pas) ; le condensé est enregistré dans le miroir du Manager à l'import du bundle hors ligne, et chaque téléchargement ou chargement est vérifié par rapport à lui.

Systèmes et architectures pris en charge​

MéthodeSystèmes d'exploitationArchitectures
podmanfamille RHEL (dnf), famille Debian (apt), Arch Linux (pacman)x86_64, aarch64 (non restreintes par le descripteur)

Systèmes hôtes certifiés : RHEL 8/9/10, Rocky Linux 8/9/10, AlmaLinux 8/9/10, Oracle Linux 8/9, CentOS Stream 9/10, Ubuntu 22.04/24.04, Debian 12, Arch Linux (rolling). Le contrôle préalable des hôtes accepte ces systèmes (une autre version d'une famille connue donne un avertissement, une version en fin de vie est refusée) et les architectures x86_64 et aarch64.

Prérequis​

Hôte​

  • au moins 2048 Mo de mémoire (avertissement, memory).

Réseau et ports​

ComposantNom du portPortOuvert dans le pare-feu de l'hôte
apiapi5000/tcpoui
apiadmin5001/tcpnon
webui3000/tcpoui

Services et connexions nécessaires​

Détail et résolution : voir Dépendances.

Méthodes et modes d'installation​

MéthodeDéfautCe que la méthode utilise
podmanouiles images de conteneur du descripteur, exécutées par Podman sous systemd

Composants​

ComposantTypeMéthodes d'installationPorts
API de lignage (api)maîtrepodman5000/tcp, 5001/tcp
Interface de lignage (web)maîtrepodman3000/tcp

Serveur unique (standalone) (par défaut)​

Une API et une interface.

Ce que le mode déploie :

ComposantPlacement
apimin 1, max 1
webmin 1, max 1

Répliqué (replicated)​

Plusieurs instances sans état de l'API derrière le répartiteur de charge, avec la même base.

Ce que le mode déploie :

ComposantPlacement
apimin 2, recommandé 2
webmin 1, recommandé 1

Installer ce service​

L'assistant d'installation du Navin Manager planifie, valide et exécute l'installation ; il faut la permission services:install sur le cluster.

  1. Ouvrez l'assistant. Dans Clusters, choisissez l'action de ligne Installer des services du cluster cible. L'assistant s'ouvre sur sa première étape, Service.

  2. Choisissez le service. À l'étape Service, sélectionnez Marquez. La carte affiche la licence Apache-2.0 et les dépendances dont l'installation a besoin.

  3. Choisissez les hôtes et le mode. À l'étape Hôtes, cochez les hôtes, puis choisissez le Mode : standalone (par défaut), replicated. Chaque mode déploie les composants listés dans Méthodes et modes d'installation. Avec plusieurs composants, placez chacun sur ses hôtes dans Répartition des composants (Proposer un placement propose un placement qui respecte les cardinalités).

  4. Liez les dépendances. À l'étape Liaisons, choisissez pour chaque dépendance (database) Installer avec la plateforme ou Utiliser une connexion existante ; une dépendance facultative peut rester sur Aucune liaison.

  5. Configurez. À l'étape Configuration, relisez les paramètres (voir Paramètres de configuration). Les mots de passe laissés vides avec une valeur générée par défaut sont générés et scellés par le Manager.

  6. Relisez et installez. À l'étape Installation, le Manager valide le plan et affiche l'ordre d'installation ; quand il indique « Le plan est valide. Prêt pour l'installation. », choisissez Installer. Un mode hautement disponible n'est installé que si ses contrôles HA réussissent.

  7. Vérifiez. L'opération se termine quand les contrôles de santé de chaque instance réussissent (voir Contrôles de santé) ; le service apparaît alors en marche dans Services.

Connecter un service existant​

Schémashttps, http
Port par défaut5000
Authentificationaucune
Contrôle de santé/api/v1/namespaces
Méthode d'authentificationChampsDescription
none-Marquez n'a pas d'authentification propre : protégez-le par le réseau ou une passerelle authentifiante.

Documentation officielle : https://github.com/MarquezProject/marquez

ChampTypeDéfautDescriptionRemarques
Espace de noms (namespace)stringnavinEspace de noms OpenLineage des travaux de la plateforme.-

Haute disponibilité​

Clusterréplicas (replication)
Haute disponibilitéexterne (external)
Basculerépartiteur (load-balancer)
Réplicationstockage partagé (shared-store)
Quorumaucun (none)
Découverteaucun (none)
Point d'entréerépartiteur (load-balancer)
Documentation officiellehttps://marquezproject.ai/docs/deployment/

Prérequis​

PrérequisDoit être hautement disponibleModesDescription
databaseouimodes de niveau ha ou clusterPostgreSQL hautement disponible portant les métadonnées de lignage.

Topologie par mode​

ModesNiveau le plus haut du catalogueRépartitionComposant du quorumDomaines de panneDescription
standaloneautonome (standalone)unique (single)-1Une API et une interface.
replicatedha (ha)actif-actif (active-active)-2Plusieurs instances d'API sans état partageant PostgreSQL derrière le répartiteur.

Remarques​

  • Plusieurs instances d'API ne sont pas décrites par le projet amont : à valider sur votre charge. L'interface web reste une instance unique tant que son nombre n'est pas augmenté.

Paramètres de configuration​

Général​

ParamètreTypeDéfautValeurs permisesObligatoireSecretRedémarrageDescription
Port de l'API (api_port)port5000-nonnonouiPort de l'API de lignage (/api/v1/lineage reçoit les événements OpenLineage).
Port d'administration (admin_port)port5001-nonnonouiPort de /healthcheck et /metrics.
Port de l'interface (web_port)port3000-nonnonouiPort de l'interface web du lignage.
TLS (tls_enabled)boolfalse-nonnonouiServir l'API de lignage et l'interface web en HTTPS avec un certificat de l'autorité du Manager. L'API reçoit un connecteur https de Dropwizard dont le conteneur construit le magasin de clés PKCS12 à chaque démarrage à partir du certificat (openssl de l'image, mot de passe aléatoire) ; l'interface est servie en HTTPS par un frontal aux mêmes routes qui appelle l'API en HTTPS et la vérifie avec l'autorité du Manager. Le port d'administration (/healthcheck, /metrics) reste en HTTP, publié sur la boucle locale de l'hôte uniquement.
Espace de noms par défaut (default_namespace)stringnavin-nonnonnonEspace de noms OpenLineage des travaux de la plateforme.

Dépendances​

Pour chaque dépendance active, le Manager prend la première solution parmi : la liaison choisie dans l'assistant ; un service de la même installation qui la fournit ; un service déjà installé dans le cluster ; la seule connexion du type attendu. Sinon, une dépendance facultative reste non liée, et une dépendance obligatoire est ajoutée à l'installation dans son mode par défaut (la colonne ci-dessous nomme le service du catalogue ajouté).

LiaisonFournie parType de connexionPoint d'accèsFacultativeQuand rien n'est liéDescription
databasepostgresqlpostgresqlsqlnonpostgresql est ajouté à l'installationBase des métadonnées de lignage (espaces de noms, jeux de données, travaux, exécutions).

Points d'accès​

Point d'accèsSchémaComposantPortCheminParamètre TLSParamètres de liaisonSecrets de liaisonCommande de provisionnement
apihttpapi5000 (api_port)/api/v1tls_enabled---
webhttpweb3000 (web_port)-tls_enabled---

Fichiers de configuration client​

Fichiers rendus pour le téléchargement de la configuration client :

  • marquez.env (client.env.j2)

Contrôles de santé​

Vivacité (par instance)​

ComposantContrôleDétails
apiHTTP http://127.0.0.1:{{ config.admin_port }}/healthcheckAttendu 200 ; 60 tentatives ; intervalle 3 s ; délai 5 s
webHTTP {{ 'https' if config.tls_enabled else 'http' }}://{{ host.ip or '127.0.0.1' }}:{{ config.web_port }}/Attendu 200 ; 30 tentatives ; intervalle 2 s ; délai 5 s

Disponibilité (contrôle du service)​

ContrôleDétails
HTTP {{ 'https' if config.tls_enabled else 'http' }}://{{ host.ip or '127.0.0.1' }}:{{ config.api_port }}/api/v1/namespacesAttendu 200 ; Attendu namespaces

Contrôles préalables​

ContrôleTypeSignificationSévéritéComposants
memorymemory_mb {"min": 2048}au moins 2048 Mo de mémoireavertissementapi
api_port_freeport_free {"param": "api_port"}port 5000 libre sur l'hôtebloquantapi

Désinstallation​

Chemins supprimés quand les données sont purgées : {{ paths.log }}.

Liens rapides​

  • Lignage Marquez : {{ 'https' if config.tls_enabled else 'http' }}://{{ host.fqdn }}:{{ config.web_port }}/

Documentation amont​