【Spark】Spark的Standalone模式安装部署

时间:2021-09-01 06:55:31

Spark执行模式

Spark 有非常多种模式,最简单就是单机本地模式,还有单机伪分布式模式,复杂的则执行在集群中,眼下能非常好的执行在 Yarn和 Mesos 中。当然 Spark 还有自带的 Standalone 模式,对于大多数情况 Standalone 模式就足够了,假设企业已经有 Yarn 或者 Mesos 环境。也是非常方便部署的。

  • local(本地模式):经常使用于本地开发測试,本地还分为local单线程和local-cluster多线程;
  • standalone(集群模式):典型的Mater/slave模式,只是也能看出Master是有单点故障的;Spark支持ZooKeeper来实现 HA
  • on yarn(集群模式): 执行在 yarn 资源管理器框架之上,由 yarn 负责资源管理,Spark 负责任务调度和计算
  • on mesos(集群模式): 执行在 mesos 资源管理器框架之上,由 mesos 负责资源管理。Spark 负责任务调度和计算
  • on cloud(集群模式):比方 AWS 的 EC2,使用这个模式能非常方便的訪问 Amazon的 S3;Spark 支持多种分布式存储系统:HDFS 和 S3

Spark Standalone集群部署

准备工作

  • 这里我下载的是Spark的编译版本号,否则须要事先自行编译
  • Spark须要Hadoop的HDFS作为持久化层。所以在安装Spark之前须要安装Hadoop,这里Hadoop的安装就不介绍了,给出一个教程Hadoop安装教程_单机/伪分布式配置
  • 实现创建hadoop用户,Hadoop、Spark等程序都在该用户下进行安装
  • ssh无password登录,Spark集群中各节点的通信须要通过ssh协议进行,这须要事先进行配置。

    通过在hadoop用户的.ssh文件夹下将其它用户的id_rsa.pub公钥文件内容拷贝的本机的authorized_keys文件里。就可以事先无登录通信的功能

  • Java环境的安装,同一时候将JAVA_HOME、CLASSPATH等环境变量放到主文件夹的.bashrc,执行source .bashrc使之生效

部署配置

这里配置工作须要以下几个步骤:

  1. 解压Spark二进制压缩包
  2. 配置conf/spark-env.sh文件
  3. 配置conf/slave文件

以下详细说明一下:

  • 配置Spark的执行环境,将spark-env.sh.template模板文件复制成spark-env.sh。然后填写对应须要的配置内容:
export SPARK_MASTER_IP=hadoop1
export SPARK_MASTER_PORT=7077
export SPARK_WORKER_CORES=1
export SPARK_WORDER_INSTANCES=1
export SPARK_WORKER_MEMORY=3g

其它选项内容请參照以下的选项说明:

# Options for the daemons used in the standalone deploy mode:
# - SPARK_MASTER_IP, to bind the master to a different IP address or hostname
# - SPARK_MASTER_PORT / SPARK_MASTER_WEBUI_PORT, to use non-default ports for the master
# - SPARK_MASTER_OPTS, to set config properties only for the master (e.g. "-Dx=y")
# - SPARK_WORKER_CORES, to set the number of cores to use on this machine
# - SPARK_WORKER_MEMORY, to set how much total memory workers have to give executors (e.g. 1000m, 2g)
# - SPARK_WORKER_PORT / SPARK_WORKER_WEBUI_PORT, to use non-default ports for the worker
# - SPARK_WORKER_INSTANCES, to set the number of worker processes per node
# - SPARK_WORKER_DIR, to set the working directory of worker processes
# - SPARK_WORKER_OPTS, to set config properties only for the worker (e.g. "-Dx=y")
# - SPARK_HISTORY_OPTS, to set config properties only for the history server (e.g. "-Dx=y")
  • conf/slave文件用户分布式节点的配置。这里仅仅须要在slave文件里写入该节点的主机名就可以

  • 将以上内容都配置好了,将这个spark文件夹复制到各个节点scp -r spark hadoop@hadoop2:~

  • 接下来就能够启动集群了,在Spark文件夹中执行sbin/start-all.sh,然后能够通过netstat -nat命令查看端口7077的进程,还能够通过浏览器訪问hadoop1:8080了解集群的概况

Spark Client部署

Spark Client的作用是。事先搭建起Spark集群,然后再物理机上部署client,然后通过该client提交任务给Spark集群。

因为上面介绍了Standalone分布式集群是怎样搭建的,这里仅仅需将集群上的spark文件夹拷贝过来。

最简单的Sparkclient訪问集群的方式就是通过Spark shell的方式:bin/spark-shell --master spark://hadoop1:7077这样就能够訪问集群了。

这样在浏览器的Spark集群界面上就能够看到Running Applications一栏中有Spark shell的应用在执行。

Spark Standalone伪分布式部署

伪分布式是在一台机器上进行部署来模拟分布式的集群,这里部署的过程和Standalone集群的部署是相似的,事前的工作都是一样的。这里仅仅是在配置文件里做对应的改动就能够了。

这里还是配置这两个文件:

配置conf/spark-env.sh文件

配置conf/slave文件

  • 改动spark-env.sh文件,改动master的ip,这里主机名和用户ip分别在/etc/hostname/etc/hosts文件里进行配置
export SPARK_MASTER_IP=jason
export SPARK_MASTER_PORT=7077
export SPARK_WORKER_CORES=1
export SPARK_WORDER_INSTANCES=1
export SPARK_WORKER_MEMORY=3g
  • slave文件里。填写自己的主机名,比方我的主机名jason

转载请注明作者Jason Ding及其出处

