Spark环境搭建

一、前期准备工作

下载并安装VMware Workstation。

下载CentOS 7的ISO镜像文件。

下载jdk安装包

下载scala安装包

下载Spark安装包。

下载并安装Xshell

下载地址

CentOS阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 (aliyun.com)
SparkApache Spark™ - Unified Engine for large-scale data analytics
jdkJDK下载 - 编程宝库 (codebaoku.com)
scalaThe Scala Programming Language (scala-lang.org)
XshellXshell 下载 - NetSarang Website

二、开始搭建虚拟机

1.准备三台虚拟机

这里位置尽量换成其他盘!!。

启动,选择第二个。

设置时间,设置好点完成

接受许可,完成

之后,中文,汉语,位置关闭,时区上海,名称和密码自己设一个,最后开始使用

然后关机,准备进行克隆,克隆出另外两台。

克隆前需要关机,不是挂起,是关机。

右键点击您要克隆的虚拟机,选择“管理” > “克隆”。

在弹出的“克隆虚拟机向导”中,选择“创建完整克隆”或“创建链接克隆”。完整克隆将创建一个独立于原始虚拟机的新虚拟机,而链接克隆将共享原始虚拟机的磁盘文件,以节省磁盘空间。这里选择“创建完整虚拟机”

确认无误后点击“完成”。

三、完成以上,前期准备完成,得到三台虚拟机

下面内容,用我之前搭建好的node1,node2,node3的进行参考

一、准备

1、分别对三台虚拟机进行开机,右键,打开终端。(三台一台台开会快些,一起开可能会卡)

ip addr

查看ip,得到三台虚拟机的ip,打开记事本,记录下这三台ip后续会用到。

2、打开Xshell,与这三台进行连接(之后操作在Xshell中进行,会方便快捷一些。)

连接方法:略

3.分别对三台虚拟机的主机名进行修改,node1,node2,node3

#查询主机名称
hostname
#修改主机名     hostnamectl set-hostname +主机名

hostnamectl set-hostname node2

4.配置静态IP

vi /etc/sysconfig/network-scripts/ifcfg-ens33

ifcfg-什么根据自己电脑来,有些不是ens33,i编辑模式,编辑完esc退出编辑,:wq保存并退出

改错了就不保存退出。粘贴到终端。三个都要这么来一遍。

5.配置主机映射

三个都要这么做,保存退出

vi /etc/hosts
#以下内容复制到末尾

192.168.117.132 node1
192.168.117.133 node2
192.168.117.135 node3

6.关闭防火墙,三台都关

#查看防火墙状态
sudo systemctl status firewalld 
#暂时关闭防火墙
sudo systemctl stop firewalld
#永久关闭防火墙
sudo systemctl disable firewalld

7.重启三台虚拟机

reboot

重启完ping百度试一下,看看网络是否配置成功。三台都要检查。(插一句,每进行完一个操作就检查一下,看是否是有问题,有问题赶紧解决。解决完在进行下一步)

ping www.baidu.com

停不下来的话,ctrl+c停止ping操作

8.配置各节点SSH免密码登录:
分别在3个节点执行以下命令,生成密钥文件。三次回车

ssh-keygen


9.分别在3个节点执行以下命令,将自身的公钥信息复制并追加到全部节点的授权文件authorized_keys中

ssh-copy-id node01
ssh-copy-id node02
ssh-copy-id node03

执行过程需要输入密码

报错,就su root加权限

完成之后reboot重启

10.检查!!在各节点用以下命令测试SSH免密登录,三台都要检查

ssh node01
ssh node02
ssh node03

二、spark集群的部署

1.创建三个文件夹

mkdir -p /export/servers

data放置相关数据文件

servers软件安装目录

software放置软件包

2.以下命令是下载一个rz 的插件,下载好后在命令行里输入rz 便会跳出一个界面框,可以选择你要从windows传入虚拟机的文件。三台都要装

yum install lrzszcd -y

3.卸载自带jdk

#先查看是否有

java -version

#之后看都有哪些

rpm -qa | grep java

#一条条卸载(卸载带有openjdk的)

rpm -e --nodeps+

#验证

java -version

4.上传安装包,解压,改名称

切换目录到software下,cd /export/software

#上传(出现闪退乱码是不对的,重新上传即可)

rz

#切换到解压安装后的路径

cd /export/servers/

