Я создал кластер Spark в EMR, используя следующую команду:
aws emr create-cluster \
--name "2-node Zeppelin cluster (turn me off after use)" \
--instance-type m3.xlarge \
--release-label emr-4.2.0 \
--instance-count 2 \
--log-uri s3://redacted/logs \
--ec2-attributes KeyName=redacted \
--use-default-roles \
--applications Name=Spark Name=Zeppelin-Sandbox\
--configurations file://aws-emr/configs/spark.json \
--no-auto-terminate
Это дало мне 2-узловой кластер Spark (v 1.5.2) на EMR с пользовательским интерфейсом Apache Zeppelin (v 0.5.5).
Однако при попытке загрузить зависимость от Maven в ZeppelinContext с помощью z.load()
(сразу после вращения кластера — я ничего не делал между ними) согласно документам Я получил исключение нулевого указателя Java, по-видимому, из-за какой-то ошибки Sonatype Repo:
Я просмотрел несколько ссылок, пытаясь понять, в чем может быть проблема, но не смог решить проблему.
Я запускаю Yarn, и у меня есть другое, не связанное с этим приложение Spark (Spark Streaming), которое также работает на Yarn.
Я также пытался позвонить
z.reset()
до этого, но безрезультатно. На самом деле, он даже выдал ошибку:error: value reset is not a member of org.apache.zeppelin.spark.ZeppelinContext
Я отследил файл и строку, упомянутые в сообщении об ошибке, и оказалось, что это эту строку, которая выглядит так:
ArtifactRequestBuilder builder = new ArtifactRequestBuilder( trace ); DependencyFilter filter = request.getFilter(); DependencyVisitor visitor = ( filter != null ) ? new FilteringDependencyVisitor( builder, filter ) : builder; visitor = new TreeDependencyVisitor( visitor ); result.getRoot().accept( visitor ); //<<<<------- THIS
Кто-нибудь прошел через это и/или у него есть какая-либо информация, которая могла бы мне помочь?