【发布时间】:2016-11-03 12:53:05
【问题描述】:
我有 Hadoop 集群 Cloudera CDH 5.2 和 Apache Spark 1.5.0。
我可以使用集群的 YARN、Spark 和 HDFS 从 IntelliJ IDEA 或本地 PC 运行我的应用程序吗?
或者我应该通过 ftp 将 jar 发送到主节点,然后通过 spark-submit 运行它?
【问题讨论】:
标签: java scala hadoop apache-spark
我有 Hadoop 集群 Cloudera CDH 5.2 和 Apache Spark 1.5.0。
我可以使用集群的 YARN、Spark 和 HDFS 从 IntelliJ IDEA 或本地 PC 运行我的应用程序吗?
或者我应该通过 ftp 将 jar 发送到主节点,然后通过 spark-submit 运行它?
【问题讨论】:
标签: java scala hadoop apache-spark
是的,如果您按照以下步骤操作,您可以直接从 IDE 运行您的作业:
spark-yarn包添加到你的项目依赖中(可以标记为provided)然后使用 config 在您的应用程序中配置 spark 上下文:
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 是安全部署的,那么还需要
krb5.conf添加到java参数(-Djava.security.krb5.conf=/path/to/local/krb5.conf)kinit
我前段时间也在 CDH 上的 Spark 1.2.0 上测试了这个解决方案,但它应该可以在 1.5 上运行。请记住,这种方法使您的本地计算机成为 spark 驱动程序,因此请注意驱动程序和执行程序之间的一些防火墙问题 - 您的本地计算机应该可以从 hadoop 节点访问。
【讨论】: