首页 文章

如何简单地将spark jar部署到远程hadoop集群?

提问于
浏览
1

我有Apache Spark 1.5.0的Hadoop集群Cloudera CDH 5.2 .

我可以使用集群的YARN,Spark和HDFS从IntelliJ IDEA或本地PC运行我的应用程序吗?

或者我应该通过ftp将jar发送到主节点,并通过spark-submit运行它?

1 回答

  • 1

    是的,如果您按照以下步骤操作,则可以直接从IDE运行作业:

    • spark-yarn 包添加到您的项目依赖项(可以标记为 provided

    • 将具有hadoop配置的目录(HADOOP_CONF_DIR)添加到项目类路径

    • 将火花装配 jar 复制到HDFS

    然后使用config在应用程序中配置spark context:

    SparkConf sparkConfig = new SparkConf().
        .setMaster("yarn-client")
        .set("spark.yarn.queue", "if_you_are_using_scheduler")
        .set("spark.yarn.jar", "hdfs:///path/to/assembly/on/hdfs");
    

    如果您的Hadoop是安全部署,则还需要

    • 在启用JCE的情况下将JRE更改为JRE

    • krb5.conf 添加到java参数( -Djava.security.krb5.conf=/path/to/local/krb5.conf

    • 在您的环境中调用 kinit

    我之前在CDH上的Spark 1.2.0上测试过这个解决方案,但它应该在1.5上工作 . 请记住,这种方法使您的本地计算机成为一个火花驱动程序,因此请注意驱动程序和执行程序之间的一些防火墙 - 您的本地计算机应该可以从hadoop节点访问 .

相关问题