【解决办法】可能原因如下:
(1) 所应用的Spark集群没有可用的Spark Worker节点。
解决方法:检查Spark集群的状态,查看是否有可用的Spark Worker节点加入。
(2) 启动Spark Worker所需要的端口被占用。
解决方法:设置环境变量export SPARK_WORKER_WEBUI_PORT={port}(即可用的Spark Worker端口)
(3) 多网卡的情况下,启动的Spark Worker端口无法被绑定到启动Spark Worker所在机器的任意IP上。
解决方法:设置环境变量export SPARK_LOCAL_IP=0.0.0.0。
(4) 所应用的Spark集群无法通过机器名对应到正确的IP,以至于找不到Spark Worker节点。
解决方法:Linux平台,/etc/hosts文件中主机名对应的IP错误,将其修改正确即可。
(5) Spark集群的内存或者cpu资源不足。
解决方法:您可以按照以下要求对【SuperMap iServer安装目录】/support/spark/conf/spark-defaults.conf文件中内存和核数进行配置。
spark.cores.max //spark集群应用的总核数 不小于2
spark.executor.cores //spark集群应用的总核数 不小于1
spark.executor.memory //spark集群应用的内存 不小于1g