首页
学习
活动
专区
圈层
工具
发布
50 篇文章
1
2021年大数据Spark(一):框架概述
2
2021年大数据Spark(二):四大特点
3
2021年大数据Spark(三):框架模块初步了解
4
2021年大数据Spark(四):三种常见的运行模式
5
2021年大数据Spark(五):大环境搭建本地模式 Local
6
2021年大数据Spark(六):环境搭建集群模式 Standalone
7
2021年大数据Spark(七):应用架构基本了解
8
2021年大数据Spark(八):环境搭建集群模式 Standalone HA
9
2021年大数据Spark(九):Spark On Yarn两种模式总结
10
2021年大数据Spark(十):环境搭建集群模式 Spark on YARN
11
2021年大数据Spark(十一):应用开发基于IDEA集成环境
12
2021年大数据Spark(十二):Spark Core的RDD详解
13
2021年大数据Spark(十三):Spark Core的RDD创建
14
2021年大数据Spark(十四):Spark Core的RDD操作
15
2021年大数据Spark(十五):Spark Core的RDD常用算子
16
2021年大数据Spark(十六):Spark Core的RDD算子练习
17
2021年大数据Spark(十七):Spark Core的RDD持久化
18
2021年大数据Spark(十八):Spark Core的RDD Checkpoint
19
2021年大数据Spark(十九):Spark Core的​​​​​​​共享变量
20
2021年大数据Spark(二十):Spark Core外部数据源引入
21
2021年大数据Spark(二十一):Spark Core案例-SogouQ日志分析
22
2021年大数据Spark(二十二):内核原理
23
2021年大数据Spark(二十三):SparkSQL 概述
24
2021年大数据Spark(二十四):SparkSQL数据抽象
25
2021年大数据Spark(二十五):SparkSQL的RDD、DF、DS相关操作
26
2021年大数据Spark(二十六):SparkSQL数据处理分析
27
2021年大数据Spark(二十七):SparkSQL案例一花式查询和案例二WordCount
28
2021年大数据Spark(二十八):SparkSQL案例三电影评分数据分析
29
2021年大数据Spark(二十九):SparkSQL案例四开窗函数
30
2021年大数据Spark(三十):SparkSQL自定义UDF函数
31
2021年大数据Spark(三十一):Spark On Hive
32
2021年大数据Spark(三十二):SparkSQL的External DataSource
33
2021年大数据Spark(三十三):SparkSQL分布式SQL引擎
34
2021年大数据Spark(三十四):Spark Streaming概述
35
2021年大数据Spark(三十五):SparkStreaming数据抽象 DStream
36
2021年大数据Spark(三十六):SparkStreaming实战案例一 WordCount
37
2021年大数据Spark(三十七):SparkStreaming实战案例二 UpdateStateByKey
38
2021年大数据Spark(三十八):SparkStreaming实战案例三 状态恢复 扩展
39
2021年大数据Spark(三十九):SparkStreaming实战案例四 窗口函数
40
2021年大数据Spark(四十):SparkStreaming实战案例五 TopN-transform
41
2021年大数据Spark(四十一):SparkStreaming实战案例六 自定义输出 foreachRDD
42
2021年大数据Spark(四十二):SparkStreaming的Kafka快速回顾与整合说明
43
2021年大数据Spark(四十三):SparkStreaming整合Kafka 0.10 开发使用
44
2021年大数据Spark(四十四):Structured Streaming概述
45
2021年大数据Spark(四十五):Structured Streaming Sources 输入源
46
2021年大数据Spark(四十六):Structured Streaming Operations 操作
47
2021年大数据Spark(四十七):Structured Streaming Sink 输出
48
2021年大数据Spark(四十八):Structured Streaming 输出终端/位置
49
2021年大数据Spark(四十九):Structured Streaming 整合 Kafka
50
2021年大数据Spark(五十):Structured Streaming 案例一实时数据ETL架构

2021年大数据Spark(五):大环境搭建本地模式 Local


