大数据学习笔记——Spark完全分布式完整部署教程
Spark完全分布式完整部署教程
继Mapreduce之后,作为新一代并且是主流的计算引擎,学好Spark是非常重要的,这一篇博客会专门介绍如何部署一个分布式的Spark计算框架,在之后的博客中,更会讲到Spark的基本模块的介绍以及底层原理,好了,废话不多说,直接开始吧!
1. 安装准备
部署Spark时,我们使用的版本如下所示:

2. 正式安装
1. 将spark-2.4.3-bin-hadoop2.7.tgz文件使用远程传输软件发送至/home/centos/downloads目录下
2. 将spark-2.4.3-bin-hadoop2.7.tgz解压缩至/soft目录下
tar -xzvf spark-2.4.3-bin-hadoop2.7.tgz -C /soft
3. 进入到/soft目录下,配置spark的符号链接
cd /soft
ln -s spark-2.4.3-bin-hadoop2.7 spark
4. 修改并生效环境变量
nano /etc/profile
在文件末尾添加以下代码:
#spark环境变量
export SPARK_HOME=/soft/spark
export PATH=$PATH:$SPARK_HOME/bin
生效环境变量后保存退出
source /etc/profile
5. 规划集群部署方案
根据现有的虚拟机配置,集群部署方案为:s101节点作为master节点,s102 - s104作为worker节点
6. 使用脚本分发spark软件包以及/etc/profile文件到所有节点
cd /soft
xsync.sh spark-2.4.3-bin-hadoop2.7
xsync.sh /etc/profile
7. 使用ssh连接到除s101外的其他所有节点创建符号链接
ssh s102
cd /soft
ln -s spark-2.4.3-bin-hadoop2.7 spark
exit
其他节点同理
8. 配置spark的配置文件并分发到所有节点
cd /soft/spark/conf
cp spark-env.sh.template spark-env.sh
nano spark-env.sh
在文件末尾处添加后保存退出:
export JAVA_HOME=/soft/jdk
export HADOOP_CONF_DIR=/soft/hadoop/etc/hadoop
准备好如下文件,避免每次提交spark job上传spark类库:

先用WinScp将spark的类库放到/home/centos目录下
将spark的类库上传到HDFS文件系统上去:hdfs dfs -put /home/centos/spark_lib.zip /
修改spark-defaults配置文件:
cp spark-defaults.conf.template spark-defaults.conf
nano spark-defaults.conf
在文件末尾处添加后保存退出:
spark.yarn.archive hdfs://mycluster/spark_lib.zip
cp slaves.template slaves
nano slaves
在文件中末尾处删除localhost并添加以下命令后后保存退出:
s102
s103
s104
分发上述三个个配置文件
xsync.sh spark-env.sh
xsync.sh spark-defaults.conf
xsync.sh slaves
9. 启动spark集群
/soft/spark/sbin/start-all.sh
10. 查看进程
xcall.sh jps
出现以下画面:

11. 查看WebUI
http://s101:8080
配置大功告成!!!

12. 结合hadoop启动spark的各种模式检测是否都能正常启动
启动local模式:spark-shell --master local

启动hadoop集群:
xzk.sh start
start-all.sh
然后启动standalone模式:spark-shell --master spark://s101:7077

最后测试yarn模式是否能连接成功:spark-shell --master yarn

