Installation et configuration de Talend Integration Suite 3.0.1

jsdarges

Ce tutoriel présente l'installation et la configuration de Talend Integration Studio 3.0.1 en environnement Unix - Red Hat.

Commentez

- Titre : Installation et configuration de Talend Integration Suite 3.0.1

- Auteur : jsdarges

- Parution : 20 janvier 2009

- Mise à jour : 25 mai 2020

- Licence :

Sommaire

- I. Introduction

- II. Configuration matérielle

- III. Installation et configuration de TIS Administrator

- III-A. Logiciels requis

- III-A-1. MySQL 5+

- III-A-2. Java

- III-A-3. Tomcat 5.5.27

- III-A-3-a. Installation

- III-A-3-b. Script de démarrage

- III-A-4. Subversion (SVN)

- III-B. TIS Administrator

- III-B-1. Configuration pour Tomcat

- III-B-2. Pages d'administration Web

- III-B-3. Gestion des projets

- III-C. CommandLine

- III-C-1. Introduction

- III-C-2. Installation et configuration

- III-C-3. Exporter / Importer un projet

- III-C-4. Résolution des problèmes

- III-D. Job server

- III-D-1. Introduction

- III-D-2. Configuration

- III-D-3. Déploiement

- III-D-4. Ajout d'un serveur dans la WebApp

- IV. Génération, déploiement et exécution d'un job

- IV-A. Mode d'exécution

- IV-B. Résolution des problèmes

- V. TIS Client en environnement Windows

- V-A. Lancement

- V-B. Paramétrage

- V-C. Active Monitoring Control et Logs

- VI. Liens utiles

- VII. Remerciements

I - Introduction

La version 3.01 de Talend Integration Suite (TIS) permet comme la version 2.4.3 de travailler en collaboration sur un projet décisionnel. Mais la grande nouveauté réside sur la gestion du repository courant à un projet qui peut maintenant être sauvegardé non plus dans une base de données MySQL ou MSSQL, mais grâce à un SVN (subversion). Cette solution a l'avantage d'être beaucoup plus rapide pour la sauvegarde, la mise à jour et le développement d'un projet.

Ce tutoriel va vous permettre en plus d'installer la nouvelle version de TIS sur une Red Hat, de comprendre le fonctionnement, la génération, le déploiement et l'exécution de script via la WebApp Talend nouvelle génération.

Un minimum de connaissance Linux est requis ainsi qu'une connaissance de TOS (gratuit) par exemple.

II - Configuration matérielle

Tout comme la version 2.4.3, le choix de la configuration matérielle n'est pas à négliger. TIS demande beaucoup de ressources, que ce soit mémoire ou CPU. Optez donc pour un serveur et des postes clients avec une configuration minimum suivante :

- Dual core 2Ghz ;

- 3Go de mémoire ;

- disque dur de grande capacité si vous comptez manipuler de gros fichiers.

III - Installation et configuration de TIS Administrator

Toutes les ressources seront installées dans le dossier /rsTalend dont l'utilisateur usrtalen est le propriétaire.

III-A - Logiciels requis

Au préalable, nous allons devoir installer et configurer plusieurs services et logiciels :

- MySQL 5+ or MsSQL Serveur (2000 2005) ;

- Java JVM et JRE ;

- Tomcat 5.5.x ;

- Subversion (SVN).

Veuillez noter que je ne rentrerai pas dans le détail de l'installation et la configuration de ces logiciels.

III-A-1 - MySQL 5+

Pour gérer vos projets, TIS utilise soit une base MySQL soit une base MSSQL. Pour la suite du tutoriel, nous utiliserons la dernière version de MySQL (gratuite).

Téléchargez et installez la dernière version de MySQL avec votre gestionnaire de dépôts.

Démarrez le serveur MySQL :

# /etc/init.d/mysqld start

Avec les droits root de la machine, configurez le compte root MySQL en lui ajoutant un mot de passe :

# mysqladmin -u root password rootpassword

Connectez-vous à la console MySQL sur la table MySQL avec le compte root MySQL :

# mysql -u root -p mysql

Créez la base de données talend_administrator et assignez les droits à l'utilisateur talend_admin (qui sera créé dans la foulée).

mysql> create database talend_administrator;

mysql> GRANT ALL PRIVILEGES ON talend_administrator.* TO 'talendadmin'@'localhost' IDENTIFIED BY 'TyidP';

mysql> GRANT ALL PRIVILEGES ON talend_administrator.* TO 'talendadmin'@'%' IDENTIFIED BY 'TyidP';

III-A-2 - Java

