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 主机上运行?如果是:

可能的后果是什么?我当前的 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 的数据?

Zeppelin0.7.2结合hive解释器进行报表展示

无法访问 Zeppelin 中的解释器设置

Zeppelin(0.10.1版本)安装及创建hive解释器

如何在 Zeppelin 中使用 Plotly

数据分析 - Zeppelin