Spark集群安装部署

目录

一.环境准备

二.安装步骤

三.使用Standalone模式

四.使用Yarn模式 


一.环境准备

        由于Spark仅仅是一种计算机框架,不负责数据的存储和管理,因此,通常都会将Spark和Hadoop进行统一部署,由Hadoop中的HDFS,HBase等组件负责数据的存储管理,Spark负责数据计算。

安装Spark集群之前,需要安装Hadoop环境,我的配置环境如下:

  • Linux系统:CentOS_6.7 版本
  • Hadoop:3.1.3 版本
  • JDK:1.8 版本
  • Spark:3.1.1 版本

二.安装步骤

        Spark部署模式分为Local模式(单机模式)和集群模式,集群模式又分为Standalone模式,Yarn模式和Mesos模式。本文章主要阐述spark集群配置,Standalone模式和Yarn模式的使用

1.下载Spark安装包

下载地址:http://archive.apache.org/dist/spark/

 选择自己需要的版本下载,由于我的hadoop版本是3.x,所以我下载的是第二个spark-3.1.1-bin-hadoop3.2.tgz

2.解压Spark安装包

将下载的安装包上传到主节点master的/opt/software目录,然后解压到/opt/servers目录,命令如下:

[root@master ~]# tar -zxvf /opt/software/spark-3.1.1-bin-hadoop3.2.tgz -C /opt/servers/

为了方便,将解压后的目录重命名为spark,命令如下:

[root@master ~]# mv /opt/servers/spark-3.1.1-bin-hadoop3.2/ /opt/servers/spark

3.修改配置文件

进入spark/conf目录修改Spark的配置文件,将spark-env.sh.template配置模板文件复制一份并命名为spark-env.sh,命令如下:

[root@master ~]# cd /opt/servers/spark/conf/
[root@master conf]# cp ./spark-env.sh.template ./spark-env.sh

 修改spark-env.sh文件,命令如下:

[root@master conf]# vi ./spark-env.sh

#添加以下内容

export JAVA_HOME=/opt/servers/java
export SPARK_MASTER_HOST=master
export SPARK_MASTER_PORT=7077

export YARN_CONF_DIR=/opt/servers/hadoop/etc/hadoop
export HADOOP_CONF_DIR=/opt/servers/hadoop/etc/hadoop

复制workers.template文件,并重命名为workers,命令如下:

[root@master conf]# cp ./workers.template ./workers 

 指定Spark集群中的从节点IP

[root@master conf]# vi ./workers

slave1

slave2

 4.分发文件

修改完成配置文件后,将spark目录分发至slave1和slave2节点,命令如下:

[root@master ~]# scp -r /opt/servers/spark/ slave1:/opt/servers/

[root@master ~]# scp -r /opt/servers/spark/ slave2:/opt/servers/

至此,Spark集群配置就完成了。

三.使用Standalone模式

首先要启动spark集群,spark集群的启动方式和启动hadoop集群方式类似,直接使用spark/sbin/start-all.sh脚本即可,在spark根目录下执行:

[root@master spark]# ./sbin/start-all.sh

 启动完成后,使用jps命令查看进程

 访问Spark管理界面 https://master:8080 来查看集群状态

测试官方案例

Spark集群部署完毕,可以使用Spark官方示例SparkPi体验Spark集群提交任务的流程,首先进入到spark目录,命令如下:

[root@master spark]# ./bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://master:7077 --executor-memory 1G --total-executor-core1 examples/jars/spark-examples_2.12-3.1.1.jar 10

四.使用Yarn模式 

Yarn模式不需要启动spark集群,只需要启动hadoop集群即可,在启动hadoop集群之前,需要在yarn-site.xml文件关闭内存检查,否则在测试官方案例时可能会报错。

[root@master ~]# cd /opt/servers/hadoop/etc/hadoop/
[root@master hadoop]# vi ./yarn-site.xml

#添加以下内容

<property>
  <name>yarn.nodemanager.pmem-check-enabled</name>
  <value>false</value>
</property>
<property>
  <name>yarn.nodemanager.vmem-check-enabled</name>
  <value>false</value>
</property>

添加后需要将此文件分发至slave1,slave2

[root@master hadoop]# scp -r ./yarn-site.xml slave1:/opt/servers/hadoop/etc/hadoop/

[root@master hadoop]# scp -r ./yarn-site.xml slave2:/opt/servers/hadoop/etc/hadoop/

分发完成后,在主节点启动hadoop集群

 [root@master hadoop]# start-all.sh

启动后测试spark官方案例

  • --deploy-mode 指定部署模式,默认是客户端模式
  • client 客户端模式,运行结果会直接打印在控制台
  • cluster 集群模式

 [root@master spark]# ./bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode client --driver-memory 1G --executor-memory 1G --executor-cores 1 examples/jars/spark-examples_2.12-3.1.1.jar 10

[root@master spark]# ./bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode cluster --driver-memory 1G --executor-memory 1G --executor-cores 1 examples/jars/spark-examples_2.12-3.1.1.jar 10

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值