apache-spark - 运行集群模式火花作业时如何修复“连接被拒绝错误”
问题描述
我在使用 SLURM 作业管理系统的 uni 集群上运行带有 spark 的 terasort 基准测试。当我使用 --master local[8] 时它工作正常,但是当我将主节点设置为我的当前节点时,我收到连接被拒绝错误。
我运行此命令在本地启动应用程序没有问题:
> spark-submit \
--class com.github.ehiggs.spark.terasort.TeraGen \
--master local[8] \
target/spark-terasort-1.1-SNAPSHOT-jar-with-dependencies.jar 1g \
data/terasort_in
当我使用集群模式时,出现以下错误:
> spark-submit \
--class com.github.ehiggs.spark.terasort.TeraGen \
--master spark://iris-055:7077 \ #name of the cluster-node in use
--deploy-mode cluster \
--executor-memory 20G \
--total-executor-cores 24 \
target/spark-terasort-1.1-SNAPSHOT-jar-with-dependencies.jar 5g \
data/terasort_in
输出:
WARN NativeCodeLoader:62 - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Exception in thread "main" org.apache.spark.SparkException: Exception thrown in awaitResult:
at
org.apache.spark.util.ThreadUtils$.awaitResult(ThreadUtils.scala:226)
at
.
.
./*many lines of timeout logs etc.*/
.
.
.
Caused by: java.net.ConnectException: Connection refused
... 11 more
我希望该命令能够顺利运行并终止,但我无法克服此连接错误。
解决方案
问题可能是没有定义 --conf 变量。这可以解决:
spark-submit \
--class com.github.ehiggs.spark.terasort.TeraGen \
--master spark://iris-055:7077 \
--conf spark.driver.memory=4g \
--conf spark.executor.memory=20g \
--executor-memory 20g \
--total-executor-cores 24 \
target/spark-terasort-1.1-SNAPSHOT-jar-with-dependencies.jar 5g \
data/terasort_in
推荐阅读
- jquery - 如何在 jquery 中使用动态规则验证
- java - 代码部署到服务器后无法访问本地网络摄像头
- android - 如何在不建立网站的情况下生成链接并导航到应用程序
- dart - 使用“webdev build”时如何启用源映射生成?
- vue.js - 如何使用nuxt js中的所有页面制作压缩的js文件
- python - 对于类的两个不同实例,内存中的相同列表地址
- python - 抓取 Div 类 HTML 时如何在 For 循环中嵌套 If 语句
- php - 即使使用“代理授权:基本”,PHP 也无法使用代理进行身份验证
- mysql - 我有可能找到一行包含一个字符串吗?假设我不知道哪些列包含字符串
- php - in_array 的选项值不起作用