Sur un cluster MapR 4.0.1, travaux de mapreduce révolution R peuvent échouer avec l’erreur :

2015-02-13 08:00:37, 657 FATAL [Gestionnaire d’IPC Server 2 sur 52243] org.apache.hadoop.mapred.TaskAttemptListenerImpl : tâche : attempt_1423734868663_0289_m_000000_0 - sortie : java.io.IOException : R VM est arrêté avec le code de sortie : 1, sortie :script de démarrageVRAI [1]$fileName [1] NA$start [1] 0$length [1] 0/usr/lib64/Revo-7.3/R-3.1.1/lib64/R/library/RevoScaleR/rxLibs/x64/libExaCore.so.2(_Z21CriticalSignalHandleri+0x1e)[0x7fe02d3d423e] /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71.x86_64/jre/lib/amd64/server/libjvm.so(+0x7e2628)[0x7fe0282f8628] /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71.x86_64/jre/lib/amd64/server/libjvm.so(JVM_handle_linux_signal+0x95)[0x7fe0282fea55] /lib64/libpthread.so.0[0x30cec0f710] /usr/lib64/Revo-7.3/R-3.1.1/lib64/R/library/RevoScaleR/rxLibs/x64/libExaCore.so.2(_ZNK10CxAnalysis19HaveWriteDataSourceEv+0x0)[0x7fe02acbc280] /usr/lib64/Revo-7.3/R-3.1.1/lib64/R/library/RevoScaleR/rxLibs/x64/libExaCore.so.2(_ZN10CxAnalysis18GetWriteDataSourceEv+0x9)[0x7fe02acbcb49] /usr/lib64/Revo-7.3/R-3.1.1/lib64/R/library/RevoScaleR/rxLibs/x64/libRxLink.so.2(_Z19RxComputeHadoopTaskR11RListObjectR11RxAllocator+0x3b3)[0x7fe02e2a5d23] /usr/lib64/Revo-7.3/R-3.1.1/lib64/R/library/RevoScaleR/rxLibs/x64/libRxLink.so.2(_Z10RxUtilBaseP7SEXPREC+0x6db)[0x7fe02e2b2fab] /usr/lib64/Revo-7.3/R-3.1.1/lib64/R/library/RevoScaleR/rxLibs/x64/libRxLink.so.2(RxUtil+0x34)[0x7fe02e2b3f14] /usr/lib64/Revo-7.3/R-3.1.1/lib64/R/lib/libR.so(+0x9f36b)[0x7fe04083536b] /usr/lib64/Revo-7.3/R-3.1.1/lib64/R/lib/libR.so(Rf_eval+0x871)[0x7fe04086be91] /usr/lib64/Revo-7.3/R-3.1.1/lib64/R/lib/libR.so(Rf_ReplIteration+0x212)[0x7fe0408946a2] /usr/lib64/Revo-7.3/R-3.1.1/lib64/R/lib/libR.so(+0xfea59)[0x7fe040894a59] /usr/lib64/Revo-7.3/R-3.1.1/lib64/R/lib/libR.so(run_Rmainloop+0x44)[0x7fe040894f64] /usr/lib64/Revo-7.3/R-3.1.1/lib64/R/bin/exec/R(main+0x1b)[0x40084b] /lib64/libc.so.6(__libc_start_main+0xfd)[0x30ce41ed5d] /usr/lib64/Revo-7.3/R-3.1.1/lib64/R/bin/exec/R[0x400739] Erreur de segmentation.à com.revolutionanalytics.scaleR.hadoop.Rscript.waitFor(Rscript.java:103)à com.revolutionanalytics.scaleR.hadoop.Rscript.run(Rscript.java:59)à com.revolutionanalytics.scaleR.hadoop.RDelegatingMapper.run(RDelegatingMapper.java:73)à org.apache.hadoop.mapred.MapTask.runNewMapper (MapTask.java:773)à org.apache.hadoop.mapred.MapTask.run (MapTask.java:345)à org.apache.hadoop.mapred.YarnChild$2.run (YarnChild.java:167)à java.security.AccessController.doPrivileged (méthode Native)à javax.security.auth.Subject.doAs(Subject.java:415)à org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1469)à org.apache.hadoop.mapred.YarnChild.main (YarnChild.java:162)

Sur les plates-formes MapR 4.0.1, c’est en raison de la configuration de l’environnement entreprise R de révolution à l’aide de la bibliothèque libhdfs.so incorrect.Pour contourner ce problème, vérifiez que les étapes de configuration après l’installation suivantes ont été prises pour révolution R 7.3 sur des clusters de MapR 4.0.1 :Sur le nœud « client », créez le répertoire partagé du système de fichiers natif pour chaque utilisateur :1. sudo mkdir -p /var/RevoShare/mapr3. chmod 777 /var/RevoShare/mapr4. Ajoutez. /usr/lib64/Revo-7.3/scripts/RevoHadoopEnvVars.site à /home/mapr/.bash_profileSur chaque poste de travail, apportez les modifications suivantes :

# cp scaleR-hadoop-0.1-SNAPSHOT.jar /opt/mapr/hadoop/hadoop-2.4.1/share/hadoop/common/lib/ # ln -s /opt/mapr/hadoop/hadoop-0.20.2/c++/Linux-amd64-64/lib/libhdfs.so /usr/lib64 # mv /opt/mapr/hadoop/hadoop-2.4.1/lib/native/libhdfs.so /opt/mapr/hadoop/hadoop-2.4.1/lib/native/libhdfs.so.save

L’installation de révolution R crée automatiquement un lien vers scaleR-hadoop-0,1-SNAPSHOT.jar dans $HADOOP_HOME/lib. Toutefois, il s’agit du répertoire incorrect (un bogue a été signalé) et le fichier doit être associé ou copié dans /opt/mapr/hadoop/hadoop-2.4.1/share/hadoop/common/lib/./Opt/mapr/hadoop/hadoop-0.20.2/c++/Linux-amd64-64/lib/libhdfs.so de /usr/lib64 de liaison permet de garantir que le libhdfs.so approprié a été trouvé par r de révolution. La troisième étape est nécessaire pour déplacer le problème libhdfs.so à l’écart.

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.

Les communautés vous permettent de poser des questions et d'y répondre, de donner vos commentaires et de bénéficier de l'avis d'experts aux connaissances approfondies.