好的,所以与Hortonworks社区的一些人合作,我能够提出一个解决方案。基本上,您需要至少定义一个端口,但您可以通过指定spark.port.MaxRetries = xxxxx来扩展它。通过将此设置与spark.driver.port = xxxxx组合,您可以从spark.driver.port开始并以spark.port.maxRetries结束。
如果您使用Ambari作为您的经理,设置在“自定义spark2-defaults”部分下(我假设在完全开源堆栈安装下,这只是普通Spark配置下的设置):
我被建议将这些端口分开32个计数块,例如,如果你的驱动程序从40000开始,你应该在40033等处启动spark.blockManager.port。请看以下文章:
https://community.hortonworks.com/questions/141484/spark-jobs-failing-firewall-issue.html