SparkSubmit.main()方法提交外部参数,远程提交standalone集群任务

一、官方文档描述

二、引入pom【注意版本问题】

 <dependency>  
         <groupId>org.apache.spark</groupId>  
         <artifactId>spark-core_2.11</artifactId>  
         <version>2.2.0</version>  
     </dependency>  
  
     <dependency>  
         <groupId>org.apache.hadoop</groupId>  
         <artifactId>hadoop-client</artifactId>  
         <version>2.2.0</version>  
     </dependency>  

三、代码


import java.io.IOException;

import org.apache.spark.deploy.SparkSubmit;

public class Main {
    public static void main(String[] args) throws IOException {
        String appName = "test java web submit job to spark standalone";
        String className="cfca.xfraud.mltrain.DataTrainning";
        String [] arg0=new String[]{
                "--master","spark://192.168.115.64:7077",//ip端口
                 "--deploy-mode","cluster",
                 "--name",appName,
                 "--class",className,//运行主类main
                 "--executor-memory","2G",
                 "--total-executor-cores","10",
                 "--executor-cores","2",
                 "/home/xfraud/ml_train/MachineLearningTraining-0.2.jar",//在linux上的包 可改为hdfs上面的路径
                 "LR", "20180817111111", "66"//jar中的参数,注意这里的参数写法
        };
        SparkSubmit.main(arg0);
    }
}

四、运行结果

ps.free -m  查看机子上的内存使用率 ,注意内存不足的时候,spark界面上的任务会陷入等待。

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
使用SparkSubmit在客户端提交job后,需要按照以下步骤通过Standalone模式获取资源并执行Spark任务计算: 1. 准备Spark应用程序:编写Spark应用程序代码,并将其打包成一个jar文件。 2. 安装和配置Spark:在集群的每个节点上安装Spark,并进行相应的配置,包括设置SPARK_HOME、JAVA_HOME等环境变量,并在spark-env.sh中设置SPARK_MASTER_HOST、SPARK_WORKER_CORES等参数。 3. 启动Standalone模式:在Master节点上启动Standalone模式,可以使用以下命令: ``` $SPARK_HOME/sbin/start-master.sh ``` 在Worker节点上启动Standalone模式,可以使用以下命令: ``` $SPARK_HOME/sbin/start-worker.sh spark://<master-node>:7077 ``` 其中,<master-node>是Master节点的主机名或IP地址。 4. 提交Spark任务:在客户端上使用SparkSubmit命令提交Spark任务,可以使用以下命令: ``` $SPARK_HOME/bin/spark-submit --class <main-class> --master spark://<master-node>:7077 <jar-file> <arguments> ``` 其中,<main-class>是Spark应用程序的主类名,<jar-file>是打包后的jar文件名,<arguments>是应用程序的命令行参数,可以根据实际情况进行设置。 5. 监控Spark任务:可以使用Spark web界面或命令行工具(如spark-shell、spark-submit等)对正在运行的Spark任务进行监控和管理,例如查看任务的运行状态、日志、执行计划等。 需要注意的是,在使用Standalone模式运行Spark任务时,需要保证Master节点和Worker节点之间的网络通信畅通,同时还需要根据集群的规模和计算任务的复杂度进行适当的资源调整,以保证任务能够在集群中高效地运行。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值