我有一个虚拟机,其中安装了独立模式的spark-2.0.0-bin-hadoop2.7.
我跑去./sbin/start-all.sh跑主人和奴隶.
当我./bin/spark-shell --master spark://192.168.43.27:7077 --driver-memory 600m --executor-memory 600m --executor-cores 1在机器本身执行任务的状态时RUNNING,我能够在spark shell中计算代码.
当我从网络中的另一台机器执行完全相同的命令时,状态再次为"RUNNING",但是spark-shell抛出WARN TaskSchedulerImpl: Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient resources.我想问题与资源没有直接关系,因为相同的命令在虚拟机本身中起作用,但在来自其他机器时却不起作用.
我查看了与此错误相关的大多数主题,但没有一个解决了我的问题.我甚至禁用防火墙sudo ufw disable只是为了确保但没有成功(基于此链接),这表明:
在客户端上禁用防火墙:这是适用于我的解决方案.由于我正在研究原型内部代码,因此我在客户端节点上禁用了防火墙.出于某种原因,工作节点无法为我回复客户端.出于生产目的,您可能需要打开一定数量的端口.