作为大数据领域炙手可热的一门技术,Spark可以说是大数据工程师们需要掌握的重要技能,想要进入大数据行业发展,Spark是基础技能要求。而学习Spark,从入门阶段,首先要掌握的第一项,就是Spark安装部署。
目前来说,Spark主要支持的部署模式,有三种,即Standalone、Spark on YARN和Spark on Mesos模式。这三种模式各自支持的运行模式不同,这就需要根据实际的开发需求来觉得。但是在学习阶段,每一种模式都要求大家要基本掌握才行。
Standalone模式,是Spark系统再带的集群管理模式,自带完整的服务,可单独部署到一个集群中,无需依赖任何其他资源管理系统。Standalone模式是最简单最容易部署的一种模式,在初入门阶段,可以先从这种模式开始练手。
Spark on YARN模式,即Spark运行在Hadoop YARN框架之上的一种模式。我们都知道Spark作为计算框架,在任务调度管理上是没有自身的组件支持的,而接入Hadoop的Yarn管理器也是目前主流的选择之一。
Spark on Mesos模式,即Spark运行在Apache Mesos框架之上的一种模式。Mesos也是Apache旗下的分布式资源管理框架,负责集群资源的分配,支持多种不同的框架,也包括Hadoop的YARN资源管理器。
以Spark的Standalone模式的部署为例,这是最简单的一种,先从简单的开始尝试。
首先,搭建Spark集群,需要准备以下文件及环境:
jdk-8u211-linux-x64.tar.gz
spark-2.4.3-bin-hadoop2.7.tgz
3个独立的CentOS7虚拟机系统
安装开始,首先配置jdk环境
解压文件:
tar-zxf jdk-8u211-linux-x64.tar.gz
配置环境变量:
export JAVA_HOME=/path/to/jdk1.8.0_211
export PATH=$PATH:$JAVA_HOME/bin
配置Spark环境
解压文件:
tar-xf spark-2.4.3-bin-hadoop2.7.tgz
配置环境变量:
export SPARK_HOME=/path/to/spark-2.4.3-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin
修改spark-env.sh文件
cd spark-2.4.3-bin-hadoop2.7
cp conf/spark-env.sh.template conf/spark-env.sh
vim conf/spark-env.sh
#增加如下内容:
export JAVA_HOME=/path/to/jdk1.8.0_211
export SPARK_MASTER_HOST=192.168.56.106
修改slaves文件
cp conf/slaves.template conf/slaves
vim conf/slaves
#增加如下内容:
192.168.56.106
192.168.56.107
192.168.56.108
配置ssh免密登录
配置ssh免密登录,是为了能够在master机器上来启动所有worker节点,如果不配置免密登录,则在启动每个worker时,都需要输入一遍密码,会很麻烦。当然,如果机器少的话,也可以登录到worker节点上,手动一个一个启动worker。
执行:ssh-keygen-t rsa,一直按回车即可。最后会生成类似这样的日志:
并且在用户目录下会自动生成.ssh目录执行ls~/.ssh可以看到两个文件:
id_rsa生成的私钥文件
id_rsa.pub生成的公钥文件
将id_rsa.pub复制到其它机器上,执行以下几条命令:
ssh-copy-id-i~/.ssh/id_rsa.pub royran@192.168.56.106:#master所在的主机,如果master不做woker可以不需要。
ssh-copy-id-i~/.ssh/id_rsa.pub royran@192.168.56.107:
ssh-copy-id-i~/.ssh/id_rsa.pub royran@192.168.56.108:
配置其它worker节点
当前已在master节点配置好了环境,还需要在其它worker节点上配置相类似的环境。
配置其它worker节点很简单,只需要将jdk1.8.0_211及spark-2.4.3-bin-hadoop2.7两个目录复制到其它worker节点机器上即可。但要注意,这两个目录在其它worker上的绝对路径需要与master上的绝对路径一致,不然无法直接在master上启动其它worker节点。
启动master
执行:sbin/start-master.sh
输入jps指令(该指令在$JAVA_HOME/bin目录下)可以查看java进程名,看到有Master字样,说明master进程启动成功了。
启动worker节点
执行:sbin/slaves.sh
再输入jps,会列出当前启动的java进程,显示Worker字样,说明worker进程启动成功了。
之后进行测试:
在{SPARK_HOME}/examples/src/main目录下,有一些spark自带的示例程序,有java、python、r、scala四种语言版本的程序。测试正常,则Spark集群的Standalone模式部署全部结束。
关于Spark安装部署,以上就是一个非常简单的教程了,过程中当中涉及到很多细节和步骤,需要一步步去理顺,当然这是最简单的模式,其他两种模式的安装部署我们后续再为大家介绍。成都加米谷大数据,专业
大数据培训机构,大数据技术知识分享,课程培训欢迎联系客服了解详情!