将本地Spark应用程序提交到远程集群(没有集群管理器)

时间:2019-01-18 00:16:25

标签: apache-spark apache-spark-standalone

我有一个Spark集群设置,目前,我构建的所有应用程序都在本地Windows计算机上开发,然后创建一组jar(使用Maven)复制到此远程集群并启动我的应用程序在那里提交火花。

这很好,但是对于我所做的每一个小更改,我都必须重新构建整个项目,将其部署到集群中,然后运行我的应用程序,这有点令人沮丧。我正在尝试通过IDE运行应用程序的选项,以便避免这一漫长的过程。我已经在本地计算机上安装了spark,并尝试运行spark-submit,但是它一开始就没有返回消息,所以我被困在什么问题上了,因为我没有什么要处理的。

关于此群集的重要注意事项:

  • 这是一个4节点群集
  • Cluster没有像YARN这样的群集管理器,因此只有独立的群集管理器可用:(
  • 从我的本地计算机到Spark Master和Spark Worker节点的防火墙都是打开的
  • 当前提交给集群的作业是使用默认的部署模式提交的(即“不应用”部署模式集群)。这样做是因为需要一个特定的节点作为驱动程序

关于本地的重要事项:

  • 我本地的spark主目录正在镜像集群的spark主目录(相同的额外jar,相同的spark配置等)
  • 当前正在创建scala应用程序并通过Maven提取依赖项(尽管我认为这并不重要,但使用IntelliJ)
  • spark-submit 
    --master spark://remote.master.node.ip:7077 \
    --deploy-mode cluster \
    --jars "C:/Dev/test/lib/jar1.jar, C:/dev/test/lib/jar2.jar,...., C:/dev/test/lib/jarn.jar, C:/dev/test/lib/jarMain.jar" \
    --class com.my.main.package.Main C:/Dev/test/jarMain*.jar"
    

    当我运行上面的命令(使用git-bash / minty尝试)时,它立即将控制权返回到控制台,没有任何消息。

    0 个答案:

    没有答案