基于hadoop3.1.2分布式平台上部署spark HA集群

本文详述如何在hadoop3.1.2上部署Spark HA集群,包括配置文件修改、启动流程、设置spark-shell默认环境以及使用Spark的相关web服务页面查看application执行过程。内容涵盖从安装版本、环境设置到启动和测试Spark HA,确保集群高可用。
摘要由CSDN通过智能技术生成


在此文章 《基于Centos7.5完整部署分布式Hadoop3.1.2》里,已经给出详细的hadoop和yarn的部署过程,既然已经解决了大数据开发中“hdfs”的数据存储部署,那么就要考虑如何基于底层分布式文件基础上运行计算框架,以便进行更高层次的应用开发。在本篇文章中,将给出完整部署spark计算框架集群。

1、spark版本(仅列出spark相关)

spark-2.4.4-bin-hadoop2.7,该版本的spark支持hadoop2.7以及之后的版本

scala-2.13.1:使用Scala语言开发数据处理逻辑,当然也可使用python进行spark数据处理逻辑开发,官网有给出pyspark相关指导教程。

三台节点都需要配置,目录放置路径:

[root@nn opt]# ls
hadoop-3.1.2    jdk1.8.0_161  scala-2.13.1  spark-2.4.4-bin-hadoop2.7

spark HA集群规划,这里只列出spark HA集群的有关进程,hadoop的进程不再列出

IP,hostname spark集群中负责的角色 Spark 路径 Scala路径 物理内存
192.188.0.4,nn master,worker,spark-history-server /opt/spark-2.4.4-bin-hadoop2.7 /opt/scala-2.13.1 2G
192.188.0.5,dn1 master,worker /opt/spark-2.4.4-bin-hadoop2.7 /opt/scala-2.13.1 1G
192.188.0.6,dn2 master,worker /opt/spark-2.4.4-bin-hadoop2.7 /opt/scala-2.13.1 1G

这里spark master节点nn的物理内存给了2G,因为该节点不仅仅启动了spark相关主服务,还得启动hadoop相关主服务,如果物理内存不足,在后面章节中启动spark-shell或者跑application都无法正常启动,提示资源不足。

2、设置path环境

三个节点都需要设置

[root@nn opt]# vi /etc/profile
export JAVA_HOME=/opt/jdk1.8.0_161
export HADOOP_HOME=/opt/hadoop-3.1.2
export SCALA_HOME=/opt/scala-2.13.1
export SPARK_HOME=/opt/spark-2.4.4-bin-hadoop2.7/
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SPARK_HOME/bin:$SCALA_HOME/bin:
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

3、配置spark集群的相关文件

# 拷贝一份spark-env.sh文件用于配置spark环境
[root@dn1 ~]# cp /opt/spark-2.4.4-bin-hadoop2.7/conf/spark-env.sh.template /opt/spark-2.4.4-bin-hadoop2.7/conf/spark-env.sh
[root@dn1 ~]# cd /opt/spark-2.4.4-bin-hadoop2.7/

[root@dn1 spark-2.4.4-bin-hadoop2.7]# ls conf/
docker.properties.template   slaves.template
fairscheduler.xml.template   spark-defaults.conf.template
log4j.properties.template    spark-env.sh
metrics.properties.template  spark-env.sh.template

[root@dn1 spark-2.4.4-bin-hadoop2.7]# vi conf/spark-env.sh

只需在spark-env.sh文件头部加入以下环境变量

export SCALA_HOME=/opt/scala-2.12.8
export JAVA_HOME=/opt/jdk1.8.0_161
# 设定192.188.0.4,nn节点为spark master
export SPARK_MASTER_IP=nn
export SPARK_WORKER_MEMORY=1g
# hadoop的配置文件**site.xml所在目录
export HADOOP_CONF_DIR=/opt/hadoop-3.1.2/etc/hadoop

修改conf目录下的slaves文件

[root@dn1 conf]# pwd
/opt/spark-2.4.4-bin-hadoop2.7/conf
[root@dn1 conf]# cp slaves.template slaves
[root@dn1 conf]# vi slaves
dn1
dn2

为减少spark主节点nn的内存资源消耗,这里不再将nn设为Work

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值