GitCafe博客主页(http://jasonding1354.gitcafe.io/)

Github博客主页(http://jasonding1354.github.io/)

CSDN博客(http://blog.csdn.net/jasonding1354)

简书主页(http://www.jianshu.com/users/2bd9b48f6ea8/latest_articles)

百度搜索jasonding1354进入我的博客主页

【Spark】Spark的Standalone模式安装部署的更多相关文章

  1. Spark新手入门——3.Spark集群(standalone模式)安装

    主要包括以下三部分,本文为第三部分: 一. Scala环境准备 查看二. Hadoop集群(伪分布模式)安装 查看三. Spark集群(standalone模式)安装 Spark集群(standalo ...

  2. spark运行模式之二:Spark的Standalone模式安装部署

    Spark运行模式 Spark 有很多种模式,最简单就是单机本地模式,还有单机伪分布式模式,复杂的则运行在集群中,目前能很好的运行在 Yarn和 Mesos 中,当然 Spark 还有自带的 Stan ...

  3. Spark、Shark集群安装部署及遇到的问题解决

    1.部署环境 OS:Red Hat Enterprise Linux Server release 6.4 (Santiago) Hadoop:Hadoop 2.4.1 Hive:0.11.0 JDK ...

  4. hadoop记录-[Flink]Flink三种运行模式安装部署以及实现WordCount(转载)

    [Flink]Flink三种运行模式安装部署以及实现WordCount 前言 Flink三种运行方式:Local.Standalone.On Yarn.成功部署后分别用Scala和Java实现word ...

  5. spark运行模式之一:Spark的local模式安装部署

    Spark运行模式 Spark 有很多种模式,最简单就是单机本地模式,还有单机伪分布式模式,复杂的则运行在集群中,目前能很好的运行在 Yarn和 Mesos 中,当然 Spark 还有自带的 Stan ...

  6. Spark集群-Standalone 模式

    Spark 集群相关 table td{ width: 15% } 来源于官方, 可以理解为是官方译文, 外加一点自己的理解. 版本是2.4.4 本篇文章涉及到: 集群概述 master, worke ...

  7. [Flink]Flink1.6三种运行模式安装部署以及实现WordCount

    前言 Flink三种运行方式:Local.Standalone.On Yarn.成功部署后分别用Scala和Java实现wordcount 环境 版本:Flink 1.6.2 集群环境:Hadoop2 ...

  8. JBOSS EAP 6.0+ Standalone模式安装成Windows服务

    网上有一些文章介绍用JavaService.exe来实现,但是到EAP 6以上版本,我试过好象没成功,幸好JBoss官方已经推出了专门的工具. 一.先到官网下载http://www.jboss.org ...

  9. 初学者值得拥有【Hadoop伪分布式模式安装部署】

    目录 1.了解单机模式与伪分布模式有何区别 2.安装好单机模式的Hadoop 3.修改Hadoop配置文件---五个核心配置文件 (1)hadoop-env.sh 1.到hadoop目录中 ​ 2.修 ...

随机推荐

  1. yii2 funson86\yii2-setting

    Yii2 Setting for other application, especially for Yii2 Adminlte Installation The preferred way to i ...

  2. (转) 站在C#和JS的角度细谈函数式编程与闭包

    1.函数式编程是什么? 摘自百度的说法是.函数式编程是种编程典范,它将电脑运算视为函数的计算.函数编程语言最重要的基础是 λ 演算(lambda calculus).而且λ演算的函数可以接受函数当作输 ...

  3. 从Wolframserver获取DC comics卡通人物数据

    背景知识 DC comics是美国时代华纳旗下DC娱乐下属的一个漫绘图书出版商. 超人.蝙蝠侠之类漫画的始作俑者. 在Wolfram的眼下为止3750个PopularCurves数据中(所有下载数据有 ...

  4. 利用ADO方式连接SQLServer2008出现的问题

    在利用ADO方式连接SQLServer2008的过程中遇到了很多问题,在网上也没有找到许多有利的信息,花了两天时间,终于把所有问题都搞定了.在这里和大家分享一下经验,希望后来者能少走弯路. 很多教程说 ...

  5. mybatis 一对一关联

    首先建表: CREATE TABLE teacher( t_id INT PRIMARY KEY AUTO_INCREMENT, t_name VARCHAR(20) ); CREATE TABLE ...

  6. Three.js 保存camera(视角)设置到数据库,包括场景的缩放、旋转、移动等

    最近在做的项目中遇到需要保存当前的3d管道视角设置的问题,用户希望在对3d场景内的管道进行了缩放.旋转.移动之后可以将场景当前的视角状态保存在数据库中,并在下次加载时读取. 经过不断的尝试和研究,在同 ...

  7. selenium 执行js,实现滚动条

    今天在写脚本的时候,学习了执行js,实现滚动条,对于scrollTop=10000中这个10000是怎么来的,还不是很了解,先将方法记录一下, 1.滚动条回到顶部: js_up="docum ...

  8. python3学习笔记1---引用http://python3-cookbook.readthedocs.io/zh_CN/latest/

    2018-02-28数据结构和算法(1) 1.1解压序列赋值给多个变量: 任何的序列(或者是可迭代对象)可以通过一个简单的赋值语句解压并赋值给多个变量. 唯一的前提就是变量的数量必须跟序列元素的数量是 ...

  9. PHP消息队列实现及应用

    目前对消息队列并不了解其原理,本篇文章主要是通过慕课网学习归纳的一些笔记,为后续学习打下基础. 众所周知在对网站设计的时候,会遇到给用户“群发短信”,“订单系统有大量的日志”,“秒杀设计”等,服务器没 ...

  10. 【puppeteer】前端自动化初探(一)

    一.前提 windows环境的puppeteer环境配置要简单点,mac环境坑竟然有点多,这边稍微提下 二.开发环境 nodejs puppeteer mac 三.简单介绍下puppeteer Pup ...