6

में डेटा प्रशिक्षण करते समय अपवाद quick start guide में उल्लिखित एक अनुशंसा इंजन को तैनात करने का प्रयास कर रहा हूं। मैंने इंजन बनाने के लिए चरणों को पूरा किया। अब मैं सिफारिश इंजन को प्रशिक्षित करना चाहता हूं। मैंने त्वरित प्रारंभ मार्गदर्शिका में उल्लेख किया है। (pio train निष्पादित करें)। तब मुझे लंबा त्रुटि लॉग मिला और मैं यहां सब पेस्ट नहीं कर सका। तो मैं त्रुटि की पहली पंक्तियों को डाल रहा हूं।प्रक्षेपण

[INFO] [Console$] Using existing engine manifest JSON at /home/PredictionIO/PredictionIO-0.9.6/bin/MyRecommendation/manifest.json 
[INFO] [Runner$] Submission command: /home/PredictionIO/PredictionIO-0.9.6/vendors/spark-1.5.1-bin-hadoop2.6/bin/spark-submit --class io.prediction.workflow.CreateWorkflow --jar/PredictionIO/PredictionIO-0.9.6/bin/MyRecommendation/target/scala-2.10/template-scala-parallel-recommendation_2.10-0.1-SNAPSHOT.jar,file:/home/PredictionIO/PredictionIO-0.9.6/bndation/target/scala-2.10/template-scala-parallel-recommendation-assembly-0.1-SNAPSHOT-deps.jar --files file:/home/PredictionIO/PredictionIO-0.9.6/conf/log4j.properties --driver/home/PredictionIO/PredictionIO-0.9.6/conf:/home/PredictionIO/PredictionIO-0.9.6/lib/postgresql-9.4-1204.jdbc41.jar:/home/PredictionIO/PredictionIO-0.9.6/lib/mysql-connector-jav file:/home/PredictionIO/PredictionIO-0.9.6/lib/pio-assembly-0.9.6.jar --engine-id qokYFr4rwibijNjabXeVSQKKFrACyrYZ --engine-version ed29b3e2074149d483aa85b6b1ea35a52dbbdb9a --et file:/home/PredictionIO/PredictionIO-0.9.6/bin/MyRecommendation/engine.json --verbosity 0 --json-extractor Both --env PIO_ENV_LOADED=1,PIO_STORAGE_REPOSITORIES_METADATA_NAME=pFS_BASEDIR=/root/.pio_store,PIO_HOME=/home/PredictionIO/PredictionIO-0.9.6,PIO_FS_ENGINESDIR=/root/.pio_store/engines,PIO_STORAGE_SOURCES_PGSQL_URL=jdbc:postgresql://localhost/pGE_REPOSITORIES_METADATA_SOURCE=PGSQL,PIO_STORAGE_REPOSITORIES_MODELDATA_SOURCE=PGSQL,PIO_STORAGE_REPOSITORIES_EVENTDATA_NAME=pio_event,PIO_STORAGE_SOURCES_PGSQL_PASSWORD=pio,PIURCES_PGSQL_TYPE=jdbc,PIO_FS_TMPDIR=/root/.pio_store/tmp,PIO_STORAGE_SOURCES_PGSQL_USERNAME=pio,PIO_STORAGE_REPOSITORIES_MODELDATA_NAME=pio_model,PIO_STORAGE_REPOSITORIES_EVENTDGSQL,PIO_CONF_DIR=/home/PredictionIO/PredictionIO-0.9.6/conf 
[INFO] [Engine] Extracting datasource params... 
[INFO] [WorkflowUtils$] No 'name' is found. Default empty String will be used. 
[INFO] [Engine] Datasource params: (,DataSourceParams(MyApp3,None)) 
[INFO] [Engine] Extracting preparator params... 
[INFO] [Engine] Preparator params: (,Empty) 
[INFO] [Engine] Extracting serving params... 
[INFO] [Engine] Serving params: (,Empty) 
[WARN] [Utils] Your hostname, test-digin resolves to a loopback address: 127.0.1.1; using 192.168.2.191 instead (on interface p5p1) 
[WARN] [Utils] Set SPARK_LOCAL_IP if you need to bind to another address 
[INFO] [Remoting] Starting remoting 
[INFO] [Remoting] Remoting started; listening on addresses :[akka.tcp://[email protected]:56574] 
[WARN] [MetricsSystem] Using default name DAGScheduler for source because spark.app.id is not set. 
[INFO] [Engine$] EngineWorkflow.train 
[INFO] [Engine$] DataSource: [email protected] 
[INFO] [Engine$] Preparator: [email protected] 
[INFO] [Engine$] AlgorithmList: List([email protected]) 
[INFO] [Engine$] Data sanity check is on. 
[INFO] [Engine$] duo.TrainingData does not support data sanity check. Skipping check. 
[INFO] [Engine$] duo.PreparedData does not support data sanity check. Skipping check. 
[WARN] [BLAS] Failed to load implementation from: com.github.fommil.netlib.NativeSystemBLAS 
[WARN] [BLAS] Failed to load implementation from: com.github.fommil.netlib.NativeRefBLAS 
[WARN] [LAPACK] Failed to load implementation from: com.github.fommil.netlib.NativeSystemLAPACK 
[WARN] [LAPACK] Failed to load implementation from: com.github.fommil.netlib.NativeRefLAPACK 
Exception in thread "main" org.apache.spark.SparkException: Job aborted due to stage failure: Task serialization failed: java.lang.StackOverflowError 
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1028) 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496) 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348) 
scala.collection.immutable.$colon$colon.writeObject(List.scala:379) 
sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
java.lang.reflect.Method.invoke(Method.java:498) 
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1028) 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496) 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) 

