apache-spark - Spark Standalone:应用程序获得 0 个内核
问题描述
我似乎无法将核心分配给应用程序。这会导致以下(显然很常见)错误消息:
Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient resources
我在 Spark 集群中有一个主服务器和两个从服务器。都是 8 核 i7s 和 16GB 内存。
我spark-env.sh
在这三个上都保留了几乎处女,只是指定了主服务器的 IP 地址。
我spark-submit
的如下:
nohup ./bin/spark-submit
--jars ./ikoda/extrajars/ikoda_assembled_ml_nlp.jar,./ikoda/extrajars/stanford-corenlp-3.8.0.jar,./ikoda/extrajars/stanford-parser-3.8.0.jar \
--packages datastax:spark-cassandra-connector:2.0.1-s_2.11 \
--class ikoda.mlserver.Application \
--conf spark.cassandra.connection.host=192.168.0.33 \
--conf spark.cores.max=4 \
--driver-memory 4g –num-executors 2 --executor-memory 2g --executor-cores 2 \
--master spark://192.168.0.141:7077 ./ikoda/ikodaanalysis-mlserver-0.1.0.jar 1000 > ./logs/nohup.out &
我怀疑我将代码中的 sparkConf 初始化与spark-submit
. 我需要这个,因为应用程序涉及SparkStreaming
可能需要重新初始化SparkContext
.
sparkConf 设置如下:
val conf = new SparkConf().setMaster(s"spark://$sparkmaster:7077").setAppName("MLPCURLModelGenerationDataStream")
conf.set("spark.streaming.stopGracefullyOnShutdown", "true")
conf.set("spark.cassandra.connection.host", sparkcassandraconnectionhost)
conf.set("spark.driver.maxResultSize", sparkdrivermaxResultSize)
conf.set("spark.network.timeout", sparknetworktimeout)
conf.set("spark.jars.packages", "datastax:spark-cassandra-connector:"+datastaxpackageversion)
conf.set("spark.cores.max", sparkcoresmax)
Spark UI 显示以下内容:
解决方案
好的,这绝对是程序员错误的情况。
但也许其他人也会犯类似的错误。Master之前曾被用作本地Spark。我在 spark-defaults.conf 中放置了一些执行程序设置,然后几个月后就忘记了这一点。
有一个级联层次结构,其中 SparkConf 设置优先,然后是 spark-submit 设置,然后是 spark-defaults.conf。spark-defaults.conf 覆盖 Apache Spark 团队设置的默认值
一旦我从 spark-defaults 中删除了设置,一切都已修复。
推荐阅读
- arrays - 在 Ruby 中引用数组索引
- c# - 如何从 couchbase lite dot net 获取所有文档
- html - CSS Table 在固定位置的 div 内丢失宽度
- python - 使用while循环的元素总和
- python - 我的 ping 扫描程序不工作。我究竟做错了什么?
- python - 更新成本函数和 Theta 参数时的简单线性回归误差
- amazon-web-services - 在带有 CNAME 的 Amazon S3 存储桶上使用 SSL
- jackson - 为什么将时间序列化为时间戳而不是 ISO-8601?
- reactjs - 在 React 中更改类型文件的不受控制的输入
- python-3.5 - 在python中将两个十六进制数字连接成字符串