问题标签 [spark-jobserver]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
apache-spark - 独立集群中的 Spark Job-Server 配置
我正在尝试设置 Spark JobServer (SJS) 以在独立 Spark 集群上执行作业。我正在尝试在 SPARK 集群的非主节点之一上部署 SJS。我没有使用 docker,而是尝试手动操作。
我对 SJS github 中的帮助文档特别是部署部分感到困惑。我是否需要同时编辑 local.conf 和 local.sh 才能运行它?
有人可以指出在火花集群中设置 SJS 的步骤吗?
谢谢!基兰
更新: 我创建了一个新环境来在集群的一个节点中部署作业服务器:以下是它的详细信息:
环境1.sh:
env1.conf
scala - spark-jobserver 集群上的上下文错误
我们正在努力在 spark 集群上启动 spark-jobserver。
要部署服务器,我们遵循 github.com/spark-jobserver/spark-jobserver#deployment 上的文档。我们通过运行部署./server_deploy.sh local
。
我已经将我们的local.conf
and上传local.sh
到了 pastebin -
local.conf - http://pastebin.com/DWJEuX11
local.sh - http://pastebin.com/S2hjXb8J
然后我们从 spark 根文件夹启动我们的集群 master 和 worker 运行以下命令
检查 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/CassandraSQLContext。 scala) 通过运行
然后我们收到以下错误
我们已尝试通过在其中包含依赖项 jar 来修复此错误local.conf
这给出了同样的错误。
我们还尝试在我们的 job-server-extras 中包含整个 spark-cassandra-connector src 文件夹,这File line length exceeds 110 characters
在运行时几乎每个文件都会出现错误./server_deploy.sh local
。
我们将不胜感激任何可能的帮助。
caching - 如何使已完成的 Spark 作业中的缓存仍然可供其他作业访问?
我的项目是为用户实现交互查询以发现该数据。就像我们有一个列列表,用户可以选择然后用户添加到列表并按查看数据。Cassandra 中的当前数据存储,我们使用 Spark SQL 从中查询。
数据流是我们有一个原始日志,经过 Spark 存储处理到 Cassandra 中。数据是具有 20 多列和 4 个指标的时间序列。目前我进行了测试,因为集群键中有 20 多个维度,所以写入 Cassandra 非常慢。
这里的想法是将所有数据从 Cassandra 加载到 Spark 中并将其缓存在内存中。向客户端提供 API 并在 Spark Cache 上运行查询。但我不知道如何保持缓存的数据持续存在。我尝试使用他们有功能调用共享对象的 spark-job-server 。但不确定它是否有效。
我们可以提供一个具有 40 多个 CPU 内核和 100 GB RAM 的集群。我们估计要查询的数据约为 100 GB。
我已经尝试过的:
- 尝试存储在Alluxio中并从中加载到Spark,但加载时间很慢,因为当它加载4GB数据时,Spark首先需要做2件事从Alluxio读取需要1分钟以上然后存储到磁盘(Spark Shuffle)成本超过 2 或 3 分钟。这意味着超过我们设定的 1 分钟以内的时间。我们在 8 个 CPU 内核中测试了 1 个作业。
- 尝试存储在 MemSQL 中,但有点昂贵。1天它花费了2GB RAM。当我们扩展时,不确定速度是否保持良好。
- 尝试使用 Cassandra,但 Cassandra 不支持 GROUP BY。
所以,我真正想知道的是我的方向是对还是错?我可以改变什么来归档目标(查询像 MySQL 有很多 group by、SUM、ORDER BY)通过 API 返回到客户端。
apache-spark - 火花作业服务器未在集群中的多个节点上启动
我们已经安装了一个 spark-jobserver,它使用 server_start.sh 在 spark 集群上启动,但是无论如何我们都无法让它在多个 worker 上启动。我们可以设法让它在多个内核和更多内存的情况下运行,但不能在多个节点上运行。
我们尝试过的命令如下:
前两个命令启动并显示一名工作人员使用一个内核和 1GB,而第三个显示一名工作人员使用 4 个内核和 7g。第四个命令显示要使用的 6 个内核,但状态为 SUBMITTED。
我们已经通过使用以下命令启动 spark shell 验证了它确实可以在多个工作人员上启动和应用程序,该命令显示为具有 2 个工作人员和总共 6 个内核的正在运行的驱动程序。
将不胜感激任何帮助。
apache-spark - 在 Spark 独立集群中运行具有多个工作人员的分布式 Spark 作业服务器
我有一个在几台机器上运行的 Spark 独立集群。所有工作人员都使用 2 个内核和 4GB 内存。我可以使用 启动作业服务器./server_start.sh --master spark://ip:7077 --deploy-mode cluster --conf spark.driver.cores=2 --conf spark.driver.memory=4g
,但是每当我尝试启动具有超过 2 个内核的服务器时,驱动程序的状态就会卡在“已提交”,并且没有工作人员接手这项工作。
我尝试在 4 个内核上启动 spark-shell,./spark-shell --master spark://ip:7077 --conf spark.driver.cores=4 --conf spark.driver.memory=4g
并且工作在 2 个工作人员(每个 2 个内核)之间共享。spark-shell 作为应用程序而不是驱动程序启动。
有没有办法在多个工人之间运行驱动程序?或者我可以将作业服务器作为应用程序而不是驱动程序运行吗?
scala - 通过 Spark 作业服务器运行作业
我已经为 Namenode 和 ResourceManager 设置了一个具有 HA 的 3 节点 hadoop 集群。我还在其中一台 NameNode 机器上安装了 Spark Job Server。
我已经测试了正在运行的作业服务器测试示例,例如 WordCount Example 和 LongPi Job,它运行完美,没有问题。我还可以从远程主机发出 curl 命令,通过 Spark Job Server 读出结果。
但是,当我将“spark-examples-1.6.0-hadoop2.6.0.jar”上传到 spark-job-server/jars 并尝试运行 SparkPi 作业时,它失败了,
我还尝试手动将SparkPi.scala作业放在/usr/local/hadoop/spark-jobserver/job-server-tests/src/spark.jobserver下并使用 SBT 构建包,但它抛出了同样的错误。
版本信息
有关如何摆脱此错误并从 spark-examples jar 文件中获取输出的任何建议
apache-spark - 每小时在 Spark 作业服务器中安排自动 Spark 作业
在DataStax Enterprise Edition 4.8中,Spark Jobserver 0.5.2 已针对支持的 Apache Spark 1.4.1.1 版本进行了专门编译。Spark 作业将从 Cassandra 读取数据并将汇总数据写入同一 Keyspace 中的另一个表中。
Spark Job 服务器中是否有任何功能可以安排作业在每小时后自动运行?
apache-spark - Spark作业无法从mesos集群获取资源
我正在使用 Spark Job Server (SJS) 创建上下文并提交作业。
我的集群包括 4 台服务器。
但只有 master1 有公共 ip。
首先我为master1、master3和master3设置了zookeeper,zookeeper-id从1到3。我打算用master1、master2、master3作为集群的master。这意味着quorum=2
我设置了 3 个大师。zk 连接是zk://master1:2181,master2:2181,master3:2181/mesos
每台服务器我也启动 mesos-slave 所以我有 4 个从属和 3 个主控。
如您所见,所有从站都已连接。但有趣的是,当我创建一个运行它的作业时,它无法获取资源。
从日志中我看到它正在继续拒绝报价。这是来自主人的日志。
对于我的一个奴隶,我检查
来自 SJS 日志
在 master2 日志中
来自master3:
如何找到问题的原因并解决它?
apache-spark - 将 Sparksql 和 SparkCSV 与 SparkJob 服务器一起使用
我正在尝试 JAR 一个简单的 scala 应用程序,该应用程序利用 SparlCSV 和 spark sql 创建存储在 HDFS 中的 CSV 文件的数据框,然后只需进行一个简单的查询即可返回 CSV 文件中特定列的 Max 和 Min。
当我使用 sbt 命令创建 JAR 时出现错误,稍后我将 curl 到 jobserver /jars 文件夹并从远程机器执行
代码:
错误:
我猜主要问题是它缺少 sparkCSV 和 sparkSQL 的依赖项,但我不知道在使用 sbt 编译代码之前将依赖项放在哪里。
我发出以下命令来打包应用程序,源代码放在“ ashesh_jobs ”目录下
我希望有人能帮我解决这个问题。你能指定我可以指定依赖项和输入格式的文件吗
apache-spark - 一个 jar 文件中的许多 spark 作业
我正在使用 Spark 作业服务器来处理作业管理。我需要创造 10 个工作,例如。我可以为它创建 10 个单独的罐子,然后用下一个方法调用它:
或者我只能创建一个包含 10 个作业类的 jar:
哪种变体更可取,为什么?