赞
踩
首先我们先来了解一下Spark集群部署模式,分别有以下三种:
Standalone
Standalone(独立模式)是Spark一种简单的集群部署模式,自带完整的服务可单独部署到一个集群中,无需依赖任何其他资源调度管理系统。
Mesos
Mesos(Spark on Mesos模式)是一款资源调度管理系统,可以为Spark提供资源调度服务,由于Spark与Mesos存在密切的关系,所以在设计Spark框架时充分考虑到了对Mesos的集成。
YARN
YARN(Spark on YARN模式)是一款资源调度管理系统,支持动态资源分配策略,可以为Spark提供资源调度服务,由于在生产环境中,很多时候都要与Hadoop同在一个集群,所以采用YARN来管理资源调度,可以降低运维成本和提高资源利用率,避免出现多个资源管理器造成资源分配的混乱无序的问题。
Standalone与Spark On YARN模式下Spark程序运行过程:
Standalone模式下Spark通过SparkContext向Cluster Manager(资源管理器,即Master)申请所需执行的资源,Cluster Manager分配应用程序执行需要的资源,在Worker节点上创建Executor,SparkContext将程序(jar包或python文件)和Task任务发送给Executor执行,并收集结果给Driver。
Spark On YARN模式下Spark通过SparkContext向ResourceManager(资源管理器)申请所需执行的资源,ResourceManager分配应用程序执行需要的资源,为NodeManager分配一个Container,并在该Container中启动AppMaster,此时 AppMaster上运行的是SparkDriver。SparkDriver在Container上启动SparkExecutor,并调度SparkContext提交的程序和SparkTask在SparkExecutor上运行,等到所有的任务执行完毕后,向AppManager取消注册并释放资源。
注意:还没有下载安装包的,下载地址可以去这里查看:大数据相关常用软件下载地址集锦
上传Spark安装包
使用SecureCRT远程连接工具连接虚拟机Spark01,在存放应用安装包的目录/export/software/下执行“rz
”命令上传Spark安装包。
安装Spark
在虚拟机Spark01中,通过解压缩的方式安装Spark,将Spark安装到存放应用的目录/export/servers/。
tar -zxvf /export/software/spark-2.3.2-bin-hadoop2.7.tgz -C /export/servers/
修改Spark配置文件
在Spark安装目录下的conf目录存在Spark配置文件的样例文件spark-env.sh.template,需要执行“cp spark-env.sh.template spark-env.sh
”命令,通过复制样例文件方式创建Spark配置文件spark-env.sh,执行“vi spark-env.sh
”命令编辑配置文件
spark-env.sh ,指定JDK安装目录和Hadoop配置文件所在目录。
export JAVA_HOME=${JAVA_HOME}
export HADOOP_CONF_DIR=/export/servers/hadoop-2.7.4/etc/hadoop/
vi /etc/profile
”命令编辑系统环境变量文件profile,配置Spark环境变量。export SPARK_HOME=/export/servers/spark-2.3.2-bin-hadoop2.7
export PATH=$SPARK_HOME/bin:$SPARK_HOME/sbin:$PATH
系统环境变量文件profile配置完成后保存并退出即可,随后执行“source /etc/profile
”命令初始化系统环境变量使配置内容生效。
spark-shell --master yarn --deploy-mode client
”命令进入Spark Shell交互界面。spark-submit --class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode cluster \
--driver-memory 2g \
--executor-memory 1g \
--executor-cores 1 \
/export/servers/spark-2.3.2-bin-hadoop2.7/examples/jars/spark-examples_2.11-2.3.2.jar \
10
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>#是否启动一个线程检查每个任务正使用的物理内存量,如果任务超出分配值,则直接将其杀掉,默认是true。
<value>false</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>#是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认是true。
<value>false</value>
</property>
好了,Spark的集群部署和启动与关闭我们就讲到这里了,下一篇我们将讲解HBase集群部署和启动与关闭
转载自:https://blog.csdn.net/u014727709/article/details/130917223
欢迎start,欢迎评论,欢迎指正
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。