Points de configuration importants

Talend Data Fabric Guide d'installation pour Windows

EnrichVersion
6.2
EnrichProdName
Talend Data Fabric
task
Installation et mise à niveau
EnrichPlatform
Talend Activity Monitoring Console
Studio Talend
Talend Artifact Repository
Talend CommandLine
Talend Runtime
Talend Identity Management
Talend Installer
Talend SAP RFC Server
Talend MDM Web UI
Talend DQ Portal
Talend MDM Server
Talend Administration Center
Talend Log Server
Talend ESB
Talend Project Audit
Talend Repository Manager
Talend JobServer

Les sections suivantes décrivent différentes manières de configurer l'installation de votre serveur MDM.

Mettre des serveurs MDM en cluster

Le clustering est le processus de regroupement d'un ensemble de systèmes physiques similaires afin d'assurer un certain niveau de continuité opérationnelle et de minimiser les risques d'arrêt non planifié, notamment en tirant parti des fonctionnalités de répartition de charge et de failover.

Cette section fournit une vision d'ensemble concernant la configuration d'un cluster de serveurs MDM pour MDM de Talend ainsi que des informations au sujet de la gestion du failover dans un cluster de serveurs MDM.

Configurer un cluster de serveurs MDM

Prérequis :

  • Télécharger et installer Apache httpd et son support mod_jk. Assurez-vous qu'il s'exécute correctement. Pour plus d'informations concernant l'installation et l'exécution d'Apache httpd, consultez la documentation officielle d'Apache (en anglais).

  • Télécharger et installer la distribution standard Apache ActiveMQ et l'exécuter. Pour plus d'informations concernant l'installation et l'exécution d'ActiveMQ de votre plateforme, référez-vous à la documentation Apache ActiveMQ.

Pour configurer un cluster de serveurs MDM, procédez comme suit.

  1. Installez le premier serveur MDM comme pour une installation sur une seule machine.

  2. Dupliquez cette première instance sur autant de machines que vous souhaitez inclure dans votre cluster. Dans ce cas, dupliquer signifie recommencer un processus d'installation avec exactement les même paramètres à chaque fois.

    Notez que vous pouvez également travailler avec plusieurs instances sur le même serveur physique, en utilisant différents numéros de ports. Dans ce cas, vous n'avez pas le même niveau de protection contre les défaillances physiques d'une machine.

  3. Modifiez le fichier <$INSTALLDIR>/conf/mdm.conf sur chaque instance de serveur MDM comme suit :

    • Ajoutez la ligne system.cluster=true dans la section System Settings afin d'activer la configuration de la mise en cluster.

    • Changez la valeur de mdm.routing.engine.broker.url en tcp://AMQHOST:AMQPORT, par exemple, tcp://localhost:61616. Ici, AMQHOST est le nom du serveur hébergeant ActiveMQ et AMQPORT est le port TCP OpenWire qu'écoute ActiveMQ.

      Note

      Par défaut, un serveur MDM utilise un broker Apache ActiveMQ embarqué comme fournisseur JMS. Afin d'assurer une communication correcte entre les noeuds, le broker JMS doit être externalisé et partagé par chaque nœud du cluster. Pour un exemple de configuration spécifique, consultez l'article How to set up a shared full-text index (en anglais).

    • Ajoutez les deux lignes suivantes afin de laisser MDM créer des connexions authentifiées au serveur ActiveMQ.

      mdm.routing.engine.broker.userName=<USERNAME>
      mdm.routing.engine.broker.password=<PASSWORD>
  4. Dans le fichier <TomcatPath>/conf/server.xml, localisez l'élément <Engine> et ajoutez un attribut pour jvmRoute.

    <Engine name="jboss.web" defaultHost="localhost" jvmRoute="mdm_node1">

    Ici, la valeur de jvmRoute représente l'identifiant unique de chaque nœud du serveur MDM compris dans le cluster et doit correspondre au nom du Worker dans le fichier worker.properties.

    Pour un exemple spécifique sur la configuration d'une solution de répartition de charge utilisant Apache httpd avec le support de mod_jk, consultez Exemple de configuration d'une solution de répartition de charge utilisant Apache httpd et mod_jk.

    Répétez cette étape pour chaque instance du serveur.

  5. Redémarrez tous les nœuds du cluster MDM.

