Zeppelin-0.9.0-preview1在同配置Ubuntu16系统无法启动求助
解决Zeppelin-0.9.0-preview1在Ubuntu 16启动失败的问题
我帮你梳理下问题的核心原因和对应的解决步骤,都是实操性的方案:
核心致命错误:Jetty版本冲突
你日志里的java.lang.NoSuchMethodError: org.eclipse.jetty.util.thread.QueuedThreadPool.<init>(III)V是导致启动失败的关键——这说明你的环境里存在不兼容的Jetty版本。从日志能看到你本地部署了Hive(apache-hive-2.3.7-bin),Hive依赖的旧版Jetty和Zeppelin-0.9.0-preview1需要的Jetty版本不一致,类加载时旧版本的Jetty类覆盖了Zeppelin自带的,导致方法找不到。
解决办法:优先加载Zeppelin自身的Jetty依赖
- 进入Zeppelin的
conf目录,复制并修改环境配置文件:cp zeppelin-env.sh.template zeppelin-env.sh - 编辑
zeppelin-env.sh,添加类路径优先级配置,让Zeppelin先加载自己lib目录下的jar包:export ZEPPELIN_CLASSPATH="/data/software/zeppelin-0.9.0-preview1-bin-all/lib/*:$ZEPPELIN_CLASSPATH" - 保存后重新启动Zeppelin即可。
如果不需要Zeppelin连接Hive,也可以临时移除Hive lib目录在系统CLASSPATH中的引用,再启动Zeppelin。
次要问题:SLF4J多绑定冲突
日志里的SLF4J绑定警告(同时找到log4j-slf4j-impl和slf4j-log4j12)虽然不影响启动,但会导致日志输出异常,解决方式:
- 二选一删除冲突的jar包:如果想保留Zeppelin的日志配置,就删除Hive lib目录下的
log4j-slf4j-impl-2.6.2.jar;如果想统一用Hive的日志配置,就删除Zeppelin lib目录下的slf4j-log4j12-1.7.10.jar。 - 操作前记得备份原jar包,避免影响其他程序。
配置加载失败警告处理
日志里的加载配置失败,将使用默认配置继续是因为conf目录下没有正式的配置文件:
- 复制模板文件生成正式配置:
cp zeppelin-site.xml.template zeppelin-site.xml - 如果不需要自定义配置,默认配置也能正常运行,这个警告可以忽略。
额外提示:MaxPermSize警告消除
Java 8已经移除了PermGen区域,Zeppelin启动配置里的MaxPermSize=512m参数已经无效,你可以编辑zeppelin-env.sh,找到MAX_PERM_SIZE相关配置行,注释或删除它,就能消除这个警告。
按照上述步骤处理后,重新启动Zeppelin应该就能正常运行了。
内容的提问来源于stack exchange,提问作者user1228785
相关产品推荐
相关产品推荐

