1

I've installed Cloudera Manager in a three-machine cluster. While I added CDH5 services (including Hive,Spark,Yarn...) to cluster, it then failed with "ArithmeticException: / by zero".


version: Cloudera Enterprise Data Hub Edition trail 5.4.5 (#5 built by jenkins on 20150728-0320 git: ...)
org.drools.runtime.rule.ConsequenceException:Exception executing consequence for rule "Compute hiveserver2_spark_executor_cores" in com.cloudera.cmf.rules: org.drools.RuntimeDroolsException: java.lang.ArithmeticException: / by zero
at DefaultConsequenceExceptionHandler.java line 39
in org.drools.runtime.rule.impl.DefaultConsequenceExceptionHandler handleException()

Last caused-by is:

Caused by: java.lang.ArithmeticException:/ by zero
at ComputationFunctions.java line 278
in com.cloudera.cmf.rules.ComputationFunctions calculateHiveSparkExecutorMemoryTotal()

1. ComputationFunctions.java line 278
in com.cloudera.cmf.rules.ComputationFunctions calculateHiveSparkExecutorMemoryTotal()
2. Rule_Compute_HiveServer2_executor_and_driver_memory_and_overehead_25364fb53f7d4bf08ec8a11bca01bcf8.java line 16
in com.cloudera.cmf.rules.Rule_Compute_HiveServer2_executor_and_driver_memory_and_overehead_25364fb53f7d4bf08ec8a11bca01bcf8 accumulateExpression1()
3. Rule_Compute_HiveServer2_executor_and_driver_memory_and_overehead_25364fb53f7d4bf08ec8a11bca01bcf8AccumulateExpression1Invoker.java line 31
in com.cloudera.cmf.rules.Rule_Compute_HiveServer2_executor_and_driver_memory_and_overehead_25364fb53f7d4bf08ec8a11bca01bcf8AccumulateExpression1Invoker evaluate()
4. JavaAccumulatorFunctionExecutor.java line 107
in org.drools.base.accumulators.JavaAccumulatorFunctionExecutor accumulate()
5. Accumulate.java line 173
in org.drools.rule.Accumulate accumulate()
......

Anybody help? Or tells me where these compiled class such as "Rule_Compute_HiveServer2_executor_and_driver_memory_and_overehead_25364fb53f7d4bf08ec8a11bca01bcf8.java" is placed. I attempt to replace this class with more debug message.

Many thanks,

Joson_prog
  • 11
  • 3
  • Is there a rule called "Compute HiveServer2 executor and driver memory and overehead"? If so, we need to inspect it. – laune Sep 09 '15 at 15:01
  • Yep. This rule is declared in HiveOnSpark.drl under package com.cloudera.cmf.rules, packaged in server-5.4.5.jar. I'd edited it to insert some logging, and then replaced the new jar file under /usr/share/cmf/lib/, but it seemed not to work. I think the rule performance is still "cached" in Rule_Compute_HiveServer2....java. But I can't find this class anywhere, whatever it's .java or .class, even in any .jar files. – Joson_prog Sep 10 '15 at 02:15
  • any luck fixing this error ? – Alireza Soori Sep 27 '15 at 10:10

0 Answers0