Rechercher avec les clusters OpenSearch

OCI Search avec OpenSearch vous permet de créer des clusters OpenSearch pour vos solutions de recherche.

Une fois le cluster OpenSearch créé, la fonction de recherche avec OpenSearch gère la plupart des opérations et de la gestion des clusters de recherche, notamment les opérations telles que les mises à jour de sécurité, les mises à niveau, le redimensionnement et les sauvegardes programmées.

Vous pouvez effectuer les tâches de cluster OpenSearch suivantes :

Listez les clusters OpenSearch dans un compartiment.

Créez un cluster OpenSearch.

Obtention de détails d'un cluster OpenSearch.

Renommez un cluster OpenSearch.

Redimensionnez un cluster OpenSearch.

Mise à niveau de Search avec le logiciel de cluster OpenSearch.

Supprimez un cluster OpenSearch de votre location.

Pour plus d'informations sur le redimensionnement de la configuration de cluster, reportez-vous à Redimensionnement d'une recherche avec le cluster OpenSearch. Pour connaître les étapes de restauration du cluster à partir d'une sauvegarde, reportez-vous à Recherche à l'aide de OpenSearch Sauvegardes de cluster automatisées. Pour mettre à niveau votre cluster existant vers une version plus récente d'Open Search, reportez-vous à Mise à niveau de Search avec OpenSearch Cluster Software.

Stratégie IAM

Pour utiliser Oracle Cloud Infrastructure, un administrateur doit vous accorder un accès de sécurité dans une stratégie . Cet accès est requis, que vous utilisiez la console ou l'API REST avec un kit SDK, une interface de ligne de commande ou un autre outil. Si un message vous indiquant que vous ne possédez pas de droits d'accès ou des autorisations nécessaires, vérifiez auprès du l'administrateur le type d'accès qui vous avez été octroyé et le compartiment dans lequel vous souhaitez travailler.

Pour créer ou gérer un cluster, vous devez configurer des droits d'accès permettant aux utilisateurs de créer et de gérer les ressources réseau requises, en plus des droits d'accès des utilisateurs permettant de créer et de gérer Search avec des ressources OpenSearch. Les droits d'accès Networking doivent être configurés pour le compartiment contenant les ressources Networking. Par conséquent, si le cluster se trouve dans un autre compartiment que le VCN et le sous-réseau, assurez-vous que les droits d'accès Networking sont configurés pour le compartiment contenant le VCN et le sous-réseau.

L'exemple de stratégie suivant inclut les droits d'accès requis pour un groupe personnalisé SearchOpenSearchAdmins :

Allow group SearchOpenSearchAdmins to manage vnics in compartment <NETWORK_RESOURCES_COMPARTMENT>
Allow group SearchOpenSearchAdmins to manage vcns in compartment <NETWORK_RESOURCES_COMPARTMENT>
Allow group SearchOpenSearchAdmins to manage subnets in compartment <NETWORK_RESOURCES_COMPARTMENT>
Allow group SearchOpenSearchAdmins to use network-security-groups in compartment <NETWORK_RESOURCES_COMPARTMENT>
Allow group SearchOpenSearchAdmins to manage opensearch-family in compartment <CLUSTER_RESOURCES_COMPARTMENT>
Conseil

Dans cet exemple, le groupe SearchOpenSearchAdmins fait référence à un groupe personnalisé que vous créez. Pour plus d'informations, reportez-vous à Gestion des groupes.

Les droits d'accès aux ressources Networking incluses dans cet exemple sont requis comme indiqué. Vous pouvez configurer les droits d'accès pour Search avec les ressources OpenSearch, indiquées à la dernière ligne de cet exemple, avec plus de granularité.

Si vous ne connaissez pas les stratégies, reportez-vous à Introduction aux stratégies et à Stratégies courantes.

Configuration de l'équilibreur de charges