Téléchargez et installez la dernière version de la machine virtuelle JAVA (JVM) et de Java Runtime Environnement :

Vérifiez que la machine virtuelle Java (JVM) est bien installée en affichant la valeur de la variable d'environnement JAVA_HOME.

# echo $JAVA_HOME

III-A-3 - Tomcat 5.5.27

III-A-3-a - Installation

Téléchargez et décompressez la dernière version de Tomcat 5.5.x dans le dossier /rsTalend à l'adresse suivante : http://tomcat.apache.org/download-55.cgi. La version qui sera utilisée tout au long de ce tutoriel et la version 5.5.27

Une fois décompressé, il ne vous reste plus qu'à configurer Tomcat dans le dossier /rsTalend/apache-tomcat-5.5.27.

Le serveur Tomcat écoute sur le port 8080, mais vous pouvez néanmoins changer la valeur de ce port qui pourrait être en conflit avec le port d'écoute d'Oracle XE par la valeur de votre choix en éditant le fichier /rsTalend/apache-tomcat-5.5.27/conf/server.xml.

III-A-3-b - Script de démarrage

Pour permettre une administration facile du serveur Tomcat nous allons créer un démon Tomcat dans le dossier /etc/init.d/ avec le compte root.

Pour cela commencez par créer un fichier nommé tomcat dans le dossier /etc/init.d/ et collez le code suivant :

# Script de gestion du démon Tomcat
#
# chkconfig: 345 91 10
# description: démarre et arrête le serveur Tomcat
#

# Charge les librairies.
. /etc/rc.d/init.d/functions

# Utilisateur qui lancera le serveur Tomcat
user=usrTalend

# Chemin vers le dossier Tomcat
tomcat=/rsTalend/apache-tomcat-5.5.27/

# Script de démarrage
startup=$tomcat/bin/startup.sh

# Script d'arrêt
shutdown=$tomcat/bin/shutdown.sh

status(){
ps ax --width=1000 | grep "[o]rg.apache.catalina.startup.Bootstrap start" | awk '{printf $1 " "}' | wc | awk '{print $2}' > /tmp/tomcat_process_count.txt
read line < /tmp/tomcat_process_count.txt
if [ $line -gt 0 ]; then
echo -n "tomcat ( pid "
ps ax --width=1000 | grep "[o]rg.apache.catalina.startup.Bootstrap start" | awk '{printf $1 " "}'
echo -n ") is running..."
echo
else
echo "Tomcat is stopped"
fi
}

start(){
echo -n $"Starting Tomcat service: "
su - $user -c "$startup"
RETVAL=$?
echo
}

stop(){
echo -n $"Stopping Tomcat service: "
su - $user -c "$shutdown"
RETVAL=$?
echo
}

restart(){
stop
start
}

case "$1" in
start)
start
;;
stop)
stop
;;
status)
status tomcat
;;
restart)
restart
;;
*)
echo $"Usage: $0 {start|stop|status|restart}"
exit 1
esac

exit 0

Pour un serveur Suse remplacez la ligne « . /etc/rc.d/init.d/functions » par « . /lib/lsb/init-functions ».

Vous pouvez bien évidemment changer les valeurs des variables suivantes :

- tomcat ;

- user.

Donnez les droits d'exécution au script précédent puis ajoutez et activez le lancement du serveur tomcat au démarrage grâce à chkconfig :

# chmod a+x /etc/init.d/tomcat

# cd /etc/init.d

# /sbin/chkconfig --add tomcat

# /sbin/chkconfig tomcat on

Pour lancer le serveur Tomcat il ne vous reste plus qu'à taper la commande suivante :

# /etc/init.d/tomcat start

Et voici les trois commandes pour arrêter, redémarrer et voir le statut du démon Tomcat :

# /etc/init.d/tomcat stop

# /etc/init.d/tomcat restart

# /etc/init.d/tomcat status

Vérifiez maintenant que le serveur est bien lancé et configuré en lançant un navigateur web et en vous rendant à l'adresse suivante : http://localhost:8080/

III-A-4 - Subversion (SVN)

La nouveauté de TIS 3.0.1 et de permettre la sauvegarde des projets par SVN beaucoup rapide que de sauvegarder le repository dans la base MySQL.

Installez le paquet subversion avec votre gestionnaire de paquets.

Créez un répertoire pour la sauvegarde des projets dans le répertoire /rsTalend nommé svnRepository avec le compte usrtalend.

Ajoutez maintenant ce dossier au serveur SVN avec la commande suivante :

> svnadmin create /rsTalend/svnRepository

Éditez maintenant le fichier de configuration du svn que vous venez de créer.

