Spark实例学习(一)spark3.x集群搭建

目录

  • 集群规划
  • spark安装包下载
  • 虚拟机搭建
    • NAT静态网络配置
    • Hadoop集群搭建
  • scala安装
  • 配置spark
    • 修改conf下文件
    • 分发虚拟机
    • 修改启动文件名
    • 配置历史日志
  • 启动spark
  • UI界面查看
  • 测试spark与hadoop集群是否配置成功


集群规划

集群 类型
spark01 master
spark02 worker
spark03 worker

spark安装包下载

http://archive.apache.org/dist/spark/
我使用的是spark-3.0.0-bin-hadoop3.2.tgz
Spark实例学习(一)spark3.x集群搭建_第1张图片

虚拟机搭建

NAT静态网络配置

网络配置

Hadoop集群搭建


Hadoop3.xHA搭建
Hadoop3.x集群的搭建

scala安装

下载scala2.12.x版本
https://downloads.lightbend.com/scala/2.12.11/scala-2.12.11.tgz
上传至linux并解压
Spark实例学习(一)spark3.x集群搭建_第2张图片
在这里插入图片描述
添加环境变量

#set scala
export SCALA_HOME=/usr/spark/scala-2.12.11
export PATH=$PATH:$SCALA_HOME/bin

在这里插入图片描述
在这里插入图片描述

配置spark

修改conf下文件

将conf下spark-env.sh.template 文件改名为 spark-env.sh
Spark实例学习(一)spark3.x集群搭建_第3张图片
在末尾加上JDK、Hadoop所在的目录

export JAVA_HOME=/usr/local/java/jdk1.8.0_141
export HADOOP_HOME=/usr/hadoop/hadoop-3.2.1
export HADOOP_CONF_DIR=/usr/hadoop/hadoop-3.2.1/etc/hadoop

在这里插入图片描述
配置主节点的主机号和端口号

export SPARK_MASTER_HOST=spark01
export SPARK_MASTER_PORT=7077

在这里插入图片描述

配置主机内存和核

export SPARK_WORKER_MEMORY=1g
export SPARK_WORKER_CORES=1
export SPARK_MASTER_WEBUI_PORT=8089

在这里插入图片描述
将conf下的slaves.template文件改名为 slaves
Spark实例学习(一)spark3.x集群搭建_第4张图片
编辑slaves,删除localhost,加入两个子节点

spark02
spark03

Spark实例学习(一)spark3.x集群搭建_第5张图片
配置spark环境变量

#set spark
export SPARK_HOME=/usr/spark/spark-3.0.0-bin-hadoop3.2
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

在这里插入图片描述

分发虚拟机

将之前的scala和spark文件分发给其他虚拟机

[root@spark01 spark]# scp -r scala-2.12.11 root@spark02:/usr/spark/
[root@spark01 spark]# scp -r scala-2.12.11 root@spark03:/usr/spark/
[root@spark01 spark]# scp -r spark-3.0.0-bin-hadoop3.2 root@spark02:/usr/spark/
[root@spark01 spark]# scp -r spark-3.0.0-bin-hadoop3.2 root@spark03:/usr/spark/

再将环境变量分发给其他虚拟机

[root@spark01 spark]# scp -r /etc/profile root@spark02:/etc/profile
[root@spark01 spark]# scp -r /etc/profile root@spark03:/etc/profile

修改启动文件名

由于spark的启动文件名会与Hadoop集群的启动文件名发生冲突,所以修改spark的启动文件名

[root@spark01 sbin]# mv start-all-spark.sh start-all-spark.sh
[root@spark01 sbin]# mv stop-all.sh stop-all-spark.sh

Spark实例学习(一)spark3.x集群搭建_第6张图片
Spark实例学习(一)spark3.x集群搭建_第7张图片

配置历史日志

将conf下的spark-defaults.conf.template 文件改名为 spark-defaults.conf

[root@spark01 conf]# mv spark-defaults.conf.template spark-defaults.conf

编辑spark-defaults.conf

[root@spark01 conf]# vi spark-defaults.conf

将下列两行代码加入该文件中

spark.eventLog.enabled           true
spark.eventLog.dir               hdfs://spark02:9000/spark-log

Spark实例学习(一)spark3.x集群搭建_第8张图片
其中spark-log文件夹得提前创建
Spark实例学习(一)spark3.x集群搭建_第9张图片
再次编辑spark-env.sh

#配置log
export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 -Dspark.history.retainedApplications=30 -Dspark.history.fs.logDirectory=hdfs://spark02:9000/spark-log"

在这里插入图片描述
将修改好的文件分发给另外两个虚拟机

[root@spark01 ~]# scp -r conf root@spark02:/usr/spark/spark-3.0.0-bin-hadoop3.2/
[root@spark01 ~]# scp -r conf root@spark03:/usr/spark/spark-3.0.0-bin-hadoop3.2/

启动spark

启动hadoop集群
[root@spark01 sbin]# start-all.sh
启动spark集群
[root@spark01 sbin]# start-all-spark.sh 
启动spark历史服务
[root@spark01 sbin]# start-history-server.sh 

Spark实例学习(一)spark3.x集群搭建_第10张图片
输入jps查看
Spark实例学习(一)spark3.x集群搭建_第11张图片

UI界面查看

在网址上输入主机名:8089
Spark实例学习(一)spark3.x集群搭建_第12张图片
在网址上输入主机名:18080
Spark实例学习(一)spark3.x集群搭建_第13张图片

测试spark与hadoop集群是否配置成功

创建test.json文件

[root@spark01 test]# vi test.json

在test.json文件中写入

{"DEST_COUNTRY_NAME":"United States","ORIGIN_COUNTRY_NAME":"Romania","count":1}

进入spark终端

[root@spark01 test]# spark-shell 

终端的页面如下
Spark实例学习(一)spark3.x集群搭建_第14张图片
在终端下编写代码
val testDF = spark.read.json(“file:///root/test/test.json”)
在这里插入图片描述
testDF.write.format(“parquet”).save("/spark-dir/parquet/test")
在这里插入图片描述
访问hadoopUI
Spark实例学习(一)spark3.x集群搭建_第15张图片
产生以下文件说明spark搭建成功
Spark实例学习(一)spark3.x集群搭建_第16张图片
访问sparkUI查看历史日志
主机名:18080
Spark实例学习(一)spark3.x集群搭建_第17张图片

你可能感兴趣的:(spark,大数据,hadoop,spark,linux,java)