前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spark快速入门系列(2) | Spark 运行模式之Local本地模式

Spark快速入门系列(2) | Spark 运行模式之Local本地模式

作者头像
不温卜火
发布2020-10-28 17:04:58
3.9K0
发布2020-10-28 17:04:58
举报
文章被收录于专栏:不温卜火不温卜火

  Local 模式就是指的只在一台计算机上来运行 Spark.   通常用于测试的目的来使用 Local 模式, 实际的生产环境中不会使用 Local 模式.

一. 解压 Spark 安装包

  • 1. 把安装包上传到/opt/software/
3
3
  • 2. 把安装包上传到/opt/module/
代码语言:javascript
复制
[bigdata@hadoop002 software]$ tar -zxvf spark-2.1.1-bin-hadoop2.7.tgz -C /opt/module
4
4
  • 3. 重命名为spark-local(为了方便复制一个并重新命名)
代码语言:javascript
复制
[bigdata@hadoop002 module]$ cp -r spark-2.1.1-bin-hadoop2.7 spark-local
5
5
  • 4. 注意

如果有权限问题,可以修改为root,方便学习时操作,实际中使用运维分配的用户和权限即可。

代码语言:javascript
复制
chown -R root /opt/module/spark-local
chgrp -R root /opt/module/spark-local 
  • 5. 解压目录说明
代码语言:javascript
复制
bin        可执行脚本
conf       配置文件
data       示例程序使用数据
examples   示例程序
jars       依赖 jar 包
python     pythonAPI
R          R 语言 API
sbin       集群管理命令
yarn       整合yarn需要的文件

二. 运行官方求PI的案例

代码语言:javascript
复制
[bigdata@hadoop002 spark-local]$ bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master local[2] \
./examples/jars/spark-examples_2.11-2.1.1.jar 100

注意:   如果你的shell是使用的zsh, 则需要把local[2]加上引号:'local[2]' 说明:   使用spark-submit来发布应用程序.

2.1 spark-submit语法

代码语言:javascript
复制
./bin/spark-submit \
--class <main-class> \
--master <master-url> \
--deploy-mode <deploy-mode> \
--conf <key>=<value> \
... # other options
<application-jar> \
[application-arguments]
  • master 指定 master 的地址,默认为local. 表示在本机运行.
  • class 你的应用的启动类 (如 org.apache.spark.examples.SparkPi)
  • deploy-mode 是否发布你的驱动到 worker节点(cluster 模式) 或者作为一个本地客户端 (client 模式) (default: client)
  • conf: 任意的 Spark 配置属性, 格式key=value. 如果值包含空格,可以加引号"key=value"
  • application-jar: 打包好的应用 jar,包含依赖. 这个 URL 在集群中全局可见。 比如hdfs:// 共享存储系统, 如果是 file:// path, 那么所有的节点的path都包含同样的jar
  • application-arguments: 传给main()方法的参数
  • executor-memory 1G 指定每个executor可用内存为1G
  • total-executor-cores 6 指定所有executor使用的cpu核数为6个
  • executor-cores 表示每个executor使用的 cpu 的核数

2.2 关于 Master URL 的说明

Master URL

Meaning

local

Run Spark locally with one worker thread (i.e. no parallelism at all).

local[K]

Run Spark locally with K worker threads (ideally, set this to the number of cores on your machine).

local[*]

Run Spark locally with as many worker threads as logical cores on your machine.

spark://HOST:PORT

Connect to the given Spark standalone cluster master. The port must be whichever one your master is configured to use, which is 7077 by default.

mesos://HOST:PORT

Connect to the given Mesos cluster. The port must be whichever one your is configured to use, which is 5050 by default. Or, for a Mesos cluster using ZooKeeper, use mesos://zk://… To submit with --deploy-mode cluster, the HOST:PORT should be configured to connect to the MesosClusterDispatcher.

yarn

Connect to a YARNcluster in client or cluster mode depending on the value of --deploy-mode. The cluster location will be found based on the HADOOP_CONF_DIR or YARN_CONF_DIR variable.

2.3 结果展示

6
6

2.4 另一种方法

也可以使用run-examples来运行

代码语言:javascript
复制
[bigdata@hadoop002 spark-local]$bin/run-example SparkPi 100

三. 使用 Spark-shell

Spark-shellSpark 给我们提供的交互式命令窗口(类似于 Scala 的 REPL)   本案例在 Spark-shell 中使用 Spark 来统计文件中各个单词的数量.

3.1 创建 2 个文本文件

代码语言:javascript
复制
mkdir input
cd input
touch 1.txt
touch 2.txt
7
7
12
12

3.2 打开 Spark-shell

代码语言:javascript
复制
[bigdata@hadoop002 spark-local]$ bin/spark-shell 
8
8

3.3 查看进程和通过 web 查看应用程序运行情况

9
9
10
10
11
11

3.4 运行 wordcount 程序

代码语言:javascript
复制
scala> sc.textFile("./input").flatMap(_.split(" ")).map((_, 1)).reduceByKey(_ + _).collect
13
13

3.5 登录hadoop102:4040查看程序运行

14
14

四. 提交流程

15
15
17
17

五. wordcount 数据流程分析

16
16
18
18
  1. textFile("input"):读取本地文件input文件夹数据;
  2. flatMap(_.split(" ")):压平操作,按照空格分割符将一行数据映射成一个个单词;
  3. map((_,1)):对每一个元素操作,将单词映射为元组;
  4. reduceByKey(_+_):按照key将值进行聚合,相加;
  5. collect:将数据收集到Driver端展示。

  本次的分享就到这里了

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-07-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一. 解压 Spark 安装包
  • 二. 运行官方求PI的案例
    • 2.1 spark-submit语法
      • 2.2 关于 Master URL 的说明
        • 2.3 结果展示
          • 2.4 另一种方法
          • 三. 使用 Spark-shell
            • 3.1 创建 2 个文本文件
              • 3.2 打开 Spark-shell
                • 3.3 查看进程和通过 web 查看应用程序运行情况
                  • 3.4 运行 wordcount 程序
                    • 3.5 登录hadoop102:4040查看程序运行
                    • 四. 提交流程
                    • 五. wordcount 数据流程分析
                    相关产品与服务
                    文件存储
                    文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档