> vim /rsTalend/svnRepository/conf/svnserve.conf

Changez maintenant les paramètres suivants :

- anon-access = none ;

- auth-access = write ;

- password-db = passwd.

Il faut maintenant définir les identifiants des personnes qui pourront se connecter au svn en éditant le fichier passwd.

> vim /rsTalend/svnRepository/conf/passwd

Ajoutez la ligne suivante : svnTISuser = svnTISpwd. Mais bien sûr vous pouvez choisir d'autres identifiants.

Maintenant nous allons ajouter l'utilisateur svn et le groupe svn pour qu'il puisse lancer le démon svnserve.

# groupadd svn

# useradd -d /rsTalend/svnRepository -s /bin/false -g svn svn

Editer le fichier /etc/sysconfig/svnserve et remplacer la valeur de la variable SVNSERVE_OPTIONS par : « -d -r /rsTalend/svnRepository »

Donnez maintenant les nouveaux droits à l'utilisateur et le groupe svn sur le dossier /rsTalend/svnRepository :

# chown -R svn:svn /rsTalend/svnRepository

Relancez le démon svnserve

# /etc/init.d/svnserve restart

Si le démon svnserve ne s'est pas créé automatiquement lors de l'installation, vous pouvez procéder comme le chapitre III-A-3-b en nommant le script svnserve et contenant le code suivant :

# Script de démarrage svnserve
#
# chkconfig: 345 91 10
# description: Démarre et arrête le démon svnserve
#

# Source function library.
. /etc/rc.d/init.d/functions

SVNSERVE_BIN=/usr/bin/svnserve
SVN_REPOSITORY=/rsTalend/svnRepository
user=svn

start(){
echo -n $"Starting svnserve service: "
su - $user -c "$SVNSERVE_BIN -d -r $SVN_REPOSITORY"
RETVAL=$?
echo
}

stop(){
echo -n $ "Stopping svnserve service: "
pkill svnserve
RETVAL=$?
echo
}

restart(){
stop
start
}

case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
esac

exit 0

Changez les valeurs des variables user et SVN_REPOSITORY par les bonnes valeurs.

III-B - TIS Administrator

III-B-1 - Configuration pour Tomcat

L'interface d'administration de TIS sera accessible par le WEB grâce au serveur Tomcat. Nous allons voir maintenant comment configurer TIS Administrator.

Décompressez l'archive ADM-TISTE-…V3.0.1.zip (suivant votre version) et copiez l'archive war dans le dossier webapps de Tomcat.

cp org.talend.administrator.war /rsTalend/apache-tomcat-5.5.27/webapps/

Copiez les pilotes MySQL Talend pour l'accès à la base de gestion talend_administrator dans le dossier common/lib/ de Tomcat.

cp /rsTalend/apache-tomcat-5.5.27/webapps/org.talend.administrator/WEB-INF/lib/mysql-connector-java-5.1.0-bin.jar
/rsTalend/apache-tomcat-5.5.27/common/lib/

Changez le mot de passe de la page de configuration de la page WEB de Talend (que nous verrons plus tard) en éditant le fichier apache-tomcat-5.5.27/webapps/org.talend.administrator/WEB-INF/classes/database.properties.
Changez la valeur du paramètre database.config.password par un mot de passe différent. Par exemple : talendAdmin.

Dans ce fichier vous pouvez changer les informations de connexion au serveur MySQL pour la sauvegarde des projets. Par exemple si vous avez défini une base de données et/ou des identifiants de connexion différents.

Relancez le serveur Tomcat avec la commande suivante :

# /etc/init.d/tomcat restart

III-B-2 - Pages d'administration Web

L'administration des projets, l'exécution des jobs… sont maintenant possibles en se rendant à l'adresse suivante : http://localhost:8080/org.talend.administrator. Cette interface a été développée avec le google web toolkit ce qui a l'avantage d'être rapide, mais aussi permet de rafraichir certaines parties du site plutôt que tout l'ensemble.

