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完全分布式完整部署教程的更多相关文章

  1. 大数据学习笔记——Spark工作机制以及API详解

    Spark工作机制以及API详解 本篇文章将会承接上篇关于如何部署Spark分布式集群的博客,会先对RDD编程中常见的API进行一个整理,接着再结合源代码以及注释详细地解读spark的作业提交流程,调 ...

  2. 大数据学习笔记——Hbase高可用+完全分布式完整部署教程

    Hbase高可用+完全分布式完整部署教程 本篇博客承接上一篇sqoop的部署教程,将会详细介绍完全分布式并且是高可用模式下的Hbase的部署流程,废话不多说,我们直接开始! 1. 安装准备 部署Hba ...

  3. 大数据学习笔记——Linux完整部署篇(实操部分)

    Linux环境搭建完整操作流程(包含mysql的安装步骤) 从现在开始,就正式进入到大数据学习的前置工作了,即Linux的学习以及安装,作为运行大数据框架的基础环境,Linux操作系统的重要性自然不言 ...

  4. 大数据学习笔记——Hadoop编程实战之HDFS

    HDFS基本API的应用(包含IDEA的基本设置) 在上一篇博客中,本人详细地整理了如何从0搭建一个HA模式下的分布式Hadoop平台,那么,在上一篇的基础上,我们终于可以进行编程实操了,同样,在编程 ...

  5. 大数据学习笔记——Java篇之集合框架(ArrayList)

    Java集合框架学习笔记 1. Java集合框架中各接口或子类的继承以及实现关系图: 2. 数组和集合类的区别整理: 数组: 1. 长度是固定的 2. 既可以存放基本数据类型又可以存放引用数据类型 3 ...

  6. 大数据学习笔记——Hadoop高可用完全分布式模式完整部署教程(包含zookeeper)

    高可用模式下的Hadoop集群搭建 本篇博客将会在之前写过的Linux的完整部署的基础上进行,暂时不会涉及到伪分布式或者完全分布式模式搭建,由于HA模式涉及到的配置文件较多,维护起来也较为复杂,相信学 ...

  7. 大数据学习笔记5 - Spark

    Spark是一个基于内存计算的大数据并行计算框架.所以,Spark并不能完全替代Hadoop,主要用于替代Hadoop中的MapReduce计算模型. 在实际应用中,大数据处理无非是以下几个类型: 复 ...

  8. 大数据学习笔记——Sqoop完整部署流程

    Sqoop详细部署教程 Sqoop是一个将hadoop与关系型数据库之间进行数据传输,批量数据导入导出的工具,注意,导入是指将数据从RDBMS导入到hadoop而导出则是指将数据从hadoop导出到R ...

  9. 大数据学习笔记之Hadoop(一):Hadoop入门

    文章目录 大数据概论 一.大数据概念 二.大数据的特点 三.大数据能干啥? 四.大数据发展前景 五.企业数据部的业务流程分析 六.企业数据部的一般组织结构 Hadoop(入门) 一 从Hadoop框架 ...

随机推荐

  1. objc反汇编分析,block函数块为何物?

    上一篇向大家介绍了__block变量的反汇编和它的伪代码,本篇函数块block,通常定义成原型(^){},它在反汇编中是什么东西. 我们先定义将要反汇编的例子,为减少篇幅例子采用non-arc环境. ...

  2. byteCTF 2019

    本文作者:z3r0yu  由“合天智汇”公众号首发,未经允许,禁止转载! 0x00 前言 周末的比赛质量还是挺高的,特别是boring_code,有点烧脑但是做的就很开心. 0x01 boring_c ...

  3. RALM: 实时 Look-alike 算法在微信看一看中的应用

    嘉宾:刘雨丹 腾讯 高级研究员 整理:Jane Zhang 来源:DataFunTalk 出品:DataFun 注:欢迎关注DataFunTalk同名公众号,收看第一手原创技术文章. 导读:本次分享是 ...

  4. 解决FirewallD is not running问题

    centos7 1.查看firewalld状态:systemctl status firewalld,如果是dead状态,即防火墙未开启. 2.开启防火墙systemctl start firewal ...

  5. TreeMap的源码学习

    TreeMap的源码学习 一).TreeMap的特点 根据key值进行排序. 二).按key值排序的两种排序算法实现 1).在构造方法中传入比较器 public TreeMap(Comparator& ...

  6. vue的一些小记录

    1.在一个标签中,不推荐v-for 与 v-if 同时用 //当 v-if 与 v-for,v-for 具有比 v-if 更高的优先级. //当它们处于同一节点(同一标签 一起使用时),v-for 的 ...

  7. python:Asyncio模块处理“事件循环”中的异步进程和并发执行任务

    python模块Asynico提供了管理事件.携程.任务和线程的功能已经编写并发代码的同步原语. 组成模块: 事件循,Asyncio 每个进程都有一个事件循环. 协程,子例程概念的泛化,可以暂停任务, ...

  8. python容器类型集合的操作

    集合(set):集合是一个无序的序列,集合中的元素可以是任意数据类型:表现形式是set(集合的元素),能够实现自动去重:集合传入的必须是一个hashable类型值,(不能存储字典格式的值):并且创建集 ...

  9. vue跨域处理

    本人对于vue跨域处理流程不是很清楚,特此理顺一遍. 1.在config中进行配置,该文件不是都存在,需要自己建: proxyTable,这个参数主要是一个地址映射表,你可以通过设置将复杂的url简化 ...

  10. Viterbi(维特比)算法在CRF(条件随机场)中是如何起作用的?

    之前我们介绍过BERT+CRF来进行命名实体识别,并对其中的BERT和CRF的概念和作用做了相关的介绍,然对于CRF中的最优的标签序列的计算原理,我们只提到了维特比算法,并没有做进一步的解释,本文将对 ...