0


Spark环境搭建

一、前期准备工作

下载并安装VMware Workstation。

下载CentOS 7的ISO镜像文件。

下载jdk安装包

下载scala安装包

下载Spark安装包。

下载并安装Xshell

下载地址
CentOS阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 (aliyun.com)SparkApache Spark™ - Unified Engine for large-scale data analyticsjdkJDK下载 - 编程宝库 (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


本文转载自: https://blog.csdn.net/2201_75779723/article/details/142001531
版权归原作者 C·Tracer 所有, 如有侵权,请联系我们删除。

“Spark环境搭建”的评论:

还没有评论