06、部署Spark程序到集群上运行
06、部署Spark程序到集群上运行
6.1 修改程序代码
-
修改文件加载路径
在spark集群上执行程序时,如果加载文件需要确保路径是所有节点能否访问到的路径,因此通常是hdfs路径地址。所以需要修改代码中文件加载路径为hdfs路径:
... //指定hdfs路径 sc.textFile("hdfs://mycluster/user/centos/1.txt") ...
-
修改master地址
SparkConf中需要指定master地址,如果是集群上运行,也可以不指定,运行时可以通过命令行动态获取。
//设置master地址或者注释掉该行 conf.setMaster("spark://s101:7077")
6.2 导出jar包
-
进入项目结构窗口
-
定位artifacts部分中
-
导出的jar中删除依赖的第三方jar包
-
通过builds -> build artifacts菜单导出jar包
-
到对应的导出目录查看jar文件
-
查看jar包中类的内容
$>jar -tf myspark.jar | more
执行结果如下图所示:
6.3 提交job到Spark集群
使用spark-submit命令提交jar包到spark集群执行。
$>spark-submit --class com.oldboy.spark.java.WordCountJava --master spark://s101:7077 myspark.jar
执行结果如下图所示: