我在计算文件行时遇到异常: 实际上,如果我在本地模式下执行shell,代码工作正常: 但是如果我们尝试使用Yarn-client模式的shell - 下面的异常堆栈将返回。 我已经针对同样的问题进行了一些调查。有人建议它有不同的JVM兼容性问题。这可能是真的,因为在其他环境中使用JDK6它在本地和Yarn-Client模式下都是完美的。在另一个环境中使用JDK7。在纱线客户端模式下运行时遇到问题:
java.io.InvalidClassException: scala.reflect.ClassTag$$anon$1; local class incompatible: stream classdesc serialVersionUID = -4937928798201944954, local class serialVersionUID = -8102093212602380348
FYI JAVA - :环境面临问题
java -version
java version "1.7.0"
Java(TM) SE Runtime Environment (build pxa6470_27sr2fp10-20141218_02(SR2 FP10))
IBM J9 VM (build 2.7, JRE 1.7.0 Linux amd64-64 Compressed References 20141215_227395 (JIT enabled, AOT enabled)
J9VM - R27_Java727_SR2_20141215_1631_B227395
JIT - tr.r13.java_20141003_74587.07
GC - R27_Java727_SR2_20141215_1631_B227395_CMPRSS
J9CL - 20141215_227395)
JCL - 20141217_01 based on Oracle jdk7u75-b12
在另一个旧环境中:它运行良好
java -version
java version "1.6.0_91"
Java(TM) SE Runtime Environment (build 1.6.0_91-b31)
Java HotSpot(TM) 64-Bit Server VM (build 20.91-b07, mixed mode
从这里开始,我已将代码移至新环境:如果我们怀疑它是版本不兼容的问题,那么它也不应该在本地模式下工作。请澄清我的问题:
答案 0 :(得分:1)
我将JAVA_HOME设置为1.8后修复了它 导出JAVA_HOME = / usr / lib / jvm / jre-1.8.0-openjdk-1.8.0.31-1.b13.el6_6.x86_64 / export PATH = $ JAVA_HOME / bin:$ PATH
答案 1 :(得分:1)
我也遇到了同样的问题,我的集群使用RHEL和jre-1.7.1-ibm.x86_64。
花了好几个小时后,我发现问题的原因来自JVM
我能够通过从jre-1.7.1-ibm.x86_64更改jvm来解决这个问题
to java-1.8.0-openjdk-1.8.0.25-3.b17.el6_6.x86_64。