Avant de vous connecter à l'application web de TIS Administrator, vous pouvez vérifier que la base de données MySQL TIS est bien configurée en cliquant sur le bouton [Go to db config page]. La page suivante vous demande d'entrer le mot de passe de la page de configuration de la base de données (par défaut admin ou un autre si vous l'avez modifié comme vu précédemment).

Revenez maintenant sur la page de connexion en cliquant sur le bouton [Go to login page]. Entrez maintenant les identifiants suivants : admin@company.com/admin (qui sont les identifiants par défaut pour se connecter à la page d'administration de TIS). Un conseil : ne cochez pas « Remember me on this computer », car avec Internet Explorer vous allez vous connecter et vous déconnecter à l'infini quand vous cliquerez sur login.

Remarque : si vous rencontrez un problème pour vous connecter, vérifiez la configuration de la base de données.

Si l'erreur suivante apparaît, redémarrez le serveur MySQL :

Cliquez maintenant sur le lien [License] dans le menu de gauche et entrez votre numéro de licence TIS. Vous devriez maintenant avoir accès aux liens suivants (après vous êtes reconnecté à la WebApp) :

Pour des raisons de sécurité, il est préférable de changer les identifiants du compte admin@company.com/admin. Pour cela, cliquez sur le lien [Accounts]. Sélectionnez le compte admin@company.com. Entrez les nouveaux identifiants dans la partie de droite et cliquez sur le bouton [Save].

Vérifiez que la configuration de TIS est correcte en cliquant sur l'onglet [Configuration].

Tous les points doivent être en vert sauf pour les paramètres Command line port et Archive path qui ne sont pas encore configurés.

Le paramètre Archive path correspond au dossier où seront générés les jobs avant leur déploiement. Comme vous pouvez le voir sur le screenshot précédent, j'ai indiqué comme dossier /rsTalend/tmpTisArchive que j'ai créé précédemment avec l'utilisateur urstalend.

III-B-3 - Gestion des projets

- Projects

Maintenant que TIS est configuré, vous pouvez ajouter un projet. Pour cela, cliquez sur le lien [Projets] puis sur le bouton [Add project] et remplissez les champs comme l'exemple suivant. Le projet developpezProject sera notre base de travail avec l'utilisateur js@company.com qui sera créé plus tard.

Remarquez que dans ce formulaire d'ajout de projet vous avez le choix entre un projet Java et Perl comme avec la version 2.4.3. Mais ce qui change c'est le type de repository : il ne vous est plus obligé de sauvegarder vos projets en base de données, mais de le faire sur un SVN (que nous avons configuré un peu plus haut). Je vous conseille donc de prendre cette option, car avec plus de 25 jobs dans un projet la base MySQL ne suit plus… et vous allez mettre plus longtemps à ouvrir un job, mettre à jour les contextes… que si vous preniez le type subversion.

Dans le champ URL, indiquez l'URL subversion où vous souhaitez sauvegarder votre projet. Comme vous pouvez le constater, j'ai indiqué l'adresse : svn://192.168.0.6/developpezProject. Ne mettez pas localhost à la place de l'adresse IP à moins que vous comptiez développer, générer et exécuter les jobs sur cette machine. La suite de l'adresse svn doit indiquer le nom du projet (il sera alors ajouté automatiquement au repository svn).

Comme vous pouvez le constater, l'interface de configuration des utilisateurs, et du reste d'ailleurs, est beaucoup plus user-friendly : tout en Ajax (que du bonheur). De plus vous avez un onglet stats qui vous permet de voir quand s'est connecté un utilisateur pour la dernière fois, etc.

Une fois les utilisateurs ajoutés il ne vous reste plus qu'à autoriser ces derniers à développer sur un projet. Pour cela, cliquez sur le lien [Projects authorizations]. Sélectionnez les utilisateurs à autoriser sur le projet developpezProject et faites un glisser / déposer sur le projet à droite. (c'est pas beau l'Ajax ?)

- Lien [Locks]

Sachant que vous développez collaborativement sur un projet, l'onglet [Locks] va vous permettre de déverrouiller un job, un schéma… qu'une personne utilisait et dont le lock n'a pas été supprimé en fin de traitement. Il suffit pour cela de sélectionner la ligne d'un job à déverrouiller et de cliquer sur le bouton [Delete].
ATTENTION de ne pas supprimer une ligne d'un job en cours d'utilisation, car cela pourrait provoquer des erreurs dans le job.

- Liens [Job Conductor] et [Servers )

Nous verrons plus tard à quoi servent ces deux parties très importantes et utiles.

III-C - CommandLine

III-C-1 - Introduction

L'utilitaire commandLine fourni avec TIS va vous permettre de vous connecter à un projet distant (ou non) afin de pouvoir exporter, importer des projets et générer des jobs. Il doit être exécuté sur la machine où vous souhaitez générer des scripts (ici notre serveur).

III-C-2 - Installation et configuration

Commencez par décompresser le dossier nommé TIS_TE-All-r…..V3.0.1.zip dans le dossier /rsTalend où sur un poste Windows.

Sur le serveur Red Hat (ou Unix en général) :

Donnez les droits d'exécution au script commandline.sh et suivant votre version Unix, le fichier TISTE-système-gtk-version. Éditez maintenant le fichier commandline.sh et remplacez "TISTE-linux-gtk-x86 par TISTE-système-gtk-version.

Téléchargez et installez le dépôt screen s'il n'est pas déjà sur le serveur Unix. Puis comme Tomcat au paragraphe III-A-3-b créez un script pour démarrer le démon que vous nommerez « commandline » puis collez les lignes suivantes :

#!/bin/sh
### BEGIN INIT INFO
# Default-Start:     2 3 4 5
# Default-Stop:      S 0 1 6
# Description:       Commandline script
### END INIT INFO

COMMANDLINE=/rsTalend/TIS_TE-All-release-V3.0.1
CMD_WORKSPACE=$COMMANDLINE"/commandline-workspace"
STARTUP=commandline.sh
USER=usrtalend
NAME=commandline

. /lib/lsb/init-functions

do_start()
{
echo -n $"Starting commandline service "
su - $UER -c "rm -Rf $CMD_WORKSPACE"
su - $USER -c "cd $COMMANDLINE && screen -dmS cmdLine ./$STARTUP"

RETVAL=$?
echo

}

do_stop()
{
echo -n $"Stopping commandline service: "
su - $USER -c "screen -r cmdLine"
RETVAL=$?
echo

}

case "$1" in
start)
do_start
;;
stop)
do_stop
;;
*)
echo $"Usage: $0 {start|stop}"
exit 1
esac

