Dépannage : Problèmes de démarrage d'Ingest

Si les connecteurs NiFi par défaut n'ont pas été correctement créés, le redémarrage du service Ingest ne les crée pas.

Problème

Si un environnement a des problèmes avec les connecteurs par défaut qui ne sont pas créés ou qu'ils ne sont pas créés avec des groupes de processus manquants, le redémarrage d'Ingest ne fera rien pour créer les connecteurs manquants.

Comportement de démarrage d'Ingest

Le service Ingest est démarré avec les autres services de recherche. Il se connectera à NiFi, puis il créera la structure ou vérifiera sa validité si la structure existe déjà. Ingest vérifie alors Zookeeper et NiFi pour voir s'ils contiennent des descripteurs de connecteur ou des connecteurs. En fonction, Ingest va créer tous les connecteurs à partir de descripteurs par défaut ou ne rien créer en ce qui concerne les connecteurs.

Informations présentées dans NiFi après le démarrage

Connecteurs Environnement de création Environnement opérationnel Environnement Toolkit Environnement de données
auth.reindex Oui Oui Oui Oui
auth.url Oui Non Oui Oui
auth.attribute Oui Non Oui Oui
auth.category Oui Non Oui Oui
auth.delete Oui Non Oui Oui
auth.inventory Oui Non Oui Oui
auth.price Oui Non Oui Oui
auth.product Oui Non Oui Oui
auth.sta Oui Non Oui Oui
push-to-live Oui Oui Non Oui
live.reindex Oui Oui Non Non
live.price Non Oui Non Non
live.inventory Non Oui Non Non

Solution

Pour chaque connecteur manquant, interrogez d'abord ZooKeeper pour vérifier si le connecteur NiFi manquant s'y trouve. A l'aide de l'interface d'API REST, envoyez une requête GET /connectors.

Pour plus d'informations sur l'interrogation du service Ingest, voir Rechercher l'API de service Ingest.

Cette requête renvoie une liste des connecteurs qui ont été créés ou que le système a essayé de créer. Si le descripteur de connecteur manquant est trouvé, utilisez la requête DELETE /connectors, qui supprimera les données de connecteur de ZooKeeper.
Note: La requête va renvoyer un code d'échec, car il n'y a pas de connecteur dans NiFi. Après avoir supprimé le connecteur de Zookeeper, créez le connecteur manuellement en insérant le descripteur de connecteur dans le corps de la requête POST /connectors.

Si des groupes de processus sont manquants dans un connecteur NiFi, utilisez la requête POST /connectors pour supprimer l'intégralité du connecteur de NiFi et ZooKeeper. Ensuite, émettez une requête POST /connector dans laquelle le corps du descripteur de connecteur NiFi inclut les informations utilisées pour créer les informations dans ZooKeeper et le connecteur dans NiFi.

Ces deux solutions ignoreront toutes les nouvelles personnalisations qui ont été réalisées en dehors des connecteurs. La seule façon de conserver ces personnalisations consiste à modifier le corps de la requête POST pour inclure le groupe de processus personnalisé dans le connecteur.

Actualiser les services de recherche

Arrêtez tous les conteneurs liés à la recherche, en particulier NiFi, ZooKeeper et Ingest. Supprimez les pods ou le dossier de données NiFi et ZooKeeper si vous utilisez Kubernetes. En effet, NiFi et Zookeeper stockent les données des connecteurs et des descripteurs de connecteurs, respectivement. Redémarrez les services et accédez aux journaux afin qu'Ingest puisse voir que les connecteurs de démarrage sont chargés.