【问题标题】:Cannot connect to spark cluster on intellij but spark-submit can无法连接到 intellij 上的 spark 集群,但 spark-submit 可以
【发布时间】:2020-12-12 15:32:45
【问题描述】:

如果我使用这样的 spark-submmit 命令,我的 spark 集群包括 4 个工作正常的工作人员:

spark-submit --class org.apache.spark.examples.SparkPi   --master spark://220.149.84.24:7077   --deploy-mode cluster   --supervise   --executor-memory 2G   --total-executor-cores 100   examples/jars/spark-examples_2.11-2.4.5.jar    1000 

但如果我尝试在 intellij 上运行它,则会出现以下错误:

20/06/12 15:51:23 INFO StandaloneAppClient$ClientEndpoint: Connecting to master spark://220.149.84.24:7077...
20/06/12 15:51:23 INFO TransportClientFactory: Successfully created connection to /220.149.84.24:7077 after 23 ms (0 ms spent in bootstraps)
20/06/12 15:51:43 INFO StandaloneAppClient$ClientEndpoint: Connecting to master spark://220.149.84.24:7077...
20/06/12 15:52:03 INFO StandaloneAppClient$ClientEndpoint: Connecting to master spark://220.149.84.24:7077...
20/06/12 15:52:23 ERROR StandaloneSchedulerBackend: Application has been killed. Reason: All masters are unresponsive! Giving up.

这太奇怪了。那是相同的火花集群地址,即“spark://220.149.84.24:7077”。请帮我解决这个错误。

这是 SparkContext 配置(我使用的是 spark 2.4.5):

// SparkContext
val conf: SparkConf = new SparkConf()
conf.setMaster("spark://220.149.84.24:7077") //
conf.setAppName("AirbnbRecommender") // app 이름
conf.set("spark.driver.bindAddress", "127.0.0.1") // driver ip
conf.set("spark.serializer", "org.apache.spark.serializer.KryoSerializer")
conf.set("spark.kryoserializer.buffer.max", "128m")
conf.set("spark.eventLog.enabled", "true")

val sc = new SparkContext(conf)

【问题讨论】:

    标签: scala apache-spark intellij-idea


    【解决方案1】:

    在所有这些技术之间,我仍然想知道为什么需要在 spark-submit 的情况下运行 spark,你不会在 Mongodb 或 Kafka 中看到这个,只是 spark!

    为了实现这一点,我建议您使用 Apache Livy 之类的 REST API 提供程序(尽管我在一年前尝试使用它时不喜欢它)或

    尝试使用 Xorg 或类似的东西使您的服务器“支持 GUI”,登录到它,安装 intelij 并以本地方式提交您的作业,您可以使用您的 PC 测试场景,因为 intelij 可以支持本地 spark作业运行,当你确定你的语法和算法做得很好时,将它发送到你的存储库或复制并粘贴到你的服务器系统中并在那里使用它。

    祝你好运。

    【讨论】:

    • 是的。我尝试先在本地机器上运行,然后提交到spark系统。这也是最简单也是最好的方法:)
    • @KeyJun 我很高兴你摆脱了它;-)
    猜你喜欢
    • 2023-03-14
    • 2021-05-19
    • 1970-01-01
    • 2019-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-27
    • 2018-02-24
    相关资源
    最近更新 更多