exit 0

Remplacez les valeurs des variables COMMANDLINE et USER si nécessaire.

Lancez le démon commandline avec la commande :

# /etc/init.d/commandline start

L'utilitaire commandline se lancera dans un nouveau terminal grâce à Screen par l'utilisateur usrtalend.

Pour récupérer la session screen cmdLine créée précédemment il vous suffit de vous connecter avec l'utilisateur usrtalend puis de tapez la commande screen -r cmdLine. Vous aurez alors accès à l'utilitaire et vous pourrez exporter, importer… vos projets. Pour retourner sous votre terminal principal tapez successivement sur Ctrl+A puis D.

Si vous avez besoin d'arrêter le démon tapez la commande suivante puis tapez « stopServer » dans l'invite de commande de la commandline.

# /etc/init.d/commandline stop

Maintenant que l'utilitaire commandline est lancé vous pouvez vérifier que tout est OK en allant sur la WebApp dans la partie [Configuration] où la ligne « Command line port » est devenue verte.

III-C-3 - Exporter / Importer un projet

Lancez le démon commandline si ce n'est pas déjà fait (sous Linux) et commandline.bat (sous Windows).

Accédez au terminal screen commandline (avec l'utilisateur usrtalend si vous êtes sous Linux).

usrtalend >screen -r cmdLine

Connectez-vous à la WebApp (distante ou locale)

Talend> initRemote http://192.168.0.6/org.talend.administrator

Vérifiez que la commande a bien été exécutée :

Talend> listCommand -a

Connectez-vous maintenant au projet que vous voulez exporter :

talend> logonProject -pn developpezProject -ul js@company.com -up jspassword

ADDED_COMMAND 2

talend>
!ENTRY org.talend.libraries 1 0 2008-01-12 14:20:32.445
!MESSAGE 2008-01-12 14:20:32,445 INFO  org.talend.repository.model.ProxyRepositoryFactory  - Darges, Jean-Sebastien logged on developpezProject

Explication

- -pn : le nom du projet.

- -ul : login d'un administrateur TIS.

- -up : mot de passe d'un compte administrateur TIS.

Une fois cette commande ajoutée, un texte assez conséquent s'affiche à l'écran. Cela peut durer un certain temps.
À la fin de l'affichage du texte, vous n'aurez plus l'invite de commande « talend > ». Tapez la commande de listing pour vérifier que vous êtes bien connecté au projet :

listCommand -a

2:COMPLETED LogonProjectCommand log on developpezProject

Exportez maintenant le projet avec la commande suivante :

talend> exportItems /rsTalend/developpezProject.zip

Explication

exportItems permet d'exporter tous les objets d'un projet. Pour n'exporter qu'un objet en particulier, affichez la liste des commandes disponibles du commandLine en tapant « help » dans l'invite de commande Talend.

Pour importer des objets dans un projet la commande est la suivante :

talend> importItems /rsTalenc/developpezProject.zip

Si vous voulez fermer la connexion au serveur tapez la commande stopServer ou faite un « Ctrl + A puis D » pour quittez la session screen sans la couper.

III-C-4 - Résolution des problèmes

Si vous avez des problèmes pour vous connecter en commandLine, pleins de messages d'erreurs… Relancez le démon commandline ou supprimez le dossier commandline-workspace.

# rm -Rf commandline-workspace

Si vous n'arrivez pas à vous connecter à la WebApp vérifiez que le démon Tomcat est bien lancé.

Si vous n'arrivez pas à exporter un projet, vérifiez la connexion à la base de données MySQL et au SVN.

Si vous rencontrez des problèmes pour réimporter un projet, vérifiez que vous avez les droits nécessaires sur ce projet.

III-D - Job server

III-D-1 - Introduction

Job server est une application fournie avec TIS qui permet à la WebApp de déployer les jobs sur le serveur où s'exécute ce job server.

Avant de commencer le déploiement du job server, vérifiez que Java JRE et JVM sont bien installés sur la machine qui l'exécutera.

III-D-2 - Configuration

Décompressez le dossier org.talend.remote.jobserver_xxx (xxx : la version) dans le dossier /rsTalend/jobserver que vous aurez préalablement créé (sur votre serveur) ou dans un dossier sous Windows où vous souhaitez exécuter un job.

- Pour un ordinateur s'exécutant sous Windows

Éditez le fichier start_rs.bat.

Modifiez les valeurs des variables si nécessaire.

Éditez maintenant le fichier conf/TalendJobServer.properties.

Modifiez les ports pour les variables :
org.talend.remote.jobserver.server.TalendJobServer.COMMAND_SERVER_PORT
org.talend.remote.jobserver.server.TalendJobServer.FILE_SERVER_PORT=8001
org.talend.remote.jobserver.server.TalendJobServer.MONITORING_PORT=8888
si vous souhaitez que job serveur écoute sur d'autres ports.

Modifiez la variable org.talend.monitoring.jmx.api.OsInfoRetriever.OS_PARTITIONS. Cette variable permet d'indiquer les partitions présentes sur le serveur.
Indiquez par exemple une valeur : C:,D: si vous avez deux partitions nommées C et D.

- Pour un ordinateur s'exécutant sous Linux

Éditez le fichier start_rs.sh.

Modifiez les valeurs des variables si nécessaire.

Éditez maintenant le fichier conf/TalendJobServer.properties.

Si vous êtes sur un Linux amd64 bits, changez la valeur de la variable MY_JSYSMON_LIB_DIR par « $MY_ROOT_PATH »/jsysmon-20061229/native/linux_2.6/amd64/

Modifiez les ports pour les variables :
org.talend.remote.jobserver.server.TalendJobServer.COMMAND_SERVER_PORT
org.talend.remote.jobserver.server.TalendJobServer.FILE_SERVER_PORT=8001
org.talend.remote.jobserver.server.TalendJobServer.MONITORING_PORT=8888
si vous souhaitez que job serveur écoute sur d'autres ports.

Modifiez la variable org.talend.monitoring.jmx.api.OsInfoRetriever.OS_PARTITIONS. Cette variable permet d'indiquer les partitions présentes sur le serveur.
Indiquez par exemple une valeur : /,/dev,/home si vous avez trois partitions nommées /, dev et home.

Donnez maintenant les droits d'exécution sur les fichiers start_rs.sh et stop_rs.sh.

III-D-3 - Déploiement

- Pour un ordinateur s'exécutant sous Linux

Ajoutez un nouveau démon « jobserver » comme dans le paragraphe III-A-3-b et collez les lignes suivantes :

# Script jobserveur
#
# chkconfig: 345 91 10
# description: Démarre et arrête le démon jobserver
#

. /etc/rc.d/init.d/functions

user=usrtalend
jobserver=/rsTalend/jobserver_3.0.1
startup=start_rs.sh
shutdown=stop_rs.sh

start(){
echo -n $"Starting joserver service: "
su - $user -c "cd $jobserver && sh $startup &"
RETVAL=$?
echo
}

stop(){
echo -n $ "Stopping jobserver service: "
su - $user -c  "cd $jobserver && sh $shutdown"
RETVAL=$?
echo
}

restart() {
stop
start
}

case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
esac

exit 0

Démarrez maintenant le démon jobserver avec la commande :

/etc/init.d/jobserver start

Pour arrêter le job server tapez la commande suivante

sh start_rs.sh

- Pour un ordinateur s'exécutant sous Windows

Double cliquez sur start_rs.bat pour lancer le job server. Une fenêtre d'invite de commande se lance. Laissez-la ouverte jusqu'à ce que vous n'ayez plus besoin d'exécuter de job dessus à distance.

Si vous avez besoin d'arrêter le job server, double cliquez sur stop_rs.bat.

III-D-4 - Ajout d'un serveur dans la WebApp

Maintenant que le job server est exécuté, vous pouvez ajouter ce serveur à la WebApp. Allez sur le site de la WebApp, connectez-vous avec un compte administrateur puis cliquez sur le lien [Server]. Cliquez sur le bouton [Add server] et remplissez les champs comme suivant :

Une fois ajouté, le serveur doit apparaître dans la liste des serveurs avec des étoiles comme ceci :

Tous les serveurs présents dans cette liste pourront être utilisés par la WebApp pour déployer et exécuter des jobs.

IV - Génération, déploiement et exécution d'un job

IV-A - Mode d'exécution

La partie [Job conductor] de la WebApp vous permet de gérer l'exécution de jobs à distance en tâche planifiée ou non.

Admettons que nous avions un job nommé createFileJob et que nous voulions l'exécuter sur le serveur de production :

Commencez par ajouter ce job comme tâche au job conducteur en cliquant sur le bouton [Add task]. Remplissez les champs comme suivant :

Une fois le job ajouté, il devrait apparaître dans la liste des tâches du job conducteur avec le statut « Ready to generate ». Cliquez maintenant sur le bouton [Generate].

À ce moment-là, la WebApp va récupérer la dernière version du job grâce au SVN et le commandLine et générer une archive au format zip dans le dossier d'archive temporaire (/rsTalend/tmpTisArchive). Cette action peut durer assez longtemps, mais quand elle sera finie, le statut de la tâche passera en « Ready to deploy ». Cela signifie que la WebApp est prête à déployer le job sur le serveur de production, comme indiqué dans les paramètres du job, grâce au connecteur jmx du job server.

Cliquez sur le bouton [Deploy]. Après avoir transféré l'archive du job sur le serveur en question à savoir dans la partie job serveur (ici /rsTalend/jobserver/TalendJobServersFiles/archiveJobs), elle est dé zippée dans le dossier repository. Les scripts sont maintenant disponibles pour l'exécution dans le dossier /rsTalend/jobserver/TalendJobServersFiles/repository/nom_du_job_identifiant/nom_du_job/lib. Vous avez dans ce dossier un *.bat et un *.sh pour lancer le job soit sur un serveur Linux soit sur un serveur Windows.

Maintenant que le statut est passé en « Ready to run », cliquez sur le bouton [Run]. La WebApp va lancer le job distant grâce au job server et mettre le statut en [Running…]. Une fois le job terminé, le statut repassera en [Ready to run].

Vous pouvez alors voir les statistiques de l'exécution du job en allant dans l'onglet « Logs ». Si un problème est survenu durant l'exécution du job, la colonne « Error status » se remplit et vous indique les causes de l'erreur.

ATTENTION : ne pas oublier de regénérer et redéployer un job qui a été modifié.

Maintenant que vous avez compris comment se déroule l'exécution d'un job vous pouvez ajouter une tâche planifiée sur ce job grâce au menu qui se trouve en dessous de la liste des jobs.

IV-B - Résolution des problèmes

- Après un clic sur [Generate]

Connection to Generator failed : vérifiez que la commandLine est bien lancée en vous connectant avec le compte usrtalend puis en lançant la commande screen -r cmdLine. Si vous n'accédez pas au terminal, la commandLine n'est pas lancée ; sinon tapez la commande listCommand -a dans l'invite de commande talend> pour voir la dernière étape qui a généré une erreur pour corriger le problème.

Compilation error : comme son nom l'indique, c'est une erreur de compilation lors de l'exportation du job grâce à la commandline. Vérifiez le job en question et les sous-jobs si celui-ci en contient (des fois les noms du job d'un tRunJob disparaît…).

