[ 
https://issues.apache.org/jira/browse/SYSTEMML-489?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Deron Eriksson resolved SYSTEMML-489.
-------------------------------------
    Resolution: Fixed

> ClassNotFoundException when training GML on Hadoop 2.0.0-cdh4.2.1
> -----------------------------------------------------------------
>
>                 Key: SYSTEMML-489
>                 URL: https://issues.apache.org/jira/browse/SYSTEMML-489
>             Project: SystemML
>          Issue Type: Bug
>            Reporter: Yifan "Ethan" Xu
>            Assignee: Deron Eriksson
>            Priority: Minor
>
> h4. Summary
> When building a GLM model () on an old hadoop cluster (Hadoop 2.0.0-cdh4.2.1) 
> I encountered the following error: 
> {code:java}
> java.lang.ClassNotFoundException:org.apache.commons.math3.linear.RealMatrix
> {code}
> The problem was fixed by changing the <scope> of the associate library in the 
> pom.xml from "provided" to "compile", and rebuilding the project.
> h4.Details
> *Command and Error Message:*
> {code}
> $hadoop jar ./SystemML.jar -f <parent 
> dir>/incubator-systemml/scripts/algorithms/GLM.dml -nvargs X=<location on 
> HDFS>/train.data.csv Y=<location on HDFS>/train.labels.csv B=<location on 
> HDFS>/logisticResult/B.csv fmt=csv dfam=2 link=2 yneg=2.0 icpt=1 reg=0.0 
> tol=0.00000001 moi=100 mii=10
> 16/01/29 10:07:21 INFO api.DMLScript: BEGIN DML run 01/29/2016 10:07:21
> 16/01/29 10:07:21 INFO api.DMLScript: HADOOP_HOME: null
> 16/01/29 10:07:21 WARN conf.DMLConfig: No default SystemML config file 
> (./SystemML-config.xml) found
> 16/01/29 10:07:21 WARN conf.DMLConfig: Using default settings in DMLConfig
> 16/01/29 10:07:23 WARN hops.OptimizerUtils: Auto-disable multi-threaded text 
> read for 'text' and 'csv' due to thread contention on JRE < 1.8 
> (java.version=1.6.0_32).
> 16/01/29 10:07:23 WARN parser.StatementBlock: WARNING:<parent 
> dir>/incubator-systemml/scripts/algorithms/GLM.dml -- line 357, column 14 -- 
> Initialization of w depends on if-else execution
> 16/01/29 10:07:23 WARN parser.StatementBlock: WARNING: <parent 
> dir>/incubator-systemml/scripts/algorithms/GLM.dml -- line 357, column 14 -- 
> Initialization of w depends on while execution
> 16/01/29 10:07:24 WARN parser.StatementBlock: WARNING: <parent 
> dir>/incubator-systemml/scripts/algorithms/GLM.dml -- line 161, column 0 -- 
> Variable termination_code defined with different value type in if and else 
> clause.
> BEGIN GLM SCRIPT
> Reading X...
> Reading Y...
> Binomial.logit
> 16/01/29 10:07:25 INFO api.DMLScript: SystemML Statistics:
> Total execution time:         0.111 sec.
> Number of executed MR Jobs:   0.
> 16/01/29 10:07:25 INFO api.DMLScript: END DML run 01/29/2016 10:07:25
> Exception in thread "main" java.lang.NoClassDefFoundError: 
> org/apache/commons/math3/linear/RealMatrix
>       at 
> org.apache.sysml.runtime.instructions.cp.MatrixBuiltinCPInstruction.processInstruction(MatrixBuiltinCPInstruction.java:46)
>       at 
> org.apache.sysml.runtime.controlprogram.ProgramBlock.executeSingleInstruction(ProgramBlock.java:309)
>       at 
> org.apache.sysml.runtime.controlprogram.ProgramBlock.executeInstructions(ProgramBlock.java:227)
>       at 
> org.apache.sysml.runtime.controlprogram.ProgramBlock.execute(ProgramBlock.java:169)
>       at 
> org.apache.sysml.runtime.controlprogram.IfProgramBlock.execute(IfProgramBlock.java:158)
>       at 
> org.apache.sysml.runtime.controlprogram.IfProgramBlock.execute(IfProgramBlock.java:175)
>       at 
> org.apache.sysml.runtime.controlprogram.IfProgramBlock.execute(IfProgramBlock.java:175)
>       at 
> org.apache.sysml.runtime.controlprogram.IfProgramBlock.execute(IfProgramBlock.java:175)
>       at 
> org.apache.sysml.runtime.controlprogram.IfProgramBlock.execute(IfProgramBlock.java:158)
>       at 
> org.apache.sysml.runtime.controlprogram.FunctionProgramBlock.execute(FunctionProgramBlock.java:115)
>       at 
> org.apache.sysml.runtime.instructions.cp.FunctionCallCPInstruction.processInstruction(FunctionCallCPInstruction.java:177)
>       at 
> org.apache.sysml.runtime.controlprogram.ProgramBlock.executeSingleInstruction(ProgramBlock.java:309)
>       at 
> org.apache.sysml.runtime.controlprogram.ProgramBlock.executeInstructions(ProgramBlock.java:227)
>       at 
> org.apache.sysml.runtime.controlprogram.ProgramBlock.execute(ProgramBlock.java:169)
>       at 
> org.apache.sysml.runtime.controlprogram.IfProgramBlock.execute(IfProgramBlock.java:158)
>       at 
> org.apache.sysml.runtime.controlprogram.Program.execute(Program.java:146)
>       at org.apache.sysml.api.DMLScript.execute(DMLScript.java:676)
>       at org.apache.sysml.api.DMLScript.executeScript(DMLScript.java:338)
>       at org.apache.sysml.api.DMLScript.main(DMLScript.java:197)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:597)
>       at org.apache.hadoop.util.RunJar.main(RunJar.java:208)
> Caused by: java.lang.ClassNotFoundException: 
> org.apache.commons.math3.linear.RealMatrix
>       at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
>       at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
>       at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
>       ... 24 more
> {code}
> *Hadoop version*
> {code}
> 2.0.0-cdh4.2.1, 144bd548d481c2774fab2bec2ac2645d190f705b
> {code}
> *Changes in {{pom.xml}} that Fixed the Problem*
> Line 773 - 778
> Before:
> {code:xml}
> <dependency>
>             <groupId>org.apache.commons</groupId>
>             <artifactId>commons-math3</artifactId>
>             <version>3.1.1</version>
>             <scope>provided</scope>
>  </dependency>
> {code}
> After:
> {code:xml}
> <dependency>
>             <groupId>org.apache.commons</groupId>
>             <artifactId>commons-math3</artifactId>
>             <version>3.1.1</version>
>             <scope>compile</scope>
>  </dependency>
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to