CentOS 7基于 Hadoo2.7.3完全分布式集群 安装配置 spark2.4.3 以及 安装 scala

该博客详细介绍了如何在CentOS 7环境下,基于已有的Hadoop 2.7.3完全分布式集群,安装并配置Spark 2.4.3以及Scala。首先,博主提供了下载Spark和Scala的官方链接,然后在主节点上完成Scala的安装和环境变量配置。接着,博主详细讲述了Spark的安装步骤,包括解压、配置环境变量、修改spark-env.sh和slaves文件,并将所有配置复制到从节点。最后,启动Spark并使用jps检查集群状态,确认Master和Worker正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0x00准备

0x01 前提

确保Hadoop2.7.3完全分布式集群可正常使用
笔者已配置环境如下:
JDK版本:jdk1.8.0_121
Hadoop版本:hadoop-2.7.3
三台服务器ip分布如下

10.1.1.91	hadoop01 	#主
10.1.1.92 	hadoop02 	#从
10.1.1.93	hadoop03 	#从

启动Hadoop

start-all.sh
#
# 用jps查看主节点有如下活动
8227 DataNode
8580 ResourceManager
8692 NodeManager
8901 Jps
8122 NameNode
8397 SecondaryNameNode
#
# 用jps查看从节点
7430 Jps
7197 DataNode
7309 NodeManager

0x02 下载 Spark 安装包

Spark官方下载地址:https://spark.apache.org/downloads.html

  1. 选择版本号,如2.4.3
  2. 选择包类型,如Pre-buillt for Apache Hadoop 2.7 and later
  3. 点击下载进入下载页面
    在这里插入图片描述
    选择建议镜像下载地址进行下载:
    在这里插入图片描述

0x03 下载 Scala 安装包

Scala官方下载地址:https://www.scala-lang.org/download/2.12.8.html

  1. 打开页面滑动至底部
  2. 选择包类型,如scala-2.12.8.tgz
    在这里插入图片描述

0x10安装配置Scala

在主节点完成以下配置

  1. 解压Scala的tgz包到路径/opt/module
tar -xvf scala-2.12.8.tgz -C /opt/module
  1. 编辑/etc/profile(在文本末尾添加),配置系统环境变量
 # 使用vi打开
vi /etc/profile
#
# 添加如下Scala的环境变量
export SCALA_HOME=/opt/module/scala-2.12.8
export $SCALA_HOME/bin:$PATH
#
#保存退出,然后source使其生效
source /etc/profile

0x20 安装配置Spark

以下操作均在主节点机器上

0x21解压tgz包和配置系统环境变量

  1. 解压Spark的tgz包到路径/opt/module
tar -xvf spark-2.4.3-bin-hadoop2.7.tgz -C /opt/module

2.编辑/etc/profile文件(在末尾添加) ,配置系统环境变量

# 使用vi打开
vi /etc/profile
#
# 添加如下saprk的环境变量
export SPARK_HOME=/opt/module/spark-2.4.3-bin-hadoop2.7 
export PATH=$SPARK_HOME/bin:$PATH
#
#保存退出,然后source使其生效
source /etc/profile

0x22 配置spark-env.sh文件

#
# 进入spark安装路径的conf目录
cd /opt/module/spark-2.4.3-bin-hadoop2.7/conf/
#
# 拷贝spark-env.sh已有模板
cp spark-env.sh.template spark-env.sh

用vim编辑 spark-env.sh 在末尾添加如下内容

#
# JDK 的安装路径
export JAVA_HOME=/opt/module/jdk1.8.0_121
# Scala 的安装路径
export SCALA_HOME=/opt/module/scala-2.12.8
# Hadoop 的安装路径
export HADOOP_HOME=/opt/module/hadoop-2.7.3
# Hadoop 配置文件路径
export HADOOP_CONF_DIR=/opt/module/hadoop-2.7.3/etc/hadoop
# 集群主机IP
export SPARK_MASTER_IP=10.1.1.91
# 集群主机IP
export SPARK_MASTER_HOST=10.1.1.91
# 在Slave中需要将export SPARK_LOCAL_IP=10.1.1.91改成Slave对应节点的IP
export SPARK_LOCAL_IP=10.1.1.91
# Worker内存,不能超过实际内存
export SPARK_WORKER_MEMORY=1g
# Worker核心数
export SPARK_WORKER_CORES=2
# spark 安装路径
export SPARK_HOME=/opt/module/spark-2.4.3-bin-hadoop2.7
# Hadoop bin路径
export SPARK_DIST_CLASSPATH=$(/opt/module/hadoop-2.7.3/bin/hadoop classpath)

0x23 配置slaves文件(这个文件模板也在conf下)

#
# 拷贝slaves已有模板
cp slaves.template slaves

用vim编辑 slaves 文件,添加如下内容(hosts文件中配置的集群主机名)

hadoop01
hadoop02
hadoop03

0x30 将以上安装以及配置从主节点拷贝的从节点

集群内是用scp命令传输文件很方便

0x31 主节点拷贝scala到从节点

scp -r /opt/module/scala-2.12.8/ root@hadoop02:/opt/module/
scp -r /opt/module/scala-2.12.8/ root@hadoop03:/opt/module/

0x32 主节点拷贝spark到从节点

scp -r /opt/module/spark-2.4.3-bin-hadoop2.7/ root@hadoop02:/opt/module/
scp -r /opt/module/spark-2.4.3-bin-hadoop2.7/ root@hadoop03:/opt/module/

注意:拷贝到从节点的spark,配置路径conf下的 spark-env.sh
需要将 export SPARK_LOCAL_IP=10.1.1.91 中的IP改成Slave对应节点的IP

如,在从节点hadoop02中

export SPARK_LOCAL_IP=10.1.1.92

如,在从节点hadoop03中

export SPARK_LOCAL_IP=10.1.1.93

0x33 主节点拷贝/etc/profile文到从节点

  1. 拷贝
scp /etc/profile root@hadoop02:/etc/profile
scp /etc/profile root@hadoop03:/etc/profile
  1. 执行source命令是环境变量生效
ssh root@hadoop02 "source /etc/profile"
ssh root@hadoop03 "source /etc/profile"

0x40 启动Spark

0x41 启动spark(在此之前Hadoop已启动)

/opt/module/spark-2.4.3-bin-hadoop2.7/sbin/start-all.sh

注:Spark的启动脚本的名称和Hadoop一样的,你可以使用mv命令为spark启动脚本取个别名
如:start-spark-all.sh
便于自己区分

0x42 jps 查看主从集群已有活动

主节点

8227 DataNode
10115 Worker
8580 ResourceManager
8692 NodeManager
10149 Jps
8122 NameNode
8397 SecondaryNameNode

可见相对于本篇开始,主节点多出了Master和Worker
从节点

7820 Jps
7197 DataNode
7309 NodeManager
7775 Worker

可见相对于本篇开始,从节点多出了Worker

0x50 参考

[待补充]

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值