- Après un clic sur [Deploy]

Connection to server failed : le job serveur sur le serveur de déploiement n'est pas en exécution. Allez dans la partie « Servers » de la WebApp pour voir l'état du serveur. Vérifiez aussi que le serveur a les ports 8001 à 8002 et 8888 ouverts.

Sending error : vérifiez que l'utilisateur qui lance le démon jobserver a les droits nécessaires sur le dossier /rsTalend/jobserver/TalendJobServersFiles et les dossiers sous-jacents du serveur de déploiement.

- Après un clic sur [Run] Unexpected error, contact your administrator : vérifiez que votre job de comporte pas d'erreurs en regardant dans l'onglet code de votre job dans le client TIS.

V - TIS Client en environnement Windows

V-A - Lancement

Double cliquez sur TISTE-win32-x86.exe. La fenêtre suivante doit alors s'afficher à l'écran.

Cliquez sur le bouton […] pour ajouter une connexion à un serveur. La fenêtre suivante doit s'afficher à l'écran :

Remplir les champs demandés à savoir :

- Repository : « local » pour développer un projet non collaboratif ou « remote » pour se connecter à une WebApp ;

- Name : le nom que vous souhaitez donner à cette connexion ;

- Description : une description de cette nouvelle connexion ;

- User E-mail : le login d'un compte TIS (mettez ce que vous souhaitez pour un développement local) ;

