Spark环境搭建
上一篇《大数据最火的Spark你确定不来了解一下吗?(1)》给大家详细介绍了Spark,下面教给大家怎样去搭建Spark的环境.
铁子话不多说,开整 ↓↓↓↓↓↓
目录:
- Spark环境搭建
-
- local本地模式-Spark初体验
-
-
- 安装
-
- 1、解压
- 2、启动spark-shell
- 3、初体验-读取本地文件
- 4、初体验-读取HDFS文件
-
local本地模式(单机)–开发测试使用
■我们选择目前企业中使用最多的稳定版Spark2.2.0
■使用Apache版还是CDH版?
1.Apache版直接下载官方编译好的基于Apache Hadoop的Spark即可
2.自己下载Spark源码基于CDH Hadoop重新编译
因为CDH5.14版 Spark基于Spark1.6版本较低,且为了推广自家的Impala对Spark SQL进行了阉割,所以要重新编译
★注意1:
大家之前安装的如果是CDH的Hadoop那么安装Spark的时候使用红线标出的重新编译之后的CDH版Spark即可
这里给大家提供的是编译好的安装包,铁子们直接拿去用。
(链接失效请私信博主)
代码语言:javascript复制链接:https://pan.baidu.com/s/1WjG5fFxKp3W14PyAdIxqvw
提取码:xzm5
local本地模式-Spark初体验
安装
代码语言:javascript复制(先将spark安装包上传)
1、解压
代码语言:javascript复制cd /export/servers
tar -zxvf spark-2.2.0-bin-2.6.0-cdh5.14.0.tgz
●注意:
如果有权限问题,可以修改为root,方便学习时操作,实际中使用运维分配的用户和权限即可
chown -R root /export/servers/spark
chgrp -R root /export/servers/spark
●解压目录说明:
bin 可执行脚本
conf 配置文件
data 示例程序使用数据
examples 示例程序
jars 依赖 jar 包
python pythonAPI
R R 语言 API
sbin 集群管理命令
yarn 整合yarn需要的东东
2、启动spark-shell
代码语言:javascript复制●开箱即用
直接启动bin目录下的spark-shell:
./spark-shell
●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
5.退出spark-shell
使用 :quit
3、初体验-读取本地文件
●准备数据
代码语言:javascript复制vim /opt/words.txt
hello me you her
hello you her
hello her
hello
代码语言:javascript复制val textFile = sc.textFile("file:///opt/words.txt")
val counts = textFile.flatMap(_.split(" ")).map((_, 1)).reduceByKey(_ _)
counts.collect//收集结果
// Array[(String, Int)] = Array((you,2), (hello,4), (me,1), (her,3))
4、初体验-读取HDFS文件
●准备数据
代码语言:javascript复制上传文件到hdfs
hadoop fs -put /opt/words.txt /wordcount/input/words.txt
目录如果不存在可以创建
hadoop fs -mkdir -p /wordcount/input
结束后可以删除测试文件夹
hadoop fs -rm -r /wordcount
代码语言:javascript复制val textFile = sc.textFile("hdfs://node01:8020/wordcount/input/words.txt")
val counts = textFile.flatMap(_.split(" ")).map((_, 1)).reduceByKey(_ _)
counts.saveAsTextFile("hdfs://node01:8020/wordcount/output")
(运行完可以进入output目录查看)
就这么简单铁子们,下篇更新standalone集群模式,点个赞再走加个关注啊铁子们,拜拜┏(^0^)┛!!!!!!