Debugger les SAS Embedded Process ( SAS EP ) sur Hadoop.
Les SAS Embedded Process utilise un fichier xml de configuration stocké sur HDFS, le fichier ep-config.xml. Ce fichier ep-config.xml est créé lors de l’installation des SAS Embedded Process. Par défaut, le fichier se trouve dans le répertoire HDFS /sas/ep/config/.
Il est possible d’ajuster des valeurs de propriétés pour augmenter le niveau de trace. Pour cela, il faut ajouter la propriété sas.ep.server.trace.level dans le fichier ep-config.xml.
Attention, l’action du mode trace requiert l'existence d'un répertoire /opt/SAS sur chaque noeud du cluster où sont installés les SAS Embedded Process. Si le dossier n'existe pas ou n'a pas d'autorisation d'écriture, le job SAS Embedded Process échoue.
Pour activer les traces, le mode opératoire est le suivant :
1) Allez dans le répertoire de configuration des EP, par exemple opt/sas/SASEP/sasexe/SASEPHome/conf
2) Modifiez le fichier ep-config.xml pour ajouter la propriété sas.ep.server.trace.level
Pour obtenir un meilleur niveau de trace, c'est-à-dire le nombre maximum de messages de trace et le niveau de trace maximal, définissez ce paramètre sur 10.
2 ) Copiez manuellement le fichier de configuration ep-config.xml dans HDFS.
Vérifiez d'abord l’utilisateur hadoop propriétaire du fichier ep-config.xml en utilisant la commande ci-dessous ( par défaut il s’agit de hdfs)
Se connecter avec l’utilisateur hdfs, puis lancer la commande ci-dessous pour copier le fichier de configuration local ( /opt/sas/SASEP/sasexe/SASEPHome/conf/ep-config.xml) dans HDFS :
Note : Comme indiqué au dessus, cette opération doit être effectuée par l’utilisateur disposant des droits d'écriture sur le répertoire HDFS /sas/ep/config/, sinon l’erreur suivante peux se produire :
copyFromLocal: Permission denied: user=sas, access=WRITE, inode="/sas/ep/config/ep-config.xml._COPYING_":hdfs:hdfs:drwxr-xr-x
Si vous obtenez le message copyFromLocal: `/sas/ep/config/ep-config.xml': File exists, il faut supprimer le fichier /sas/ep/config/ep-config.xml au préalable en utilisant la commande :
Cette étape doit être effectuée par un utilisateur disposant des droits d'écriture sur le répertoire HDFS /sas/ep/config/. Dans le cas contraire, l’erreur ci-dessous peut se produire :
org.apache.hadoop.security.AccessControlException: Permission denied: user=sas, access=WRITE, inode="/user/sas/.Trash/Current/sas/ep/config":hdfs:hdfs:drwxr-xr-x
3) Vérifiez le contenu du fichier /sas/ep/config/ep-config.xml
Pour vérifier la prise en compte, lancez la commande ci-dessous :
4) Vérifiez que le processus SAS Embedded Process a été correctement installé en exécutant le script sasep-admin.sh avec l'option -check :
1 |
hadoop fs -ls /sas/ep/config/ |
1 |
hadoop fs -copyFromLocal /opt/sas/SASEP/sasexe/SASEPHome/conf/ep-config.xml /sas/ep/config/ep-config.xml |
1 |
hadoop fs -rm /sas/ep/config/ep-config.xml |
1 |
hadoop fs -cat /sas/ep/config/ep-config.xml |
1 |
SASEPHome/bin/sasep-admin.sh -env |