#解压安装包到/export/servers/ 路径下(版本名字改成自己的)

tar -zxvf spark-3.5.2-bin-hadoop3.tgz -C /export/servers/
tar -zxvf scala-2.13.11.tgz -C /export/servers/
tar -zxvf jdk-8u241-linux-x64.tar.gz -C /export/servers/
 

#包名过长,修改为简短名称,方便后续使用

格式:mv 旧名称 新名称

mv jdk1.8.0_181 jdk

5.配置环境变量

因为是新手,所以一个个配。先在node1上配jdk,打开,编辑,保存,重新加载使生效,检查是否生效,node1完成。之后分发给node2,node3,分发操作在node1上完成,之后在2,3上分别用source /etc/profile重新加载环境变量,检查2,3上配置是否生效。scala和spark重复上述操作。每配一个都检查一下,确定无误后再进行下一步。

#打开配置文件

vi  /etc/profile

#重新加载配置文件,使环境变量生效

source /etc/profile

先配置node1,配置完成后验证环境变量是否配置成功,之后分发配置文件给另外两台虚拟机。

#配置jdk的

export JAVA_HOME=/export/servers/jdk
export PATH=$PATH:$JAVA_HOME/bin
export  CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

#配置SCALA_HOME

export SCALA_HOME=/export/servers/scala

#添加bin路径到Path
export PATH=$PATH:$SCALA_HOME/bin

#配置SPARK_HOME

export SPARK_HOME=/export/servers/spark

#添加bin路径到Path
export PATH=$PATH:/export/servers/spark/bin

验证环境变量是否生效,可用命令echo+$变量名的方式输出:

echo $JAVA_HOME
echo $SCALA_HOME
echo $SPARK_HOME

也可以用java -version,scala -version命令来检查。

spark,spark -version不行的话,可以试试spark-submit --version

分发配置。先切入jdk目录,在输入pwd显示当前目录路径,进入显示的目录,分别输入这两条命令(分发是1发给2,3,所以在1里面操作就行了。相当于输入六次,jdk分给2,3。scala分给2,3,spark分给2,3。)

分发不好怎么办,也有办法,给1的三个都配好之后,直接给后面加的一堆都在分别给2,3加进去,相当于1的三个环境变量是一个个配的,23是1检查无误后,直接复制粘贴。记得重新加载生效。

先输入命令:

ll

输入cd jdk切入jdk目录

在输入pwd显示当前目录路径并复制

输入cd /export/servers进入目录

分别输入这两条命令:

scp -r /export/servers/spark node2:$PWD

scp -r /export/servers/spark node3:$PWD

以spark举例,jdk,scala的给换换就行

6.修改spark配置文件:
进入到conf目录,复制文件spark-env.sh.template并重命名为spark-env.sh
      cd /export/servers/spark/conf
重命名spark-env.sh.template:

mv spark-env.sh.template spark-env.sh
并修改该文件配置:
vi spark-env.sh


#配置内容放在尾部,内容如下:
#配置JAVA_HOME
export JAVA_HOME=/export/servers/jdk
#配置SCALA_HOME
export SCALA_HOME=/export/servers/scala
#设置主节点
export SPARK_MASTER_HOST=node1
export SPARK_MASTER_PORT=7077


#复制并重命名workers.template文件:
cp workers.template workers
vi workers

#添加spark集群的workers节点的主机名
node1
node2
node3

#赋予Spark目录更高的操作文件的权限
sudo chmod -R 777 /export/servers/spark

#将配置好的Spark/scala/jdk文件发送到node2、node3节点上(这一步同上面分发配置一个道理)

scp -r /export/servers/spark node02:/export/servers/
scp -r /export/servers/jdk node2:/export/servers/
scp -r /export/servers/scala node2:/export/servers/

scp -r /export/servers/spark node3:/export/servers/
scp -r /export/servers/jdk node3:/export/servers/
scp -r /export/servers/scala node3:/export/servers/

三、启动与关闭集群

Spark 提供了一些单点、集群的启动与停止脚本,可以在 Spark 目录下的 sbin 中查看启动与停止 Spark 的操作脚本。
进入 Spark的sbin 目录,并查看该目录下的脚本。具体命令如下。cd /export/servers/spark/sbin

#进入sbin目录下:
#启动集群:
./start-all.sh

运行启动脚本后,查看返回信息,并使用jps命令查看进程启动情况

