Цеппелин не загружает банку Maven - PullRequest
2 голосов
/ 31 января 2020

Apache Zeppelin Версия 0.7.1

%dep
z.reset() // clean up previously added artifact and repository

// add maven repository
z.addRepo("Spark Cassandra Connector 2.0.10").url("https://mvnrepository.com/artifact/com.datastax.spark/spark-cassandra-connector")

// add artifact recursively
// z.load("groupId:artifactId:version")
z.load("com.datastax.spark:spark-cassandra-connector_2.11:2.0.10") 

java.lang.NullPointerException
    at org.sonatype.aether.impl.internal.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:352)
    at org.apache.zeppelin.spark.dep.SparkDependencyContext.fetchArtifactWithDep(SparkDependencyContext.java:171)
    at org.apache.zeppelin.spark.dep.SparkDependencyContext.fetch(SparkDependencyContext.java:121)
    at org.apache.zeppelin.spark.DepInterpreter.interpret(DepInterpreter.java:245)
    at org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:95)
    at org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:490)
    at org.apache.zeppelin.scheduler.Job.run(Job.java:175)
    at org.apache.zeppelin.scheduler.FIFOScheduler$1.run(FIFOScheduler.java:139)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

Следующее, похоже, не поможет:

  1. apache импорт дополнительного репозитория zeppelin
  2. В https://zeppelin.apache.org/docs/0.7.1/interpreter/spark.html приведен пример установки zeppelin.dep.additionalRemoteRepository в http://dl.bintray.com/spark-packages/maven, но в этом репо нет нужной мне версии jar.
  3. https://zeppelin.apache.org/docs/0.7.1/interpreter/spark.html#3 -dynami c -dependency-loading-via-sparkdep-интерпретатор
  4. Zeppelin dynamici c загрузка зависимостей завершается неудачно на os-maven-plugin

Теперь я получаю

%dep
z.load("com.datastax.spark:spark-cassandra-connector_2.11:2.0.10")

org.sonatype.aether.resolution.DependencyResolutionException: Could not find artifact com.datastax.spark:spark-cassandra-connector_2.11:jar:2.0.10 in central (https://repo1.maven.org/maven2/)

1 Ответ

2 голосов
/ 06 марта 2020

Мне нужно обновить URL репозиции maven с http до https в zeppelin-env.sh

export ZEPPELIN_INTERPRETER_DEP_MVNREPO="https://repo1.maven.org/maven2/"

Существуют и другие не-общие c изменения, специфицирующие c для нашей сборки система (конвейер Дженкинса)

Если у вас есть контроль над сервером, было бы гораздо проще просто загрузить нужный JAR-файл (то есть "groupArtifactVersion": "com.datastax.spark:spark-cassandra-connector_2.11:2.0.10",), а затем загрузить зависимость с диска, например:

%dep
z.load("/opt/zeppelin/spark-cassandra-connector-assembly/spark-cassandra-connector-assembly.jar")
...