Installer le CommandLine en tant que service - 6.3

Talend Big Data Guide d'installation pour Linux

EnrichVersion
6.3
EnrichProdName
Talend Big Data
task
Installation et mise à niveau
EnrichPlatform
Studio Talend
Talend Activity Monitoring Console
Talend Administration Center
Talend Artifact Repository
Talend CommandLine
Talend Data Preparation
Talend Data Stewardship
Talend Installer
Talend JobServer
Talend Log Server
Talend Project Audit
Talend Runtime

Installer le CommandLine en tant que service sur Ubuntu

  1. Créez un exécutable permettant d'exécuter CommandLine depuis le répertoire /usr/bin.

    Il suffit pour cela de créer deux fichiers, commandline_start et commandline_stop dans lesquels vous écrivez :

    Pour le fichier commandline_start :

    #!/bin/sh
    cd <CommandLinePath>
    nohup sh commandline-linux.sh&

    Avertissement

    Le chemin d'accès <CommandLinePath> doit être absolu.

    Pour le fichier commandline_stop :

    #!/bin/sh
    (echo stopServer ; sleep 2) | telnet localhost 8002
  2. Assurez-vous que les deux fichiers sont exécutables. Pour le vérifier, vous pouvez exécuter les deux commandes suivantes dans le répertoire /usr/bin :

    # chmod +x /usr/bin/commandline_start
    
    # chmod +x /usr/bin/commandline_stop

  3. Copiez le fichier .sh : /<CommandLinePath> /addons/scripts/talend_commandline dans le répertoire : /etc/init.d pour créer le service associé à ces deux exécutables.

  4. Rendez-le exécutable :

    # chmod +x /etc/init.d/talend_commandline

  5. Exécutez la commande suivante :

    # update-rc.d talend_commandline defaults 60

Vous avez créé le service lié aux deux fichiers exécutables commandline_start et commandline_stop.

Installer le service sur les systèmes RedHat/CentOS 7

Les commandes suivantes doivent être exécutées avec les privilèges super-utilisateur.

  1. Créez le fichier du service à l'aide de la commande suivante :

    touch /etc/systemd/system/Talend-CommandLine.service

  2. Assignez les droits nécessaires aux fichier créé :

    chmod 664 /etc/systemd/system/Talend-CommandLine.service

  3. Collez le contenu suivant dans le fichier, en l'adaptant à votre configuration :

    [Unit]
    Description=Talend CommandLine Service
    After=network.target
    [Service]
    WorkingDirectory=<CommandLinePath>
    ExecStart=/bin/bash commandline-linux_x86_64.sh start
    Type=simple
    [Install]
    WantedBy=default.target
  4. Relancez le démon du service :

    systemctl daemon-reload

  5. Démarrez le service :

    systemctl start Talend-CommandLine.service

Installer le CommandLine en tant que service sur RedHat

  1. Créez/Copiez le script suivant dans le fichier /etc/init.d/commandline :

    #!/bin/sh
    ### BEGIN INIT INFO
    # Default-Start:     2 3 4 5
    # Default-Stop:      S 0 1 6
    # Short-Description: Exemple de script init
    # Description:       This file should be used to construct scripts to be placed in /etc/init.d
    ### END INIT INFO
    
    # Author: jsd03
    
    # Do NOT "set -e"
    
    # PATH should only include /usr/* if it runs after the mountnfs.sh script
    PATH=/usr/sbin:/usr/bin:/sbin:/bin
    COMMANDLINE=/oa/talend/commandline303
    CMD_WORKSPACE=$COMMANDLINE"/commandline-workspace"
    STARTUP=commandline.sh
    USER=cxp
    NAME=talend_commandline
    PORT=10004
    
    
    # Read configuration variable file if present
    [ -r /etc/default/$NAME ] && . /etc/default/$NAME
    
    # Load the VERBOSE setting and other rcS variables
    [ -f /etc/default/rcS ] && . /etc/default/rcS
    
    # Define LSB log_* functions.
    # Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
    . /lib/lsb/init-functions
    
    #
    # Function that starts the daemon/service
    #
    do_start()
    {
    echo -n $"Starting commandline service: "
     su - $UER -c "rm -Rf $CMD_WORKSPACE"
     su - $USER -c "cd $COMMANDLINE && screen -dmS cmdLine ./$STARTUP"
    #screen -dmS cmdLine $DAEMON_START
     RETVAL=$?
     echo
    
    }

    #
    # Function that stops the daemon/service
    #
    do_stop()
    {
     echo -n $"Stopping commandline service: "
     su - $USER -c "( echo 'stopServer' ; sleep 2 ) | telnet localhost $PORT"
     RETVAL=$?
     echo
    
    }
    
    case "$1" in
    start)
    do_start
     ;;
    stop)
     do_stop
     ;;
    *)
     echo $"Usage: $0 {start|stop}"
     exit 1
    esac
    
    exit 0

  2. Modifiez les valeurs des variables USER et COMMANDLINE du script avec l'utilisateur dédié pour exécuter Talend, et le chemin d'accès au répertoire du CommandLine, respectivement.

  3. Saisissez :

    chkconfig --list

    chkconfig --add commandline

    pour ajouter ce service à votre système.