- User Password : le mot de passe associé au compte (mettez ce que vous souhaitez pour un développement local) ;

- URL : ce champ s'affiche pour une connexion de type « remote », indiquez alors l'URL de la WebApp.

Appuyez sur le bouton [OK]. Vous pouvez maintenant cliquer sur le bouton d'actualisation des projets pour sélectionner votre projet.

Cliquez sur le bouton [Open] pour lancer TIS et le chargement du projet.

V-B - Paramétrage

Cliquez successivement sur Window > Préférences.

Lorsque Talend importe le schéma d'une table d'une base de données, il se peut qu'il ne l'importe pas avec le bon type de données par exemple : lors de l'importation d'une table Oracle si une colonne est de type NUMBER, il l'importera en tant que BigDecimal, mais il est préférable de l'importer en Int ou Integer.
Pour remédier à ce problème, vous avez la possibilité de changer les schémas d'import en cliquant successivement sur Talend > Metadata of TalendType. Double cliquez sur mapping_XXX.xml (où XXX le nom d'une base de données). Il suffit maintenant de changer l'ID du type de la colonne à modifier en mettant celui d'un autre qui est plus à même de correspondre.

V-C - Active Monitoring Control et Logs

L'AMC : Activity Monitoring Control fournit des fonctions avancées de monitoring permettant de rassembler les informations de log collectées, de mieux comprendre le composant sous-jacent et l'exécution du job, en prévenant d'éventuelles erreurs et en renforçant les décisions en matière de gestion des systèmes.

