Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将spark jar部署到远程hadoop集群有多简单?_Java_Scala_Hadoop_Apache Spark - Fatal编程技术网

Java 将spark jar部署到远程hadoop集群有多简单?

Java 将spark jar部署到远程hadoop集群有多简单?,java,scala,hadoop,apache-spark,Java,Scala,Hadoop,Apache Spark,我有Hadoop集群Cloudera CDH 5.2和ApacheSpark 1.5.0 我可以使用cluster的Thread、Spark和HDFS从IntelliJ IDEA或本地PC运行我的应用程序吗 或者我应该通过ftp将jar发送到主节点,并通过spark submit运行它吗?是的,如果遵循以下步骤,您可以直接从IDE运行作业: 将spark Thread包添加到您的项目依赖项中(可以标记为已提供) 将带有hadoop配置(hadoop_CONF_DIR)的目录添加到项目类路径中 将

我有Hadoop集群Cloudera CDH 5.2和ApacheSpark 1.5.0

我可以使用cluster的Thread、Spark和HDFS从IntelliJ IDEA或本地PC运行我的应用程序吗


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

是的,如果遵循以下步骤,您可以直接从IDE运行作业:

  • spark Thread
    包添加到您的项目依赖项中(可以标记为
    已提供
  • 将带有hadoop配置(hadoop_CONF_DIR)的目录添加到项目类路径中
  • 将spark组件jar复制到HDFS
  • 然后使用配置在应用程序中配置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是安全部署的,那么还需要

    • 将JRE更改为启用JCE的JRE
    • krb5.conf
      添加到java参数(
      -Djava.security.krb5.conf=/path/to/local/krb5.conf
    • 在您的环境中调用
      kinit
    不久前,我还在CDH上的Spark 1.2.0上测试了这个解决方案,但它应该可以在1.5上运行。请记住,这种方法使您的本地机器成为spark驱动程序,因此请注意驱动程序和执行程序之间的一些防火墙ISSEU-您的本地机器应该可以从hadoop节点访问