La réplication d'index plein texte est implémentée dans chaque cluster MDM. Pour plus d'informations, consultez ???.

Une fois que vous avez installé et configuré toutes les instances requises des serveurs MDM, vous devez explicitement les connecter dans un cluster. Il existe différentes solutions pour le faire, des solutions matérielles et des solutions logicielles.

L'exemple suivant montre l'une de ces solutions, en configurant une solution de répartition de charge utilisant mod_jk avec Tomcat. Cela nécessite un peu d'expérience avec httpd et des connaissances de Tomcat ainsi que des connecteurs Tomcat (mod_jk).

Ce cluster se compose d'un serveur Apache répartissant les requêtes entrantes dans le cluster, ainsi que deux "nœuds" , qui sont les différentes instances des serveurs MDM installés sur la même machine.

Exemple de configuration d'une solution de répartition de charge utilisant Apache httpd et mod_jk

Pour déclarer un cluster de serveurs MDM sur le serveur Apache qui gère les tâches de répartition de charge, procédez comme suit, dans le répertoire <Apache_home>/conf/. Notez que l'emplacement du répertoire Apache_home/conf/ dépend du système d'exploitation utilisé et de l'installation d'Apache.

  1. Modifiez le fichier de configuration httpd.conf et ajoutez les lignes suivantes :

    JkMount /talendmdm/* loadbalancer
    JkMountCopy all
  2. Créez un nouveau fichier et nommez-le worker.property. Collez le code suivant dans ce fichier.

    Assurez-vous que les workers listés dans l'option worker.loadbalancer.balance_workers correspondent aux noms spécifiés pour jvmRoute dans le fichier <TomcatPath>/conf/server.xml car le serveur Apache répartit les requêtes en se basant sur le fichier worker.property.

    # Define mdm_node1
    worker.mdm_node1.port=8109
    worker.mdm_node1.host=127.0.0.1
    worker.mdm_node1.lbfactor=1
    worker.mdm_node1.type=ajp13
    
    # Define mdm_node2
    worker.mdm_node2.port=8009
    worker.mdm_node2.host=127.0.0.1
    worker.mdm_node2.lbfactor=1
    worker.mdm_node2.type=ajp13
    
    # Declare the load balancer itself and all the worker nodes
    worker.loadbalancer.type=lb
    worker.loadbalancer.balance_workers=mdm_node1,mdm_node2
    worker.list=mdm_node1,mdm_node2,loadbalancer
    worker.loadbalancer.sticky_session=true

    Note

    Vous pouvez trouver le port AJP de chaque nœud du serveur MDM dans le fichier <TomcatPath>/conf/server.xml. Voici un exemple :

    <!-- Define an AJP 1.3 Connector on port 8109 -->
    <Connector port="8109" protocol="AJP/1.3" redirectPort="8543" />
  3. Redémarrez le serveur Apache afin que la configuration soit prise en compte.

Gérer le failover

Dans un cluster de serveurs MDM, chaque instance (chaque nœud) de serveur MDM est indépendante. En tant que telle, lorsqu'une session est initialisée sur un nœud défini, elle reste sur ce nœud, les requêtes HTTP provenant du même utilisateur étant toujours envoyées au même nœud.

Le tableau suivant décrit ce qu'il se passe lorsqu'un nœud individuel présente une défaillance.

SourceAvec déclenchement du failoverLimitations

Talend MDM Web User Interface

Les utilisateurs connectés sur des nœuds en fonctionnement ne constatent aucune différence.

Les nouveaux utilisateurs peuvent se connecter manuellement.

Les utilisateurs connectés sur le nœud en échec sont déconnectés de leur session et redirigés vers la page de connexion, comme lorsque la session expire.

Jobs en cours d'exécution

Les Jobs connectés à des nœuds en fonctionnement finissent normalement.

Les Jobs connectés au nœud en échec échouent également, s'ils utilisent le composant tMDMConnection. Cependant, Talend Administration Center peut à nouveau exécuter les Jobs immédiatement et les router vers un autre nœud.

Pour les Jobs n'utilisant pas le composant tMDMConnection seul un enregistrement est rejeté.

Déclencheurs

La file de l'Event Manager assure que tous les déclencheurs asynchrones s'exécutent.

Les déclencheurs synchrones s'exécutant sur le nœud en échec échouent également.

Processus beforeSaving/beforeDeleting

Tous les Processus connectés à des nœuds en fonctionnement s'exécutent normalement.

Les Processus sur le nœud en échec échouent également, ce qui crée le rejet de l'action de création, mise à jour ou suppression.

Configuration du support des protocoles SSL ou TLS pour le serveur MDM

Vous pouvez configurer le serveur MDM pour s'exécuter de façon sécurisée sur un serveur HTTP en utilisant les protocoles Transport Layer Security (TLS) ou Secure Sockets Layer (SSL).

Le support des protocoles SSL ou TLS pour le serveur MDM peut être configuré depuis le Studio Talend ou depuis Tomcat. Pour plus d'informations, consultez Configurer le support de SSL ou TLS pour le serveur MDM depuis le Studio Talend et Configurer le support des protocoles SSL ou TLS pour le serveur MDM depuis Tomcat.

Configurer le support de SSL ou TLS pour le serveur MDM depuis le Studio Talend

Pour configurer la connexion TLS/SSL depuis le Studio Talend, procédez comme suit.

  1. Dans votre Studio, cliquez sur Window > Preferences.

    La boîte de dialogue [Preferences] s'ouvre.

  2. Développez Talend > MDM, puis cliquez sur SSL.

    Une page s'ouvre dans laquelle vous pouvez spécifier les détails de votre configuration SSL.

  3. Définissez la configuration de sécurité (Security Configuration).

    1. Dans la liste SSL Algorithm, sélectionnez le protocole de sécurité à utiliser : TLS ou SSL.

    2. Sélectionnez la méthode de vérification de l'hôte à utiliser en sélectionnant l'option allow all (qui ne vérifie pas le nom d'hôte) ou strict verify (qui effectue une vérification du certificat associé au nom d'hôte).

  4. Définissez la configuration Keystore (Keystore Configuration) afin d'envoyer les identifiants locaux à l'hôte distant.

    1. Cliquez sur Browse et parcourez votre système jusqu'au répertoire où sont stockés vos identifiants locaux.

    2. Saisissez le mot de passe requis pour accéder au certificat.

    3. Spécifiez le type de keystore à utiliser en sélectionnant l'option appropriée dans la liste déroulante : JKS, JCEKS, ou PKCS12.

  5. Définissez la configuration Truststore (Truststore Configuration) du certificat contenant les identifiants d'authentification distants.

    1. Cliquez sur Browse et parcourez votre système jusqu'au répertoire où sont stockés vos certificats de sécurité.

    2. Saisissez le mot de passe requis pour accéder au certificat.

    3. Spécifiez le type de keystore à utiliser en sélectionnant l'option appropriée dans la liste déroulante : JKS, JCEKS, ou PKCS12.

  6. Cliquez sur OK pour confirmer vos changements.

Le support des protocoles SSL ou TLS pour le serveur MDM peut être configuré depuis Tomcat. Pour plus d'informations, consultez Configurer le support des protocoles SSL ou TLS pour le serveur MDM depuis Tomcat.

Configurer le support des protocoles SSL ou TLS pour le serveur MDM depuis Tomcat

Afin d'assurer la sécurité de l'environnement de communication, vous pouvez configurer le support des protocoles Transport Layer Security (TLS) ou Secure Sockets Layer (SSL) dans Tomcat.

Note

Il est recommandé de configurer dans Tomcat le support de SSL ou TLS uniquement lorsque vous exécutez Tomcat en serveur Web standalone. Il n'est pas nécessaire de configurer le support du SSL lorsque Tomcat s'exécute derrière un autre serveur Web comme Apache.

Prérequis : une JRE version 1.8.0 ou supérieure doit être installée. Vous devez vous assurer que la variable d'environnement JAVA_HOME pointe vers le répertoire de la JRE. Par exemple, si le chemin est C:\Java\JREx.x.x\bin, votre variable d'environnement JAVA_HOME doit pointer vers C:\Java\JREx.x.x.

Tout d'abord, vous devez générer un fichier keystore contenant un certificat auto-signé pour le SSL.

La procédure suivante vous explique comment générer un certificat auto-signé à l'aide de Java Keytool.

  1. Ouvrez une invite de commande.

  2. Exécutez la commande suivante afin de générer un nouveau fichier nommé ".keystore" dans votre répertoire principal.

    "%JAVA_HOME%\bin\keytool" -genkey -alias tomcat -keyalg RSA

    Note

    Si vous souhaitez spécifier un emplacement différent ou un nom de fichier différent, ajoutez le paramètre -keystore à la commande. Par exemple, vous pouvez ajouter -keystore talendmdm.keystore à la commande, afin de générer un fichier keystore nommé talendmdm.keystore.

  3. Saisissez le mot de passe du keystore comme demandé puis saisissez le mot de passe à nouveau afin de le confirmer. Par défaut, le mot de passe est "changeit".

  4. Saisissez les informations générales relatives à ce certificat, comme le nom de l'entreprise, ou la ville. Assurez-vous que les informations saisies correspondent aux informations attendues par les utilisateurs essayant d'accéder à une page sécurisée de votre application.

  5. Saisissez le mot de passe de la clé comme demandé, c'est-à-dire le mot de passe spécifique à ce certificat.

    Avertissement

    Il est recommandé d'utiliser le même mot de passe pour le fichier keystore et la clé.

  6. Allez dans votre répertoire principal et vérifiez qu'un fichier .keystore est à nouveau généré.

Le fichier keystore est préparé, vous pouvez configurer le support des protocoles SSL ou TLS dans Tomcat, comme suit :

  1. Parcourez votre système jusqu'au répertoire <TomcatPath>/conf et ouvrez le fichier server.xml.

  2. Décommentez le texte suivant.

     <!--
        <Connector port="8543" protocol="org.apache.coyote.http11.Http11NioProtocol"
                   maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
                   clientAuth="false" sslProtocol="TLS" />
        -->
  3. Ajoutez les informations du chemin d'accès complet au fichier keystore et le mot de passe pour le fichier keystore.

    <Connector port="8543" protocol="org.apache.coyote.http11.Http11NioProtocol"
                   maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
                   keystoreFile="${user.home}/.keystore" keystorePass="changeit"
                   clientAuth="false" sslProtocol="TLS" />
    

    Avertissement

    Assurez-vous que keystoreFile contient le chemin et le nom du fichier du keystore et que keystorePass correspond au mot de passe pour le keystore.

  4. Sauvegardez vos modifications dans le fichier.

  5. Redémarrez Tomcat afin de prendre en compte les mises à jour.

Vous pouvez également configurer le support des protocoles SSL ou TLS pour le serveur MDM depuis le Studio Talend. Pour plus d'informations, consultez Configurer le support de SSL ou TLS pour le serveur MDM depuis le Studio Talend.

Configurer le serveur MDM pour qu'il réponde uniquement aux requêtes HTTPS

Avec la configuration du support des protocoles SSL ou TLS, un serveur MDM peut répondre aux requêtes HTTP et HTTPS.

Pour assurer la sécurité des communications avec le serveur MDM, vous pouvez configurer le serveur MDM pour qu'il réponde uniquement aux requêtes HTTPS en modifiant le fichier web.xml sous le répertoire <TomcatPath>/webapps/talendmdm/WEB-INF.

Ouvrez le fichier web.xml et décommentez le texte suivant :

    <!-- Uncomment the following to configure webapp to always require HTTPS -->
    <security-constraint>
        <web-resource-collection>
            <web-resource-name>HTTPSOnly</web-resource-name>
            <url-pattern>/*</url-pattern>
        </web-resource-collection>
        <user-data-constraint>
            <transport-guarantee>CONFIDENTIAL</transport-guarantee>
        </user-data-constraint>
    </security-constraint>

Après cette configuration, si vous saisissez une URL commençant par http dans votre navigateur, vous serez automatiquement redirigé vers une URL sécurisée commençant par https.

Configurer un client pour communiquer avec le serveur MDM à l'aide des protocoles SSL ou TLS

Si le serveur MDM est configuré pour supporter les protocoles SSL ou TLS, tout client Java doit fournir un TrustStore pour vérifier le certificat du serveur, afin de communiquer avec le serveur MDM à l'aide des protocoles SSL ou TLS.

L'exemple suivant montre comment configurer le support des protocoles SSL ou TLS pour le serveur MDM depuis le serveur BPM de Bonita BPM installé en standalone.

  1. Parcourez votre système jusqu'au répertoire <Bonita_Home>/bin. Ici, Bonita_Home indique le répertoire où a été manuellement installé le serveur de Bonita.

    Pour plus d'informations concernant l'installation manuelle du serveur de Bonita, consultez Installer manuellement le serveur BPM de Bonita.

  2. Modifiez le fichier setenv.bat en ajoutant la ligne suivante :

    -Djavax.net.ssl.trustStore=<full path to the keystore file> -Djavax.net.ssl.trustStorePassword=<password of the keystore file>
  3. Sauvegardez vos modifications du fichier.

Configuration de l'expiration de session dans Talend MDM Web User Interface

L'expiration d'une session utilisateur dans Talend MDM Web User Interface est configurée par défaut à 30 minutes. L'utilisateur métier ou l'arbitre sera redirigé vers la page de login de l'Interface Web après une période de 30 minutes d'inactivité.

Vous pouvez cependant modifier ce délai d'expiration de la session, si nécessaire.

Pour configurer un nouveau délai avant expiration pour les utilisateurs se connectant à l'Interface Web, procédez comme suit :

  1. Dans votre dossier Tomcat, parcourez jusqu'au fichier web.xml dans \webapps\talendmdm\WEB-INF\web.xml.

  2. Ouvrez le fichier web.xml dans un éditeur de texte et recherchez la balise suivante :

    <session-config>
        <session-timeout>30</session-timeout>
        <tracking-mode>COOKIE</tracking-mode>
    </session-config>
  3. Modifiez la valeur du délai avant expiration de la session comme vous le souhaitez.

  4. Sauvegardez vos modifications.

Le nouveau paramètre de délai avant expiration de la session a été configuré pour les utilisateurs se connectant à l'Interface Web.

Changer les ports utilisés par défaut par le serveur MDM dans Tomcat

Durant l'installation du serveur MDM, sous le répertoire <TomcatPath>\conf\, le fichier server.xml est configuré pour utiliser un des ensembles de ports pour le serveur MDM. Voici un exemple :

<Server port="8105" shutdown="SHUTDOWN">
    ...
    <Service name="Catalina">
        <Connector port="8180" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8543" />
        <Connector port="8109" protocol="AJP/1.3" redirectPort="8543" />
    ...
    </Service>
</Server>

Si nécessaire, vous pouvez personnaliser l'ensemble de ports à utiliser. Trois ensembles de ports prédéfinis sont disponibles, chacun d'entre eux fournissant un ensemble de ports différentes, comme dans le tableau ci-dessous :

Ensemble de ports

Numéros de ports

Par défaut

mdm.port.http=8180

mdm.port.https=8543

mdm.port.ajp=8109

mdm.port.shutdown=8105

Ensemble 1

mdm.port.http=8080

mdm.port.https=8443

mdm.port.ajp=8009

mdm.port.shutdown=8005

Ensemble 2

mdm.port.http=8280

mdm.port.https=8643

mdm.port.ajp=8209

mdm.port.shutdown=8205

Ensemble 3

mdm.port.http=8380

mdm.port.https=8743

mdm.port.ajp=8309

mdm.port.shutdown=8305

Pour plus d'informations relatives à la configuration du serveur MDM, consultez Configuration du serveur MDM.

Crypter les mots de passe à l'aide du CommandLine

Le fichier encrypt.bat (Windows) ou encrypt.sh (Linux) dans le répertoire <MDM_ROOT>/tools/encrypt vous permet de crypter des mots de passe en texte clair à partir du CommandLine.

Après cela, les mots de passe cryptés peuvent être utilisés directement dans les fichiers de configuration. Pour plus d'informations, consultez Gestion des mots de passe dans les fichiers de configuration.

L'exemple suivant vous montre comment crypter un mot de passe à l'aide du fichier encrypt.bat :

  1. Ouvrez le CommandLine.

    Pour plus d'informations, consultez Cheatsheet : commandes de démarrage et d'arrêt des modules serveur Talend.

  2. Saisissez entièrement le nom du répertoire contenant le fichier encrypt.bat.

  3. Exécutez la commande encrypt <your_password> pour crypter votre mot de passe.

    Le mot de passe crypté s'affiche alors dans le CommandLine.