准备环境:
jdk1.8.0_91
scala-2.12.13.zip
spark-3.0.2-bin-hadoop3.2
hadoop-3.2.2.tar.gz
centos7:
spark-master
spark-slave-1
spark-slave-2
创建虚拟机:
1、创建一台虚拟机,并且安装Centos7,如果不知道怎么做可以参考我之前写的VMware安装Centos7
2、给虚拟机设置静态网络,我用的是NAT(地址转换模式)设置固定IP,不知道的可以参考我之前的博客
注:这里也可以只创建1个实例,做好环境和基础的配置准备,再用克隆功能克隆出2个新的实例,只需要改下IP和hostname即可
安装jdk:
不知道的也可以参考我之前的写的Centos7通过yum安装JDK1.8,里面介绍了如何查询jdk地址
下载安装spark:
不知道的可以继续参考我的centos7下载安装spark
下载安装hadoop:
hadoop的下载安装,并且创建集群模式可以参考我的Hadoop下载安装,并且配置集群启动
创建spark Standalone 集群模式:
注:这里也可以只创建1个实例,做好环境和基础的配置准备,再用克隆功能克隆出2个新的实例,只需要改下IP和mac地址即可
1、安装net-tools
执行命令:yum install net-tools
2、克隆虚拟机
3、修改主机名称:hostnamectl set-hostname spark-slave-1
4、修改ip地址:vi /etc/sysconfig/network-scripts/ifcfg-ens33
5、修改机器名
master:hostnamectl set-hostname spark-master
slave_1:hostnamectl set-hostname spark-slave-1
slave_2:hostnamectl set-hostname spark-slave-2
6、修改Host:(vi /etc/hosts)
master主机IP spark-master
slave_1主机IP spark-slave-1
slave_2主机IP spark-slave-2
7、重启虚拟机
8、创建免密登录(这个因该在很多地方都会提到)
不知道的可以参考我之前写的centos7创建ssh免密登录
9、修改配置文件
- 进入解压缩后路径的 conf 目录,修改 slaves.template 文件名为 slaves
执行命令:mv slaves.template slaves - 修改 slaves 文件,添加 work 节点,在文件最后添加如下语句
spark-master spark-slave-1 spark-slave-2
-
修改 spark-env.sh.template 文件名为 spark-env.sh
执行命令:mv spark-env.sh.template spark-env.sh -
修改 spark-env.sh 文件,添加 JAVA_HOME 环境变量和集群对应的 master 节点,在文件最后添加如下语句
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.282.b08-1.el7_9.x86_64 SPARK_MASTER_HOST=spark-master SPARK_MASTER_PSOT=7077
-
分发 spark-standalone 目录(需要创建xsync 脚本文件)
执行命令:xsync spark-standalone
10、启动集群
执行脚本命令:
开启:./sbin/start-all.sh
关闭:./sbin/stop-all.sh
11、测试提交应用
bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://192.168.232.170:7077 \
./examples/jars/spark-examples_2.12-3.0.2.jar \
10
创建Spark YARN集群模式:
1、修改Spark的spark-env.sh 如下图
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.282.b08-1.el7_9.x86_64
SPARK_MASTER_HOST=spark-master
SPARK_MASTER_PSOT=7077
export HADOOP_HOME=/usr/local/hadoop/hadoop-3.2.0/
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
2、将配置文件spark-env.sh分发到两个slave节点
执行命令:xsync spark-env.sh
3、启动集群
执行命令:start-all.sh
至此集群搭建完毕!
逻辑可能有点乱,需要水友自己理解了,整个脉络就清晰了,反正我是一团乱