Lorsque vous créez un cluster OpenSearch, un équilibreur de charge est également créé automatiquement. Cet équilibreur de charge gère toutes les demandes envoyées à l'adresse d'API OpenSearch. Vous pouvez sélectionner la taille de bande passante de l'équilibreur de charge lorsque vous créez le cluster OpenSearch afin d'optimiser la gestion du trafic de messages entrants. Vous pouvez également modifier les clusters OpenSearch existants pour modifier la bande passante de leur équilibreur de charge.

La sélection de la taille de bande passante est facultative. Si vous n'indiquez pas de taille de bande passante pour l'équilibreur de charge, une taille par défaut est définie en fonction de la taille de cluster OpenSearch (nombre de noeuds maître, de données, de kibana et de recherche).

Noeuds d'apprentissage automatique

Les nœuds de machine learning (ML) sont optimisés pour exécuter des charges de travail de machine learning via le module d'extension ML Commons et les composants d'IA associés dans OpenSearch. Ces noeuds gèrent des opérations gourmandes en calcul telles que l'inscription de modèle, le déploiement, l'inférence, l'intégration de texte, la détection d'anomalies et les analyses RCA.

En isolant l'activité de machine learning des données principales et des nœuds de gestionnaire de cluster, les nœuds de machine learning permettent au cluster d'exécuter des pipelines d'IA avancés et des charges de travail d'inférence sans rivaliser pour les E/S ou la mémoire sur les tâches d'indexation/de recherche.

Le rôle dédié (node.roles: ["ml"] ) est automatiquement affecté aux noeuds d'apprentissage automatique et ils ont également un volume de blocs attaché. Ce rôle les désigne comme adresses de calcul pour les travaux ML Commons et les pipelines d'ingestion de texte. Ils peuvent traiter les modèles localement ou se connecter à des adresses d'inférence distantes, telles que les déploiements de modèle OCI Data Science ou les LLM externes.

Les nœuds d'apprentissage automatique offrent les avantages suivants :

  • Performances : décharge les tâches d'inférence et d'entraînement de machine learning gourmandes en calcul à partir des données et des noeuds de gestionnaire de clusters, garantissant une faible latence constante pour la recherche et l'indexation.
  • Évolutivité : prend en charge à la fois le redimensionnement horizontal (ajout de noeuds de machine learning supplémentaires) et le redimensionnement vertical (augmentation des OCPU/mémoire), ce qui permet une allocation élastique des ressources pour les charges de travail de machine learning variables.
  • Efficacité des coûts : les formes OCI FLEX peuvent être utilisées pour optimiser le coût par inférence, en payant uniquement pour l'empreinte de calcul requise.
  • Facilité de gestion : le contrôleur ML Commons achemine automatiquement les tâches d'inférence et d'entraînement vers les noeuds ML éligibles en fonction de la mémoire disponible et de la profondeur de file d'attente.
  • Flexibilité de l'intégration : se connecte de manière transparente aux fonctionnalités d'intégration de texte, de recherche vectorielle, de détection d'anomalies et d'IA agénétique introduites dans Open Search 3.x.

Les nœuds de machine learning fournissent une couche de calcul évolutive et isolée pour les workloads d'IA/ML, améliorant ainsi le débit du cluster, la stabilité et l'efficacité des ressources.

Configuration du noeud ML pour le cluster

Vous pouvez configurer des noeuds d'apprentissage automatique lors de la création d'un cluster ou mettre à jour un cluster existant avec eux. Vous pouvez effectuer des opérations de redimensionnement horizontal et vertical sur des noeuds d'apprentissage automatique similaires à ceux d'un noeud standard, notamment l'augmentation et la réduction.

Cependant, le redimensionnement d'un noeud d'apprentissage automatique jusqu'à 0 n'est pas autorisé lorsque des activités d'apprentissage automatique sont détectées sur le cluster. Une demande visant à réduire le noeud d'apprentissage automatique à 0 échoue, sauf si ces activités liées à l'apprentissage automatique sont arrêtées, telles que l'annulation du déploiement d'un modèle d'apprentissage automatique. Les activités de machine learning qualifiées incluent :

  • Modèles d'apprentissage automatique déployés
  • Agents d'IA inscrits
  • Modèles distants enregistrés et déployés
  • Agent racine de l'assistant IA
  • Outils MCP

