1. 安装Spark

2. 在Spark shell中运行代码

Spark Shell本身就是一个Driver,Driver包mian()和分布式数据集。

启动Spark Shell 命令:

./bin/spark-shell --master <master-url>

Spark的运行模式取决于传递给SparkContext的Master URL的值,可以有如下选择:

1. local 使用一个Worker线程来本地化运行Spark,非并行。默认模式。

2. local[*] 使用逻辑CPU个数数量的线程来本地化运行Spark。

3. local[K] 使用K个Worker线程来本地化运行Spark(理想情况下K应该根据运行机器的CPU核数设定)。

4. spark://HOST:PORT 连接到指定的Spark standalone master,默认端口7077。

5. yarn-client 以客户端模式连接Yarn集群,集群位置在HADOOP_CONF_DIR环境变量中。

6. yarn-cluster 以集群模式连接Yarn集群。

7. mesos://HOST:PORT 连接到指定的Mesos集群,默认端口5050。

在Spark中采用本地模式启动Spark Shell命令主要包括以下参数:

--master      表示要连接的master,如local[*]表示使用本地模式,其中*表示需要使用几个CPU Core(启动几个线程)模拟Spark集群;

--jars           用于把相关的jar包添加到CLASSPATH中,多个jar包可使用“,”连接。

比如要采用本地模式,在4个CPU核心上运行spark-shell

cd /usr/local/spark
./bin/spark-shell --master local[4] --jars code.jar
# 获取完整的选项列表
./bin/spark-shell --help

退出交互环境    :quit

3. 编写Spark独立应用程序

3.1 不同语言应用程序的编译方式

1. Scala编写的应用程序需要使用sbt或Maven进行编译打包;

2. Java编写的应用程序使用Maven编译打包;

3. Python编写的应用程序通过spark-submit直接提交;

3.2 安装sbt

sbt是一款Spark用来对Scala编写的程序进行打包的工具,Spark没有自带sbt,需下载安装。

3.3 scala应用程序

创建代码目录

/usr/local/spark/mycode/src/mian/scala

test.scala

import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConfobject SimpleApp {def main(args: Array[String]): Unit = {val file = "file:///usr/local/spark/11.log"val conf = new SparkConf().setMaster("local[*]").setAppName("Simple Application")val sc = new SparkContext(conf)val data = sc.textFile(file, 2).cache()val num_a = data.filter(_.contains("a")).count()val num_b = data.filter(_.contains("b")).count()println("Line with a:%s, b:%s".format(num_a, num_b))}
}

3.4 使用sbt打包

第一次编译时,需在./sparkapp文件中新建文件simple.sbt(名字可以随便起,与工程无关,有一个以后就可以一直用了),声明该独立应用程序的信息以及与Spark的依赖关系。

name := "Simple Project"
version := "1.0"
scalaVersion := "2.11.8"
libraryDependencies += "org.apache.spark" %% "spark-core"%"2.1.0"

第一次运行可能很慢,需下载大量依赖,耐心等待。

运行前先执行检查

 打包jar包

/usr/local/sbt/sbt package

3.5 通过spark-submit 运行

./bin/spark-submit--class <mian-class>           // 应用程序入口点--master <master-url>--deploy-mode <deploy-mode>... # other options           //其他参数<application-jar>[application-arguments]       // 传递给主类的主方法的参数

运行

/usr/local/spark/bin/spark-submit   --class  "SimpleAPP" ~/sparkapp/target/scala-2.11/simple-project_2.11-1.0.jar

简化输出结果

/usr/local/spark/bin/spark-submit   --class  "SimpleAPP" ~/sparkapp/target/scala-2.11/simple-project_2.11-1.0.jar 2>&1 | grep "Lines with a:"

4. WordCount

import org.apache.spark.SparkContext
import org.apache.spark.SparkContext_
import org.apache.spark.SparkConfobject SimpleApp {def main(args: Array[String]): Unit = {val file = "file:///usr/local/spark/11.log"val conf = new SparkConf().setAppName("Simple Application").setMaster("local[2]")val sc = new SparkContext(conf)val data = sc.textFile(file)val result = data.flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey((a, b) => a+b)result.foreach(println)}
}

5. 使用Intellij IDEA编写Spark应用程序

1. 安装idea

2. 在idea中安装Scala插件,并配置JDK、Scala SDK

3. 创建Maven工程文件

4. 编写代码

5. 编译打包程序

参考: http://dblab.xmu.edu.cn/blog/1327/

6. Spark集群环境搭建

6.1 集群概况

使用3台机器(节点),1台作为Master节点,另外两台作为Slave节点(Woker节点),主机名分别为Slave01、Slave02。

6.2 搭建Hadoop集群环境

Spark+HDFS运行架构

参考: http://dblab.xmu.edu.cn/blog/1177-2/

6.3 安装Spark

6.3.1 节点配置

在Master节点上,下载Spark安装包

1. 配置slaves文件;

2. 配置spark-env.sh文件;

3. 将Master主机上的/usr/local/spark文件夹复制到各个节点上;

6.3.2 启动集群

1. 首先启动Hadoop集群;

2. 启动Master节点;

3. 启动所有Slave节点。

在Master主机浏览器上访问 http://master:8080,查看Spark独立集群管理器的集群信息。

6.3.3 关闭Spark集群

1. 关闭Master节点;

2. 关闭Worker节点;

3. 关闭Hadoop集群。

7. 在集群上运行Spark应用程序

7.1 采用独立集群管理器

7.1.1 在集群中运行应用程序jar包

sprak自带样例,计算pai值

/usr/local/spark/bin/spark-submit   --class  org.apache.spark.examples.SparkPi
--master spark://master:7077 examples/jars/spark-examples_2.11-2.0.2.jar 100 2>&1
| grep "PI is roughly"