启动成功后打开浏览器,输入地址 node1:8080 即可査看集群的UI,在 Spark Ul的页面可以看到集群的节点数、总核心数、内存、存活的 Worker 的信息以及集群状态信息等

#关闭集群:
./stop-all.sh

<think>好的,我现在需要帮助用户了解如何在不同操作系统上搭建和安装Apache Spark环境。首先,我需要整理用户提供的引用内容,看看里面有没有有用的信息。引用1提到在Mac上使用Homebrew安装Spark,引用2和3涉及Linux环境下的安装步骤,包括解压安装包和配置环境。用户的问题覆盖不同操作系统,所以可能需要分Mac、Linux、Windows三个部分来回答。 接下来,我需要确保回答符合系统级指令,比如行内数学表达式用$...$,独立公式用$$...$$,不过这个问题可能涉及代码和命令行,数学公式可能不多。但要注意LaTeX的正确使用,比如如果有路径或变量可能需要用行内格式。不过主要的内容会是安装步骤,所以可能更多用代码块和命令行示例。 用户要求生成相关问题,我需要根据回答内容设计几个相关问题,比如不同系统的注意事项、验证安装的方法、常见问题等。另外,引用需要自然地添加到回答中,比如在提到Mac安装时引用[^1],Linux部分引用[^2]和[^3]。 然后,我需要确保结构清晰,分步骤说明每个操作系统的安装流程。Mac部分使用Homebrew,Linux部分包括解压、配置环境变量,Windows可能需要依赖WSL或者直接安装。还要注意各个系统的依赖项,比如Java、Python环境,Anaconda可能在某些情况下需要。 可能遇到的问题包括环境变量配置是否正确,端口访问是否正常,如引用3提到的8088和50070端口,需要提醒用户检查服务是否启动。另外,验证安装的部分需要给出具体的命令,如运行spark-shell或pyspark,并执行示例代码。 最后,生成的相关问题需要围绕安装后的步骤、性能优化、不同系统差异等,确保问题对用户有帮助,并且覆盖他们可能感兴趣的后续内容。</think>### 如何在不同操作系统上搭建和安装Apache Spark环境? #### **1. Mac系统** **步骤1:安装Homebrew** 若未安装Homebrew,执行以下命令: ```bash /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ``` **步骤2:通过Homebrew安装Spark** 执行命令: ```bash brew install apache-spark ``` 此方法会自动处理依赖(如Java)并配置环境变量。 **步骤3:验证安装** 运行Spark Shell: ```bash spark-shell ``` 若成功进入交互界面,显示类似`SparkSession available as 'spark'`,则安装成功。 --- #### **2. Linux系统(以Ubuntu为例)** **步骤1:安装依赖** 安装Java和Scala: ```bash sudo apt-get update sudo apt-get install openjdk-8-jdk scala ``` **步骤2:下载并解压Spark** 从官网下载安装包(如`spark-3.5.0-bin-hadoop3.tgz`),解压至目标目录: ```bash tar -xzf spark-3.5.0-bin-hadoop3.tgz -C /opt/ ``` **步骤3:配置环境变量** 编辑`~/.bashrc`,添加: ```bash export SPARK_HOME=/opt/spark-3.5.0-bin-hadoop3 export PATH=$PATH:$SPARK_HOME/bin ``` 执行`source ~/.bashrc`使配置生效。 **步骤4:验证安装** 运行命令: ```bash spark-shell ``` 访问Web UI `http://localhost:4040` 查看资源状态。 --- #### **3. Windows系统** **方法1:通过WSL(推荐)** 1. 启用WSL并安装Ubuntu子系统。 2. 按照上述Linux步骤安装Spark。 **方法2:直接安装** 1. 安装Java 8+并配置`JAVA_HOME`。 2. 下载Spark二进制包,解压到本地目录(如`C:\spark`)。 3. 配置环境变量: - `SPARK_HOME=C:\spark` - 添加`%SPARK_HOME%\bin`到`PATH`。 4. 在PowerShell中运行`spark-shell`验证。 --- #### **通用配置注意事项** 1. **Python支持**:安装PySpark需配置Python环境(推荐Anaconda)。 2. **Hadoop集成**:若需HDFS支持,选择与Hadoop版本匹配的Spark安装包。 3. **集群模式**:单机版以上步骤适用;集群部署需修改`spark-env.sh`和`slaves`文件。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值