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.