Zeppelin hbase 解释器安装无法解决依赖关系
Posted
技术标签:
【中文标题】Zeppelin hbase 解释器安装无法解决依赖关系【英文标题】:Zeppelin hbase interpreter installation fails to resolve dependencies 【发布时间】:2021-04-07 00:51:12 【问题描述】:我正在尝试在集群上安装 hbase 1.1.4 的 zeppelin 解释器。
我尝试了hbase的基本解释器安装命令:
/usr/hdp/current/zeppelin-server/bin/install-interpreter.sh --name hbase
我收到了这个错误信息:
[root@zeppelinHost/]# /usr/hdp/current/zeppelin-server/bin/install-interpreter.sh --name hbase
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/hdp/2.6.2.0-205/zeppelin/lib/interpreter/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/hdp/2.6.2.0-205/zeppelin/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
Install hbase(org.apache.zeppelin:zeppelin-hbase:0.7.0) to /usr/hdp/current/zeppelin-server/interpreter/hbase ...
org.sonatype.aether.RepositoryException: Cannot fetch dependencies for org.apache.zeppelin:zeppelin-hbase:0.7.0
at org.apache.zeppelin.dep.DependencyResolver.getArtifactsWithDep(DependencyResolver.java:181)
at org.apache.zeppelin.dep.DependencyResolver.loadFromMvn(DependencyResolver.java:131)
at org.apache.zeppelin.dep.DependencyResolver.load(DependencyResolver.java:79)
at org.apache.zeppelin.dep.DependencyResolver.load(DependencyResolver.java:96)
at org.apache.zeppelin.dep.DependencyResolver.load(DependencyResolver.java:88)
at org.apache.zeppelin.interpreter.install.InstallInterpreter.install(InstallInterpreter.java:172)
at org.apache.zeppelin.interpreter.install.InstallInterpreter.install(InstallInterpreter.java:136)
at org.apache.zeppelin.interpreter.install.InstallInterpreter.install(InstallInterpreter.java:128)
at org.apache.zeppelin.interpreter.install.InstallInterpreter.main(InstallInterpreter.java:280)
我正在尝试了解导致依赖项解析失败的原因。
请注意,集群位于公司代理之后。
根据docs:
默认情况下,Zeppelin 是针对 HBase 1.0.x 版本构建的。去工作 对于 HBase 1.1.x 版本,使用以下构建命令:
mvn clean package -DskipTests -Phadoop-2.6 -Dhadoop.version=2.6.0 -P build-distr -Dhbase.hbase.version=1.1.4 -Dhbase.hadoop.version=2.6.0
因此,运行此mvn clean package + options
可能会解决问题,但我有几个问题。
mvn clean package + options
命令是否打算直接在集群上的 Zeppelin 主机上运行?如果是:
mvn clean package + options
没有按预期工作,是否可以备份我当前的 zeppelin 安装和配置以回滚
依赖解析失败是否与此无关?是否可能是由于公司代理?
还有别的吗?
【问题讨论】:
【参考方案1】:我的预感是由于Issue documented here,解释器下载失败。 Zeppelin 默认使用 http(已弃用)而不是 https 来访问 Sonatype 存储库。看起来Zeppelin ticket to fix this 仍然打开。
简而言之,解决方法是将此行添加到 zeppelin-env.sh。
export ZEPPELIN_INTERPRETER_DEP_MVNREPO="https://repo1.maven.org/maven2"
你的解释器安装应该可以工作了:)
【讨论】:
以上是关于Zeppelin hbase 解释器安装无法解决依赖关系的主要内容,如果未能解决你的问题,请参考以下文章
Apache Zeppelin 如何可视化来自 Hbase 的数据?