2016-05-13 29 views
1

我们正在开发Spark集群上的spark-jobserver。spark-jobserver集群上的上下文错误

要部署服务器,请遵循github.com/spark-jobserver/spark-jobserver#deployment上的文档。我们通过运行./server_deploy.sh local进行部署。

我已经上传了local.conflocal.sh到引擎收录 -

的local.conf - http://pastebin.com/DWJEuX11

local.sh - http://pastebin.com/S2hjXb8J

然后我们推出了我们的集群主设备和工人从运行以下命令火花根文件夹

./sbin/master-start.sh 
./bin/spark-class org.apache.spark.deploy.worker.Worker spark://IP:PORT 

检查本地主机:8 080它似乎工作正常。

然后,我们通过运行./server_start.sh --master spark://IP:PORT --deploy-mode cluster来启动服务器,再次检查localhost:8080,我们可以看到服务器已启动并在worker上的一个内核上运行。检查localhost:8090我们可以看到spark-jobserver也启动并运行。

然后,我们创建一个自定义上下文,其中包含CassandraSQLContext(github.com/datastax/spark-cassandra-connector/blob/master/spark-cassandra-connector/src/main/scala/org/apache/spark/sql/通过运行

curl -d "" 'localhost:8090/contexts/cassandra-context?context-factory=spark.jobserver.context.CassandraContextFactory&num-cpu-cores=4&memory-per-node=512m' 

卡桑德拉/ CassandraSQLContext.scala)然后,我们通过在local.conf

依赖罐子收到以下错误

{ 
    "status": "CONTEXT INIT ERROR", 
    "result": { 
     "errorClass": "java.lang.NoClassDefFoundError", 
     "cause": "org.apache.spark.sql.cassandra.CassandraSQLContext", 
     "stack": ["java.net.URLClassLoader.findClass(URLClassLoader.java:381)"... 
    } 
} 

我们试图解决这个错误

dependent-jar-uris = ["file:///path/to/jar.jar"] 

这给出了同样的错误。

我们还尝试在我们的作业服务器附加程序中包含整个spark-cassandra-connector src文件夹,在运行./server_deploy.sh local时几乎在每个文件上都给出了错误File line length exceeds 110 characters

我们将不胜感激任何帮助。

回答

0

我只是将--packages行添加到用于启动JobServer的spark-submit中。可能是解决这个问题的最简单方法。

  1. https://github.com/spark-jobserver/spark-jobserver/blob/master/bin/server_start.sh
  2. http://spark-packages.org/package/datastax/spark-cassandra-connector

您可以再补充--packages到你的服务器启动脚本ALA

./server_start.sh --packages datastax:spark-cassandra-connector:VersionYouWant

+0

感谢您的回复,但我们管理通过添加缺少的罐子来解决它年。 –