7.1.2 在集群中运行spark-shell

用spark-shell连接到独立集群管理器

bin/spark-shell --master spark://master:7077

在独立集群管理Web界面查看应用的运行情况 http://master:8080

7.2 采用Haoop YARN管理器

7.2.1 在集群中运行应用程序jar包

bin/spark-submit   --class org.apache.spark.examples.SparkPi--master yarn-cluster examples/jars/spark-examples_2.11-2.0.2.jar

在浏览器中打开运行追踪URL,点击Logs,再点击stdout,查看结果。

7.2.2 在集群中运行spark-shell

bin/spark-shell --master yarn

查看运行结果:http://master:8080/cluster

Spark的安装和使用方法相关推荐

  1. 2.Scala的安装和使用方法(华为云学习笔记,Spark编程基础,大数据)

    Scala的安装和使用方法 ① 在Linux系统中安装Scala: ② 使用Scala REPL: ③ 编译打包Scala程序代码. 实验原理-> Scala Scala于2004年1月公开发布 ...

  2. Python之fastparquet:fastparquet的简介、安装、使用方法之详细攻略

    Python之fastparquet:fastparquet的简介.安装.使用方法之详细攻略 目录 fastparquet的简介 fastparquet的安装 fastparquet的使用方法 1.读 ...

  3. Python之pyspark:pyspark的简介、安装、使用方法之详细攻略

    Python之pyspark:pyspark的简介.安装.使用方法之详细攻略 目录 pyspark的简介 pyspark的安装 pyspark的使用方法 pyspark的简介 Spark是一个用于大规 ...

  4. Spark笔记整理(一):spark单机安装部署、分布式集群与HA安装部署+spark源码编译...

    [TOC] spark单机安装部署 1.安装scala 解压:tar -zxvf soft/scala-2.10.5.tgz -C app/ 重命名:mv scala-2.10.5/ scala 配置 ...

  5. DL框架之DL4J/Deeplearning4j:深度学习框架DL4J/Deeplearning4j的简介、安装、使用方法之详细攻略

    DL框架之DL4J/Deeplearning4j:深度学习框架DL4J/Deeplearning4j的简介.安装.使用方法之详细攻略 目录 深度学习框架Deeplearning4j的简介 1.Deep ...

  6. Kafka与Spark集成系列二Spark的安装及简单应用

    原 [Kafka与Spark集成系列二] Spark的安装及简单应用https://blog.csdn.net/u013256816/article/details/82082019版权声明:本文为博 ...

  7. Spark安全威胁及建模方法

    转载请注明出处:http://blog.csdn.net/hsluoyc/article/details/43977779 索取本文Word版本请回复,我会通过私信发送 本文主要通过官方文档.相关论文 ...

  8. 大数据之spark学习记录二: Spark的安装与上手

    大数据之spark学习记录二: Spark的安装与上手 文章目录 大数据之spark学习记录二: Spark的安装与上手 Spark安装 本地模式 Standalone 模式 基本配置 步骤1: 复制 ...

  9. php symfony 安装,Symfony的安装和配置方法

    这篇文章主要介绍了Symfony的安装和配置方法,分析了使用Composer安装Symfony的具体步骤与相关技巧,需要的朋友可以参考下 本文实例讲述了Symfony的安装和配置方法.分享给大家供大家 ...

  10. Spark的安装和使用

    Spark2.1.0入门:Spark的安装和使用 Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0(2.7.1)/Ubuntu14.04(16.04) 手把手教你在VirtualBox ...

最新文章

  1. Linux系统版 lscpu
  2. Andrej Karpathy发文谈神经网络:这不仅仅是分类器,这是一种新的软件开发思想
  3. 链表问题(6)-----排序
  4. python框架大全_常用的Python开源框架有哪些?列举这3个
  5. 链接分析算法系列-机器学习排序
  6. LeetCode 2091. 从数组中移除最大值和最小值(一次遍历)
  7. 实现 Bootstrap 基本布局
  8. matlab 多项式表达,Matlab多项式运算
  9. 为什么现在的手机不像以前一样可以换电池?
  10. 余承东吐槽苹果续航;微软 IE 浏览器被曝漏洞;React Native 0.61.0 发布 | 极客头条...
  11. oracle把ascii吗,oracle中ascii函数及to_char函数使用及编码间的转换
  12. python ljust函数,Python 字符串左对齐-Python 指定字符串左对齐-python ljust() 函数-python ljust() 函数用法-嗨客网...
  13. 太阳能充电调节代码_储能管理系统对于充电站的作用
  14. java zookeeper 使用_Zookeeper简介
  15. HTML 区块、布局与框架
  16. png转ico+windows图标+GIMP
  17. 给一整型变量a,写两段代码,第一个设置a的bit3,第二个清除a的bit3.“a的bit3”
  18. 如何调节MAC 命令行终端字体大小
  19. 华为开始全面部署启用鸿蒙os系统,华为开始全面部署启用鸿蒙OS系统!
  20. 20 React项目生成及部署

热门文章

  1. 山东大学软件学院计算机组成原理课程设计实验一
  2. 计算机网口在哪看,联想电脑网线接口在哪
  3. 织梦的网站地图怎么做html,织梦自带网站地图的生成制作方法详解
  4. 1、曾经风光无限的jsp,为什么现在很少有人使用了?
  5. android自定义popwindow,Android应用开发Android 自定义PopWindow的简单使用
  6. lammps运行Linux,Lammps安装教程
  7. JS页面跳转页面大全
  8. LintCode炼码刷题实操平台
  9. RESTClient 使用,一个小巧方便的插件
  10. 看一看Facebook工程师是怎么评价《第一行代码》的