1,首先确保hadoop和spark已经运行。(如果是基于yarn,hdfs的需要启动hadoop,否则hadoop不需要启动)。

2.打开idea,创建maven工程。编辑pom.xml文件。增加dependency.

  <dependency> <!-- Spark dependency -->

    <groupId>org.apache.spark</groupId>
    <artifactId>spark-core_2.10</artifactId>
    <version>1.6.0</version>
  </dependency>

3.编写SimpleApp.java

  

import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.api.java.function.Function; /**
* TODO
*
* @ClassName: SimpleApp
* @author: DingH
* @since: 2019/3/26 11:30
*/
public class SimpleApp {
public static void main(String[] args) {
String textfile = "file:///usr/local/spark/README.md";
SparkConf conf1 = new SparkConf().setAppName("SimpleApp");
JavaSparkContext sc = new JavaSparkContext(conf1);
JavaRDD<String> data = sc.textFile(textfile).cache(); long numAs = data.filter(new Function<String, Boolean>() {
public Boolean call(String s) throws Exception {
return s.contains("a");
}
}).count(); long numBs = data.filter(new Function<String, Boolean>() {
public Boolean call(String s) throws Exception {
return s.contains("b");
}
}).count(); System.out.println("Lines with a: " + numAs + ", lines with b: " + numBs);
}
}

4.执行程序(肯定会有错,因为这个路径是ubuntu上spark的readme文件路径,如果想要在本地实验,修改本地文件系统中的一个文件路径就行,这个同时还有conf.setmaster("local")),打包。

5.将目标路径下的target文件夹拷贝到服务器端。

6.如果是client模式,直接执行:

  ubuntu@master:/usr/local/spark$   ./bin/spark-submit --class "SimpleApp" --deploy-mode client --master spark://172.19.57.221:7077 ~/target/SimpleApp-1.0-SNAPSHOT.jar

  

7.如果是cluster上,则需要把target上传到slave01的用户目录下。然后执行:

  ubuntu@master:/usr/local/spark$   ./bin/spark-submit --class "SimpleApp" --deploy-mode cluster --master spark://172.19.57.221:7077 ~/target/SimpleApp-1.0-SNAPSHOT.jar

  这个方式执行的结果只能在webUI上看。

  在http://172.19.57.221:8080/上,可以看到spark master。

  

  在http://172.19.57.51:8081/上,可以看到spark worker。

  

  点击Finished Drivers里面的stdout就可以查看执行的结果。

  

完结~

spark学习之路1--用IDEA编写第一个基于java的程序打包,放standalone集群,client和cluster模式上运行的更多相关文章

  1. [转]Spark学习之路 (三)Spark之RDD

    Spark学习之路 (三)Spark之RDD   https://www.cnblogs.com/qingyunzong/p/8899715.html 目录 一.RDD的概述 1.1 什么是RDD? ...

  2. Spark学习之路 (十二)SparkCore的调优之资源调优

    摘抄自:https://tech.meituan.com/spark-tuning-basic.html 一.概述 在开发完Spark作业之后,就该为作业配置合适的资源了.Spark的资源参数,基本都 ...

  3. Spark学习之路 (十二)SparkCore的调优之资源调优[转]

    概述 在开发完Spark作业之后,就该为作业配置合适的资源了.Spark的资源参数,基本都可以在spark-submit命令中作为参数设置.很多Spark初学者,通常不知道该设置哪些必要的参数,以及如 ...

  4. Spark学习之路 (八)SparkCore的调优之开发调优

    摘抄自:https://tech.meituan.com/spark-tuning-basic.html 前言 在大数据计算领域,Spark已经成为了越来越流行.越来越受欢迎的计算平台之一.Spark ...

  5. Spark学习之路 (七)Spark 运行流程

    一.Spark中的基本概念 (1)Application:表示你的应用程序 (2)Driver:表示main()函数,创建SparkContext.由SparkContext负责与ClusterMan ...

  6. Spark学习之路(七)—— 基于ZooKeeper搭建Spark高可用集群

    一.集群规划 这里搭建一个3节点的Spark集群,其中三台主机上均部署Worker服务.同时为了保证高可用,除了在hadoop001上部署主Master服务外,还在hadoop002和hadoop00 ...

  7. Spark学习之路(五)—— Spark运行模式与作业提交

    一.作业提交 1.1 spark-submit Spark所有模式均使用spark-submit命令提交作业,其格式如下: ./bin/spark-submit \ --class <main- ...

  8. Spark学习之路(四)—— RDD常用算子详解

    一.Transformation spark常用的Transformation算子如下表: Transformation算子 Meaning(含义) map(func) 对原RDD中每个元素运用 fu ...

  9. Spark学习之路 (八)SparkCore的调优之开发调优[转]

    前言 在大数据计算领域,Spark已经成为了越来越流行.越来越受欢迎的计算平台之一.Spark的功能涵盖了大数据领域的离线批处理.SQL类处理.流式/实时计算.机器学习.图计算等各种不同类型的计算操作 ...

随机推荐

  1. 6-CSS

    HTML Style Tags CSS stands for Cascading Style Sheets. CSS describes how HTML elements are to be dis ...

  2. Linux命令之control快捷键组合

    ***********************Linux系统中的一些control快捷键组合汇总如下************************ ctrl+a:光标移到行首. ctrl+b:光标左 ...

  3. [PHP]flock文件IO锁的使用

    一.flock概述 bool flock  ( resource $handle  , int $operation  [, int &$wouldblock  ] ) 参数 handle 文 ...

  4. Struts2配置拦截器

    <package name="loginaction" namespace="/" extends="struts-default"& ...

  5. 分析Vue框架源码心得

    1.在封装一个公用组件,比如button按钮,我们多个地方使用,不同类型的button调用不同的方法,我们就可以这样用 代码片段: <lin-button v-for="(item,i ...

  6. LuoGu P1541 乌龟棋

    题目传送门 乌龟棋我并不知道他为啥是个绿题0.0 总之感觉思维含量确实不太高(虽然我弱DP)(毛多弱火,体大弱门,肥胖弱菊,骑士弱梯,入侵弱智,沙华弱Dp) 总之,设计出来状态这题就很简单了 设 f[ ...

  7. Hibernatede 一对多映射配置

    Hibernatede 一对多映射配置 以公司和员工为例:公司是一,员工是多   第一步 创建两个实体类,公司和员工        写核心配置文件hibernate.cfg.xml        写映 ...

  8. HSSFClientAnchor 参数说明

    pache POI  是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office格式档案读和写的功能. HSSFClient ...

  9. JS打开新的窗口

    一.使用JS打开新窗口 1. 超链接<a href="http://www.wumz.me" title="Mauger`s Blog">Welco ...

  10. 修改MongoDB密码

    修改MongoDB密码 禁用管理员(root)密码 1.找到配置文件mongod.conf,并进入 vim /etc/mongod.conf 2.禁用管理员(root)密码 找到: security: ...