【发布时间】:2015-04-22 06:26:21
【问题描述】:
我有一个 Spark 集群正在运行
spark://host1:7077
spark://host2:7077
spark://host3:7077
并通过/bin/spark-shell --master spark://host1:7077 连接
尝试读取文件时:
val textFile = sc.textFile("README.md")
textFile.count()
提示说
WARN TaskSchedulerImpl: Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient resources
当通过host1:8080 上的 Web ui 检查时,它显示:
Workers: 0
Cores: 0 Total, 0 Used
Memory: 0.0 B Total, 0.0 B Used
Applications: 0 Running, 2 Completed
Drivers: 0 Running, 0 Completed
Status: ALIVE
我的问题是在 spark-shell 集群模式下运行时如何指定内核和内存?或者我必须通过将我的 scala 代码打包到 .jar 文件中然后将作业提交给 spark 来运行?
谢谢
【问题讨论】:
-
你试过了吗:
/bin/spark-shell --master yarn-cluster --driver-memory 7g --executor-memory 7g? -
@ipoteka 我已经尝试过你的建议。没什么区别。在交互模式下似乎无法配置内存
-
听起来你没有在你的主人那里注册任何工人。您的 master 和 spark-shell master 设置也有上面列出的不同 URL,但这可能是一个错字。
-
@Paul 我的问题确实是因为工人没有注册。工人未注册的原因是因为配置错误的
conf/slaves和conf/spark-default.conf。谢谢你的建议!
标签: scala apache-spark