大数据学习笔记——Spark完全分布式完整部署教程的更多相关文章
- 大数据学习笔记——Spark工作机制以及API详解
Spark工作机制以及API详解 本篇文章将会承接上篇关于如何部署Spark分布式集群的博客,会先对RDD编程中常见的API进行一个整理,接着再结合源代码以及注释详细地解读spark的作业提交流程,调 ...
- 大数据学习笔记——Hbase高可用+完全分布式完整部署教程
Hbase高可用+完全分布式完整部署教程 本篇博客承接上一篇sqoop的部署教程,将会详细介绍完全分布式并且是高可用模式下的Hbase的部署流程,废话不多说,我们直接开始! 1. 安装准备 部署Hba ...
- 大数据学习笔记——Linux完整部署篇(实操部分)
Linux环境搭建完整操作流程(包含mysql的安装步骤) 从现在开始,就正式进入到大数据学习的前置工作了,即Linux的学习以及安装,作为运行大数据框架的基础环境,Linux操作系统的重要性自然不言 ...
- 大数据学习笔记——Hadoop编程实战之HDFS
HDFS基本API的应用(包含IDEA的基本设置) 在上一篇博客中,本人详细地整理了如何从0搭建一个HA模式下的分布式Hadoop平台,那么,在上一篇的基础上,我们终于可以进行编程实操了,同样,在编程 ...
- 大数据学习笔记——Java篇之集合框架(ArrayList)
Java集合框架学习笔记 1. Java集合框架中各接口或子类的继承以及实现关系图: 2. 数组和集合类的区别整理: 数组: 1. 长度是固定的 2. 既可以存放基本数据类型又可以存放引用数据类型 3 ...
- 大数据学习笔记——Hadoop高可用完全分布式模式完整部署教程(包含zookeeper)
高可用模式下的Hadoop集群搭建 本篇博客将会在之前写过的Linux的完整部署的基础上进行,暂时不会涉及到伪分布式或者完全分布式模式搭建,由于HA模式涉及到的配置文件较多,维护起来也较为复杂,相信学 ...
- 大数据学习笔记5 - Spark
Spark是一个基于内存计算的大数据并行计算框架.所以,Spark并不能完全替代Hadoop,主要用于替代Hadoop中的MapReduce计算模型. 在实际应用中,大数据处理无非是以下几个类型: 复 ...
- 大数据学习笔记——Sqoop完整部署流程
Sqoop详细部署教程 Sqoop是一个将hadoop与关系型数据库之间进行数据传输,批量数据导入导出的工具,注意,导入是指将数据从RDBMS导入到hadoop而导出则是指将数据从hadoop导出到R ...
- 大数据学习笔记之Hadoop(一):Hadoop入门
文章目录 大数据概论 一.大数据概念 二.大数据的特点 三.大数据能干啥? 四.大数据发展前景 五.企业数据部的业务流程分析 六.企业数据部的一般组织结构 Hadoop(入门) 一 从Hadoop框架 ...
随机推荐
- Arduino驱动ILI9341彩屏(一)——颜色问题
最近在淘宝的店铺上淘到了一块ILI9341的彩色液晶屏,打算研究一下如何使用. 淘宝店铺购买屏幕之后有附源代码可供下载,代码质量惨不忍睹,各种缩进不规范就不说了,先拿来试一下吧. 这是淘宝店铺代码的核 ...
- objc里的伪指针TaggedPointer
如果你看过我前面两篇objc函数枢纽msgSend和你印象中的NSString是这样吗,相信已经多次看过它的身影了,到底它是何物何作用,我今日就来揭开谜团.我之所为称呼它为伪指针,是因为它像幽灵一样, ...
- 数据类型转换&运算符
基本数据类型注意事项 整型类型:long>int>short>byte java默认类型为int型 long a = 123 表示将int类型的数值赋给更大范围的long类型,当数据 ...
- 程序员需要掌握的七种 Python 代码更易维护的武器
检查你的代码风格 PEP 8 是 Python 代码风格规范,它规定了类似行长度.缩进.多行表达式.变量命名约定等内容.尽管你的团队自身可能也会有稍微不同于 PEP 8 的代码风格规范,但任何代码风格 ...
- Python拼接字符串的七种方式
忘了在哪看到一位编程大牛调侃,他说程序员每天就做两件事,其中之一就是处理字符串.相信不少同学会有同感. 几乎任何一种编程语言,都把字符串列为最基础和不可或缺的数据类型.而拼接字符串是必备的一种技能.今 ...
- 2019-10-30:渗透测试,基础学习,mssql堆叠内联注入,mongodb基础语法
使用xp_cmdshell需要堆叠注入,http://192.168.190.148/less-1.asp?id=1';EXEC sp_configure 'show advanced options ...
- 打算写一个《重学Node.js》系列,希望大家多多支持
先放上链接吧,项目已经开始2周了:https://github.com/hellozhangran/happy-egg-server 想法 现在是2019年11月24日,还有人要开始学习Node.js ...
- 浅谈Python中函数式编程、面向对象编程以及古怪的PythonIC
1.函数式编程作为结构化编程的一种,正在受到越来越多的重视.那么什么事函数式编程呢? 在维基百科中给出了详细的定义,函数式编程又称泛函数编程,是一种编程规范,它将函数运算视为数学上的函数计算.简单的来 ...
- 【数据结构】之链表(Java语言描述)
以前写过一篇帖子,记录了链表在C语言中的描述代码.C语言中没有链表的直接实现,因此,我们需要自己编写代码实现.请参考[我的这篇文章]. Java中默认为我们提供了链表的API—— LinkedList ...
- Java基础部分(11~20)
11."=="和 equals 方法究竟有什么区别? (单独把一个东西说清楚,然后再说清楚另一个,这样,它们的区别自然就出来了,混在一起说,则很难说清楚) ==操作符专门用来比较两 ...