环境搭建-Local

Spark中有2类角色,一个是Master类似Namenode做管理

一个是Worker类似DataNode是干活的。

Local模式就是,以一个JVM进程,去模拟整个Spark的运行环境,就是讲Master和Worker角色以线程的形式运行在这个进程中。

安装包下载

目前Spark最新稳定版本:2.4.x系列,官方推荐使用的版本,也是目前企业中使用较多版本,网址:

https://github.com/apache/spark/releases

http://spark.apache.org/downloads.html

http://archive.apache.org/dist/spark/spark-2.4.5/

Spark 2.4.x依赖其他语言版本如下,其中既支持Scala 2.11,也支持Scala 2.12,推荐使用2.11。

​​​​​​​Spark安装

将spark安装包【spark-2.4.5-bin-hadoop2.7.tgz】解压至【/export/server】目录:

代码语言:javascript
复制
解压软件包

tar -zxvf spark-2.4.5-bin-hadoop2.7.tgz

创建软连接,方便后期升级

ln -s /export/server/spark-2.4.5-bin-hadoop2.7 /export/server/spark

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

chown -R root /export/server/spark-2.4.5-bin-hadoop2.7

chgrp -R root /export/server/spark-2.4.5-bin-hadoop2.7

中各个目录含义如下:

bin        可执行脚本

conf       配置文件

data       示例程序使用数据

examples   示例程序

jars       依赖 jar 包

python     pythonAPI

sbin       集群管理命令

yarn       整合yarn需要的东东

​​​​​​​运行spark-shell

开箱即用

直接启动bin目录下的spark-shell:

进入Spark安装目录

cd /export/server/spark

代码语言:javascript
复制
##直接使用spark-shell,默认使用local[*]

bin/spark-shell

## 或

bin/spark-shell --master local[2]

spark-shell说明

1.直接使用./spark-shell

表示使用local 模式启动,在本机启动一个SparkSubmit进程

2.还可指定参数 --master,如:

spark-shell --master local[N] 表示在本地模拟N个线程来运行当前任务

spark-shell --master local[*] 表示使用当前机器上所有可用的资源

3.不携带参数默认就是

spark-shell --master local[*]

4.后续还可以使用--master指定集群地址,表示把任务提交到集群上运行,如

./spark-shell --master spark://node01:7077,node02:7077

5.退出spark-shell

使用 :quit

本地模式启动spark-shell:

运行成功以后,有如下提示信息:

其中

创建SparkContext实例对象:sc

SparkSession实例对象:spark

启动应用监控页面端口号:4040

​​​​​​​初体验-读取本地文件

1.准备数据

vim /root/words.txt

代码语言:javascript
复制
hello me you her 

hello you her

hello her 

hello

2.执行WordCount

代码语言:javascript
复制
val textFile = sc.textFile("file:///root/words.txt")

val counts = textFile.flatMap(_.split(" ")).map((_,1)).reduceByKey(_ + _)

counts.collect

​​​​​​​初体验-读取HDFS文件

1.准备数据

代码语言:javascript
复制
上传文件到hdfs

hadoop fs -put /root/words.txt /wordcount/input/words.txt

目录如果不存在可以创建

hadoop fs -mkdir -p /wordcount/input

结束后可以删除测试文件夹

hadoop fs -rm -r /wordcount

2.执行WordCount

代码语言:javascript
复制
val textFile = sc.textFile("hdfs://node1:8020/wordcount/input/words.txt")

val counts = textFile.flatMap(_.split(" ")).map((_,1)).reduceByKey(_ + _)

counts.collect

counts.saveAsTextFile("hdfs://node1:8020/wordcount/output")

查看文件内容

代码语言:javascript
复制
hadoop fs -text /wordcount/output/part*

​​​​​​​监控页面

每个Spark Application应用运行时,启动WEB UI监控页面,默认端口号为4040,

可以使用浏览器打开页面,

http://node1:4040/jobs/

下一篇
举报
领券