Pour avoir un rendu graphique des logs, des statistiques et des mesures, il faut créer des tables dans une base de données de votre choix où vous voulez sauvegarder ces informations.

Créez un job dans l'interface de TIS et ajoutez trois composants tCreateTable se situant dans l'onglet « Database » de la palette.

Configurez les trois composants comme suivant :

- sélectionnez la base de données dans laquelle seront sauvegardés les logs d'activité. Choisir de préférence une connexion du projet ;

- indiquez le nom de la table à créer dans le champ « Table name » à savoir STATS, LOGS, METERS ;

- modifiez le schéma de la table à créer. Pour ne pas avoir à créer le schéma des 3 tables manuellement, ajoutez les composants tLogCatcher, tFlowMeterCatcher, tStatCatcher du menu « Logs and Errors » de la palette et copiez / collez dans le schéma de la table le schéma du composant catcher correspondant ;

- désactivez ou supprimez les trois composants Catcher ;

- exécutez le job pour créer vos trois tables.

Avant toute chose, créez un fichier nommé « license » sans extension dans le dossier du client TIS. Copiez le numéro de licence AMC dans ce fichier et ne pas oublier pas de faire un retour chariot en fin de ligne.

Activez l'autorefresh de la base de données en cliquant successivement sur Windows > Preferences > AMC et cochez la checkbox « Autorefresh the database source ».

Activez maintenant la sauvegarde en base de données en cliquant successivement sur Windows > Preferences > AMC > Data source Type. Cochez le radio-button « Database » et cliquez sur le bouton [Add]. Entrez un nom et cliquez sur le bouton [Next].

Remplissez les champs nécessaires à la connexion à votre base de données. Pour finir cliquez sur le bouton [Check] pour vérifier la connectivité avec le serveur Oracle et sur le bouton [Next].

Renseignez le nom des 3 tables AMC et cliquez sur le bouton [Finish].

De retour dans la fenêtre de configuration de l'AMC, choisissez la connexion précédemment créée dans le menu déroulant « Database ».

Pour terminer, cliquez sur le bouton [OK].

Maintenant que les logs sont configurés, il s'agit d'indiquer à Talend d'utiliser cette configuration pour chaque job créé.

Cliquez successivement sur Windows > Preferences > Talend > Stats and Logs et remplissez les champs comme suivant :

- Cochez « On database ».

- Remplissez les champs pour la connexion à la base de données et indiquez les tables STATS, LOGS and METERS dans les champs correspondants.

VI - Liens utiles

Forum Talend.
Tutoriels Talend.
Nouveaux composants Talend.
Installation de la version 2.4.3.

VII - Remerciements

Fleur-Anne Blain.