इस जारीकर्ता को दूर करने के लिए मैं क्या कर सकता हूं?

+0

यह स्मृति समस्या की तरह लगता है। क्या आपने ड्राइवर-मेमोरी सीमा बढ़ाने की कोशिश की है? – Anzel

+0

मैं 4 कोर, 6 जीबी रैम और उबंटू 14.04 सर्वर का उपयोग कर रहा हूं। मैं मॉडल के प्रदर्शन की निगरानी करते समय सर्वर के प्रदर्शन की निगरानी करता हूं लेकिन यह स्वैप मेमोरी का उपयोग नहीं करता है या यहां तक ​​कि सभी 6 जीबी नहीं लेता है। तो मुझे लगता है कि अपवाद कुछ और है। –

+0

लेकिन ऊपर दिए गए अपवाद से निर्णय वास्तव में स्मृति से संबंधित है। फ्लैग '- ड्रायवर-मेमोरी' और' --executor-memory' जैसे '4G' या ऊपर के साथ चलने का प्रयास करें और देखें कि क्या यह – Anzel

उत्तर

4

आपकी त्रुटि java.lang.StackOverflowError कहती है कि आप engine.json फ़ाइल में numIterations parameter को कम कर सकते हैं। this देखें।

-1

मुझे 8 जीबी मैकोज़ मशीन पर एक समान समस्या थी। NumIterations पैरामीटर को /MyRecommendation/engine.json में 10 में बदलना (डिफ़ॉल्ट रूप से 20 होने के लिए उपयोग किया जाता है) ने मेरे लिए समस्या हल की। पियो ट्रेन के साथ - ड्रायवर-मेमोरी और - एक्सचेंटर-मेमोरी का उपयोग नहीं किया गया।

+0

स्टैक ओवरफ़्लो में आपका स्वागत है! हालांकि हम आपके उत्तर के लिए धन्यवाद करते हैं, लेकिन यह बेहतर होगा अगर यह अन्य उत्तरों के शीर्ष पर अतिरिक्त मूल्य प्रदान करता है। इस मामले में, आपका उत्तर अतिरिक्त मूल्य प्रदान नहीं करता है, क्योंकि किसी अन्य उपयोगकर्ता ने पहले से ही उस समाधान को पोस्ट किया है। यदि कोई पिछला उत्तर आपके लिए उपयोगी था, तो आपको उसी जानकारी को दोहराने के बजाय इसे वोट देना चाहिए। –

संबंधित मुद्दे