06、部署Spark程序到集群上运行

06、部署Spark程序到集群上运行

6.1 修改程序代码

  1. 修改文件加载路径

    在spark集群上执行程序时,如果加载文件需要确保路径是所有节点能否访问到的路径,因此通常是hdfs路径地址。所以需要修改代码中文件加载路径为hdfs路径:

    ...
    //指定hdfs路径
    sc.textFile("hdfs://mycluster/user/centos/1.txt") 
    ...
    

  2. 修改master地址

    SparkConf中需要指定master地址,如果是集群上运行,也可以不指定,运行时可以通过命令行动态获取。

    //设置master地址或者注释掉该行
    conf.setMaster("spark://s101:7077")
    

6.2 导出jar包

  1. 进入项目结构窗口

    微信截图_20180610173552

  2. 定位artifacts部分中

    微信截图_20180610173653

  3. 导出的jar中删除依赖的第三方jar包

    微信截图_20180610174205

    微信截图_20180610174232

  4. 通过builds -> build artifacts菜单导出jar包

    微信截图_20180610174521

    微信截图_20180610174557

  5. 到对应的导出目录查看jar文件

    微信截图_20180610174737

  6. 查看jar包中类的内容

    $>jar -tf myspark.jar | more
    

    执行结果如下图所示:

    微信截图_20180610180014

6.3 提交job到Spark集群

使用spark-submit命令提交jar包到spark集群执行。

$>spark-submit --class com.oldboy.spark.java.WordCountJava --master spark://s101:7077 myspark.jar

执行结果如下图所示:

微信截图_20180610175516

原文地址:https://www.cnblogs.com/xupccc/p/9543979.html