Zeppelin hbase 解释器安装无法解决依赖关系

问题描述

我正在尝试在集群上为 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 安装和配置以回滚到
  • 依赖解析失败与此无关吗?可能是因为公司代理吗?

  • 还有别的吗?

解决方法

我的预感是,由于 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"

你的解释器安装应该可以工作:)