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

时间:2023-03-08 18:15:39
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. 进入项目结构窗口

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

  2. 定位artifacts部分中

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

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

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

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

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

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

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

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

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

  6. 查看jar包中类的内容

    $>jar -tf myspark.jar | more

    执行结果如下图所示:

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

6.3 提交job到Spark集群

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

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

执行结果如下图所示:

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