在 MapR 4.0.1 叢集上,革命 R mapreduce 工作可能會失敗,發生錯誤︰

2015 年 02 月 13 日 08:00:37、 657 [IPC 伺服器處理常式 2 52243] 的嚴重錯誤 org.apache.hadoop.mapred.TaskAttemptListenerImpl︰ 工作︰ attempt_1423734868663_0289_m_000000_0-結束︰ java.io.IOException: R VM 結束以結束代碼︰ 1 日的輸出︰啟動指令碼[1],則為 TRUE$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] 區段發生錯誤。在 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 (原生方法)在 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)

MapR 4.0.1 平台,這是因為使用錯誤的 libhdfs.so 程式庫的革命 R 企業環境組態。如果要解決這個問題,請確認下列的後置安裝組態步驟已被革命 R 7.3 的 MapR 4.0.1 叢集上︰在 「 用戶端 」 節點中,建立每一位使用者的原生檔案系統共用的目錄︰1.sudo mkdir-p /var/RevoShare/mapr3.chmod 777 /var/RevoShare/mapr4.將新增。/usr/lib64/Revo-7.3/scripts/RevoHadoopEnvVars.site 到 /home/mapr/.bash_profile每個背景工作在節點上,進行下列變更︰

# 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

革命 R 安裝會在 $HADOOP_HOME/lib,自動建立 scaleR hadoop-0.1 SNAPSHOT.jar 的連結。不過,這是不正確的目錄 (已報告錯誤),但應該連結或在 /opt/mapr/hadoop/hadoop-2.4.1/share/hadoop/common/lib/ 中複製檔案。連結中 /usr/lib64 的 /opt/mapr/hadoop/hadoop-0.20.2/c++/Linux-amd64-64/lib/libhdfs.so,可確保適當的 libhdfs.so 找到的革命。第三個步驟是必要的方式移動問題 libhdfs.so。

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。