一、集群规划
这里搭建一个3节点的火花集群,其中三台主机上均部署代码> <代码>工人服务。同时为了保证高可用,除了在hadoop001上部署主<代码> 代码>大师服务外,还在hadoop002和hadoop003上分别部署备用的<代码> 代码>大师服务,主服务由饲养员集群进行协调管理,如果主<代码> 代码>大师不可用,则备用<代码> 代码>大师会成为新的主<代码>主代码>。
二,前置条件
搭建火花集群前,需要保证JDK环境,饲养员集群和Hadoop集群已经搭建,相关步骤可以参阅:
-
<李> Linux环境下JDK安装李>
<李>管理员单机环境和集群环境搭建李>
<李> Hadoop集群环境搭建李>
三,火花集群搭建
3.1下载解压
下载所需版本的火花,官网下载地址:http://spark.apache.org/downloads.html
下载后进行解压:
<代码类=" language-shell "> #焦油-zxvf spark-2.2.3-bin-hadoop2.6.tgz 代码>
3.2配置环境变量
<代码类=" language-shell "> # vim/etc/profile 代码>
添加环境变量:
<代码类=" language-shell ">出口SPARK_HOME=/usr/app/spark-2.2.3-bin-hadoop2.6 导出路径=$ {SPARK_HOME}/bin:美元路径代码>
使得配置的环境变量立即生效:
<代码类=" language-shell "> #源/etc/profile 代码>
3.3集群配置
进入<代码> $ {SPARK_HOME}/conf/<代码>目录,拷贝配置样本进行修改:
1。spark-env.sh h5> <代码类="她们"> cp spark-env.sh。代码模板spark-env.sh > >之前
<代码类=" language-shell "> #配置JDK安装位置
JAVA_HOME=/usr/java/jdk1.8.0_201
#配置hadoop配置文件的位置
HADOOP_CONF_DIR=/usr/app/hadoop-2.6.0-cdh6.15.2/etc/hadoop
#配置饲养员地址
SPARK_DAEMON_JAVA_OPTS=" -Dspark.deploy.recoveryMode=饲养员-Dspark.deploy.zookeeper.url=hadoop001:2181 hadoop002:2181, hadoop003:2181 -Dspark.deploy.zookeeper.dir=/火花”代码>
2。奴隶h5> <代码> cp的奴隶。代码模板奴隶>
配置所有锅节点的位置:
<代码类=" language-properties "> hadoop001
hadoop002
hadoop003 代码>
3.4安装包分发
将火花的安装包分发到其他服务器,分发后建议在这两台服务器上也配置一下引发的环境变量。
<代码类=" language-shell "> scp - r/usr/app/spark-2.4.0-bin-hadoop2.6/hadoop002: usr/app/scp - r/usr/app/spark-2.4.0-bin-hadoop2.6 hadoop003:/usr/app/代码>
四,启动集群
4.1启动动物园管理员集群
分别到三台服务器上启动动物园管理员服务:
<代码类=" language-shell "> zkServer。sh开始代码> >之前
4.2启动Hadoop集群
<代码类=" language-shell "> #启动dfs服务
start-dfs.sh
#启动纱服务
start-yarn.sh 代码>
4.3启动火花集群
进入hadoop001的<代码> $ {SPARK_HOME}/sbin/<代码>目录下,执行下面命令启动集群。执行命令后,会在hadoop001上启动<代码>微波激射器代码>服务,会在<代码> 代码>奴隶配置文件中配置的所有节点上启动代码> <代码>工人服务。
<代码类=" language-shell "> start-all.sh 代码>
分别在hadoop002和hadoop003上执行下面的命令,启动备用的<代码> 代码>大师服务:
<代码类=" language-shell "> # $ {SPARK_HOME}/sbin下执行
start-master.sh 代码>
4.4查看服务
查看火花的web ui页面,端口为<代码> 8080> 代码。此时可以看到hadoop001上的主节点处于活着<代码> 代码>状态,并有3个可用的工人<代码> 代码>节点。
而hadoop002和hadoop003上的主节点均处于<代码>备用代码>状态,没有可用的工人<代码> 代码>节点。
火花系列(七)——基于管理员搭建引发高可用集群
<代码类=" language-shell "> #配置JDK安装位置 JAVA_HOME=/usr/java/jdk1.8.0_201 #配置hadoop配置文件的位置 HADOOP_CONF_DIR=/usr/app/hadoop-2.6.0-cdh6.15.2/etc/hadoop #配置饲养员地址 SPARK_DAEMON_JAVA_OPTS=" -Dspark.deploy.recoveryMode=饲养员-Dspark.deploy.zookeeper.url=hadoop001:2181 hadoop002:2181, hadoop003:2181 -Dspark.deploy.zookeeper.dir=/火花”代码>
2。奴隶h5> <代码> cp的奴隶。代码模板奴隶>
配置所有锅节点的位置:
<代码类=" language-properties "> hadoop001 hadoop002 hadoop003 代码>
3.4安装包分发
将火花的安装包分发到其他服务器,分发后建议在这两台服务器上也配置一下引发的环境变量。
<代码类=" language-shell "> scp - r/usr/app/spark-2.4.0-bin-hadoop2.6/hadoop002: usr/app/scp - r/usr/app/spark-2.4.0-bin-hadoop2.6 hadoop003:/usr/app/代码>
四,启动集群
4.1启动动物园管理员集群
分别到三台服务器上启动动物园管理员服务:
<代码类=" language-shell "> zkServer。sh开始代码> >之前4.2启动Hadoop集群
<代码类=" language-shell "> #启动dfs服务 start-dfs.sh #启动纱服务 start-yarn.sh 代码>4.3启动火花集群
进入hadoop001的<代码> $ {SPARK_HOME}/sbin/<代码>目录下,执行下面命令启动集群。执行命令后,会在hadoop001上启动<代码>微波激射器代码>服务,会在<代码> 代码>奴隶配置文件中配置的所有节点上启动代码> <代码>工人服务。
<代码类=" language-shell "> start-all.sh 代码>分别在hadoop002和hadoop003上执行下面的命令,启动备用的<代码> 代码>大师服务:
<代码类=" language-shell "> # $ {SPARK_HOME}/sbin下执行 start-master.sh 代码>4.4查看服务
查看火花的web ui页面,端口为<代码> 8080> 代码。此时可以看到hadoop001上的主节点处于活着<代码> 代码>状态,并有3个可用的工人<代码> 代码>节点。
而hadoop002和hadoop003上的主节点均处于<代码>备用代码>状态,没有可用的工人<代码> 代码>节点。
火花系列(七)——基于管理员搭建引发高可用集群