Получил AbstractMethodError при запуске ноутбука Zeppelin - PullRequest
0 голосов
/ 27 сентября 2018

Я установил Zeppelin 0.8 на одном из моих подчиненных Mesos (наш кластер mesos представляет собой кластер 3 master + 5 slaves. Мы используем Apache Marathon, чтобы нормально запустить мою работу с искрой.), И мы получили исключение при запуске одной из свечейработа через Zeppelin.Похоже, что это связано с io.netty не совпадает.

Я проверил все свои толстые фляги работы с искрой, похоже, что они используют Netty 4.1.13 из-за зависимости от плагина Elastic Search.

После исследования я заметил одну вещь: до тех пор, пока я добавляю свой толстый кувшин работы Spark в ядро ​​Spark Zeppelin, эта ошибка будет происходить, даже несмотря на то, что я использую учебник Zeppelin.

Мои двоичные файлы Spark установлены на всех подчиненных устройствах Mesos, и версия 2.1.0.

Если это связано с проблемой Netty, мои задания не должны запускаться при отправке задания с использованием Apache Marathon.Однако, это только терпит неудачу, пробегая Zeppelin.

Кто-нибудь может дать мне подсказку?Заранее спасибо!

INFO [2018-09-27 01:13:41,532] ({Thread-26} Logging.scala[logInfo]:54) - Mesos task 2 is now TASK_RUNNING
ERROR [2018-09-27 01:13:43,778] ({shuffle-server-3-4} TransportRequestHandler.java[operationComplete]:201) - Error sending result RpcResponse{requestId=4631687762231387177, body=NioManagedBuffer{buf=java.nio.HeapByteBuffer[pos=0 lim=47 cap=64]}} to /10.128.96.44:44904; closing connection
java.lang.AbstractMethodError
at io.netty.util.ReferenceCountUtil.touch(ReferenceCountUtil.java:73)
at io.netty.channel.DefaultChannelPipeline.touch(DefaultChannelPipeline.java:107)
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:810)
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:723)
at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:111)
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738)
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:730)
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:816)
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:723)
at io.netty.handler.timeout.IdleStateHandler.write(IdleStateHandler.java:302)
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738)
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:730)
at io.netty.channel.AbstractChannelHandlerContext.access$1900(AbstractChannelHandlerContext.java:38)
at io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.write(AbstractChannelHandlerContext.java:1089)
at io.netty.channel.AbstractChannelHandlerContext$WriteAndFlushTask.write(AbstractChannelHandlerContext.java:1136)
at io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.run(AbstractChannelHandlerContext.java:1078)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:403)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:462)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
at java.lang.Thread.run(Thread.java:748)

И ниже мой конфиг в zeppelin-env.sh.

export JAVA_HOME="/usr/lib/jvm/java-8-oracle"

export MESOS_NATIVE_JAVA_LIBRARY="/usr/lib/libmesos.so"

export MASTER="mesos://zk://10.128.96.35:2181,10.128.96.37:2181,10.128.96.39:2181,10.128.96.41:2181,10.128.96.43:2181/mesos" # Get the master zk string for your environment from RCS.

export ZEPPELIN_JAVA_OPTS="-Dspark.executor.memory=4g -Dspark.cores.max=2"

export ZEPPELIN_MEM="-Xms1024m -Xmx1024m -XX:MaxPermSize=512m"

export ZEPPELIN_INTP_MEM="-Xms1024m -Xmx1024m -XX:MaxPermSize=512m"

export SPARK_HOME="/usr/local/spark"

export SPARK_SUBMIT_OPTIONS="--driver-memory 1G --executor-memory 4G"

export SPARK_APP_NAME="Zeppelin"

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

Некоторые коды, подобные приведенным ниже в моем build.sbt, решают проблему.

assemblyExcludedJars in assembly := {
  val cp = (fullClasspath in assembly).value
  cp filter { entry =>
        entry.data.getName == "netty-all-4.1.10.Final.jar" ||
        entry.data.getName == "netty-buffer-4.1.13.Final.jar" ||
        entry.data.getName == "netty-codec-4.1.13.Final.jar" ||
        entry.data.getName == "netty-codec-http-4.1.13.Final.jar" ||
        entry.data.getName == "netty-common-4.1.13.Final.jar" ||
        entry.data.getName == "netty-handler-4.1.13.Final.jar" ||
        entry.data.getName == "netty-resolver-4.1.13.Final.jar"  ||
        entry.data.getName == "netty-transport-4.1.13.Final.jar" }
}
0 голосов
/ 27 сентября 2018

Похоже, у вас есть netty 4.0.x и 4.1.x на пути к классам.Вы должны иметь только 4.1.x

...