En l'absence de nœud ML, les activités ML s'exécutent sur des nœuds de données réguliers qui prennent automatiquement le rôle de nœud ML comme c'est le cas dans les clusters sans nœuds ML dédiés.

Paramètres de cluster

Lors de la création d'un cluster avec un noeud d'apprentissage automatique dédié ou de l'ajout de noeuds d'apprentissage automatique dédiés à un cluster existant, le paramètre "only_run_on_ml_node": "true" est par défaut défini sur True. Ce paramètre est automatiquement réinitialisé à False après une réduction réussie des nœuds d'apprentissage automatique à 0 pour permettre aux nouvelles charges de travail d'apprentissage automatique de s'exécuter de manière transparente sur le nœud de données.

Vous pouvez modifier ces paramètres de configuration de cluster. Cependant, vous devez comprendre clairement comment ces paramètres affectent le cluster. Si ce paramètre est défini sur True sur un cluster sans noeud d'apprentissage automatique dédié, le traitement de toutes les demandes d'apprentissage automatique échoue. De même, la définition de cet indicateur sur False sur un cluster avec un nœud d'apprentissage automatique dédié signifie que les nœuds d'apprentissage automatique et de données traitent la charge de travail d'apprentissage automatique et que l'objectif visé est d'isoler les charges de travail d'apprentissage automatique sur les nœuds d'apprentissage automatique dédiés de l'ingestion et des requêtes sur les nœuds de données.

Paramètres configurables

Vous pouvez utiliser les paramètres suivants pour configurer les noeuds d'apprentissage automatique sur votre cluster :

  • Forme de noeud (pour les familles SHAPE ou FLEX) : forme de noeud pour les noeuds ML du cluster.
  • Nombre de noeuds : nombre de noeuds d'apprentissage automatique à ajouter au cluster.
  • Mémoire de noeud : quantité de mémoire pour les noeuds d'apprentissage automatique en gigaoctets.
  • Nombre d'OCPU de noeud : nombre d'OCPU à configurer pour les noeuds d'apprentissage automatique du cluster.
  • Stockage de noeud : quantité de stockage en gigaoctets à configurer par noeud pour les noeuds d'apprentissage automatique du cluster.
Remarque

Les noeuds GPU ne sont pas pris en charge pour l'apprentissage automatique ou les noeuds de données.

Génération d'un hachage de mot de passe (CLI et Terraform uniquement)

Si vous incluez le paramètre security-master-user-password-hash à utiliser avec le paramètre security-master-user-name, vous devez générer le hachage de mot de passe :

  1. Téléchargez le fichier suivant :

    oci-crypto-common.jar

  2. Ouvrez une invite de commande et exécutez la commande suivante :
    java -jar oci-crypto-common.jar pbkdf2_stretch_1000 <password-in-plain-text>

    <password-in-plain-text> est le mot de passe de votre choix.

    Java doit être installé sur votre ordinateur avant d'exécuter cette commande.

  3. Enregistrez le hachage de mot de passe généré.
  4. Incluez le hachage de mot de passe généré comme valeur pour le paramètre security-master-user-password-hash.

    Utilisez des apostrophes autour du mot de passe. Par exemple :

    oci opensearch cluster create ... --security-master-user-name MyUser --security-master-user-password-hash 'pbkdf2_...MNUT5No='

Balisage des ressources

Vous pouvez appliquer des balises aux ressources pour mieux les organiser en fonction des besoins de votre entreprise. Vous pouvez appliquer des balises lors de la création d'une ressource ou mettre à jour la ressource ultérieurement avec les balises souhaitées. Pour obtenir des informations générales sur l'application de balises, reportez-vous à Présentation de Tagging.