1

我们正在努力在 spark 集群上启动 spark-jobserver。

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

我已经将我们的local.confand上传local.sh到了 pastebin -

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

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

然后我们从 spark 根文件夹启动我们的集群 master 和 worker 运行以下命令

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

检查 localhost:8080 它似乎工作正常。

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

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

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

然后我们收到以下错误

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

我们已尝试通过在其中包含依赖项 jar 来修复此错误local.conf

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

这给出了同样的错误。

我们还尝试在我们的 job-server-extras 中包含整个 spark-cassandra-connector src 文件夹,这File line length exceeds 110 characters在运行时几乎每个文件都会出现错误./server_deploy.sh local

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

4

1 回答 1

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

于 2016-05-13T17:12:07.897 回答