怎么看出 spark 是单机模式还是spark集群搭建模式

如何在Ubuntu下搭建Spark集群_百度知道
如何在Ubuntu下搭建Spark集群
我有更好的答案
Ubuntu14.04下安装Hadoop2.4.0 (单机模式);Ubuntu 12.04下Hadoop 2.2.0 集群搭建(原创);ubuntu 中ssh无密码配置 ,hadoop节点之间无密码登录;我是在Ubuntu14.04LTS下搭建的1.1.0Spark集群,已经搭建成功,目前只用了3台电脑。方法差不多。
采纳率:80%
来自团队:
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。spark的三种模式的详细运行过程
一、Standalone模式
1、使用SparkSubmit提交任务的时候(包括Eclipse或者其它开发工具使用new SparkConf()来运行任务的时候),Driver运行在Client;使用SparkShell提交的任务的时候,Driver是运行在Master上
2、使用SparkSubmit提交任务的时候,使用本地的Client类的main函数来创建sparkcontext并初始化它;
3、SparkContext连接到Master,注册并申请资源(内核和内存)。
4、Master根据SC提出的申请,根据worker的心跳报告,来决定到底在那个worker上启动StandaloneExecutorBackend(executor)
5、executor向SC注册
6、SC将应用分配给executor,
7、SC解析应用,创建DAG图,提交给DAGScheduler进行分解成stage(当出发action操作的时候,就会产生job,每个job中包含一个或者多个stage,stage一般在获取外部数据或者shuffle之前产生)。然后stage(又称为Task Set)被发送到TaskScheduler。TaskScheduler负责将stage中的task分配到相应的worker上,并由executor来执行
8、executor创建Executor线程池,开始执行task,并向SC汇报
9、所有的task执行完成之后,SC向Master注销
二、yarn client
1、spark-submit脚本提交,Driver在客户端本地运行;
2、Client向RM申请启动AM,同时在SC(client上)中创建DAGScheduler和TaskScheduler。
3、RM收到请求之后,查询NM并选择其中一个,分配container,并在container中开启AM
4、client中的SC初始化完成之后,与AM进行通信,向RM注册,根据任务信息向RM申请资源
5、AM申请到资源之后,与AM进行通信,要求在它申请的container中开启CoarseGrainedExecutorBackend(executor)。Executor在启动之后会向SC注册并申请task
6、SC分配task给executor,executor执行任务并向Driver(运行在client之上的)汇报,以便客户端可以随时监控任务的运行状态
7、任务运行完成之后,client的SC向RM注销自己并关闭自己
三、yarn cluster
1、spark-submit脚本提交,向yarn(RM)中提交ApplicationMaster程序、AM启动的命令和需要在Executor中运行的程序等
2、RM收到请求之后,选择一个NM,在其上开启一个container,在container中开启AM,并在AM中完成SC的初始化
3、SC向RM注册并请求资源,这样用户可以在RM中查看任务的运行情况。RM根据请求采用轮询的方式和RPC协议向各个NM申请资源并监控任务的运行状况直到结束
4、AM申请到资源之后,与对应的NM进行通信,要求在其上获取到的Container中开启CoarseGrainedExecutorBackend(executor),executor 开启之后,向AM中的SC注册并申请task
5、AM中的SC分配task给executor,executor运行task兵向AM中的SC汇报自己的状态和进度
6、应用程序完成之后(各个task都完成之后),AM向RM申请注销自己兵关闭自己
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!【Spark】Spark的Standalone模式安装部署 - 简书
【Spark】Spark的Standalone模式安装部署
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、Spark等程序都在该用户下进行安装
ssh无密码登录,Spark集群中各节点的通信需要通过ssh协议进行,这需要事先进行配置。通过在hadoop用户的.ssh目录下将其他用户的id_rsa.pub公钥文件内容拷贝的本机的authorized_keys文件中,即可事先无登录通信的功能
Java环境的安装,同时将JAVA_HOME、CLASSPATH等环境变量放到主目录的.bashrc,执行source .bashrc使之生效
这里配置工作需要以下几个步骤:
解压Spark二进制压缩包
配置conf/spark-env.sh文件
配置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集群,然后再物理机上部署客户端,然后通过该客户端提交任务给Spark集群。
由于上面介绍了Standalone分布式集群是如何搭建的,这里只需将集群上的spark文件夹拷贝过来。
最简单的Spark客户端访问集群的方式就是通过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及其出处
百度搜索jasonding1354进入我的博客主页
http://blog.jasonding.top/
通过微信二维码订阅我的微信公众号
Spark Streaming 编程指南 概述 一个入门示例 基础概念 依赖 初始化 StreamingContext Discretized Streams (DStreams)(离散化流) Input DStreams 和 Receivers(接收器) DStreams...
Spark SQL, DataFrames and Datasets Guide Overview SQL Datasets and DataFrames 开始入门 起始点: SparkSession 创建 DataFrames 无类型的Dataset操作 (aka Dat...
Spark SQL, DataFrames and Datasets Guide Overview SQL Datasets and DataFrames 开始入门 起始点: SparkSession 创建 DataFrames 无类型的Dataset操作 (aka Dat...
一、Spark集群部署 1、软件版本 OS版本:Ubuntu 14.04 Hadoop版本:Hadoop 2.6.0 JDK版本:Jdk1.8.0_40 Scala版本:scala-2.11.7.tgz Spark版本:spark-1.5.0-bin-hadoop2.6.t...
Spark Streaming 编程指南 概述 一个入门示例 基础概念 依赖 初始化 StreamingContext Discretized Streams (DStreams)(离散化流) Input DStreams 和 Receivers(接收器) DStreams...
一档新节目《朗读者》讲于今日开始,值得期待。
一、青葱岁月畅想 青葱岁月群——伴着激扬的德国战歌走来。时而气势磅礴,时而威风凛凛,时而柔情似水,时而风情万种。 青葱岁月群——这个来自祖国各地、世界各地的同学们,以全新的面貌在向世人昭示,我们是最有理想,最有情怀,最有担当的一代老青年。 青葱岁月群——是个特殊的群体 ,也...
有这样一个话题,总是令我很难堪,但又不吐不快,那就是减重。呵呵,不说减肥,是为了不刺激我敏感的神经,给自己留个面子。
一直以来,我就是一个随意、率性的女子,多年来,我最喜欢做的事情就是静坐,或读书,或什么都不做,静静地回顾往昔,展望未来。静态的我比动态的我更贴近...
KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是实现一个next()函数,函数本身包含了模式串的局部匹配信息。时间复杂度O(m+n)。 参考百度百科:http://baike.baidu.com/link?url=2Y...
青岛收获满满的一天 每次都感慨时间的无情,三天两夜就这样匆匆逝去,唯独留下的是深深的回忆,大大收获的是对未来我们更有信心! 时刻牢记最高品质:全力以赴!未来的挫折将无坚不摧! 时刻坚守好习惯养成,晨练、晨读、自我激励!简单的事情重复做,...spark安装和集群单机模式
我安装吃了很大的亏,首先应该先去看人家官方介绍,就算看不太懂,也可以慢慢看
1、单机安装 只需要 JDK
然后去官网下载压缩包,不区分window和linux。解压后就安装完成了(可以了,然后配置下环境变量。验证可以执行%SPARK_HOME%/bin下面的spark-shell脚本,会出现scala的命令行,表明安装成功。
如果需要配合python,则需要安装python,配合R使用,需先安装R语言环境,配合scala需要安装scala的环境。都不是必须的,除了jdk,应为他编译需要在jvm中。
2、它的集群方式大致两种,1是搭建在别的集群上的,例如hadoop,mesos,yarn上,2是单机集群(这里只说最简单的单机集群)其实spark不需要安装的,就是一个文件,想在多台电脑运行,复制过去就行,集群的话,需要改变spark安装目录下面conf文件夹下的配置文件。
1,需要改变的文件,spark-env.sh文件 加入export SPARK_MASTER_HOST=你的master的地址(不推荐127.0.0.1写法)
export SPARK_MASTER_PORT=7077
export SPARK_WORKER_CORES=1
export SPARK_WORDER_INSTANCES=1
export SPARK_WORKER_MEMORY=300m
2,修改slave文件里面加入你需要的从的地址(主机名或ip)
3,将改完以后的spark文件复制到你第二步骤的那几个电脑上。
4,然后启动sbin/start-all.sh就可以启动所有集群中的spark服务了(使用stop-all.sh停止)
我写的没有那么华丽,但是是自己总结出来最简单的配置方式。
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!当前位置:
怎么看出 spark 是单机模式还是集群模式呢?
怎么看出 spark 是单机模式还是集群模式呢?
来源:网络整理&&&&&时间: 4:07:57&&&&&关键词:
关于网友提出的“ 怎么看出 spark 是单机模式还是集群模式呢?”问题疑问,本网通过在网上对“ 怎么看出 spark 是单机模式还是集群模式呢?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 怎么看出 spark 是单机模式还是集群模式呢?
描述:spark
spark&新手请教各位大鸟。
在三台&ubuntu&服务器上安装了&spark,分别为&master、slave1&和&slave2。
运行&./bin/run-example&SparkPi&10&没问题,出了结果,但怎么知道这是在单机上运行的结果,还是在集群模式下的结果呢?在哪可以看到这是几台服务器分布计算的结果呢?解决方案1:
默认下是本地部署
解决方案2:
集群模式下运行,必须有--master&spark://Master:7077语句,而本地模式运行是local[N],具体执行流程可通过Web&UI查看:master:8080
以上介绍了“ 怎么看出 spark 是单机模式还是集群模式呢?”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/4103608.html
上一篇: 下一篇:

我要回帖

更多关于 spark集群几种模式 的文章

 

随机推荐