IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Spark3.2教程(九)CentOS7下Spark Standalone分布式搭建 -> 正文阅读

[大数据]Spark3.2教程(九)CentOS7下Spark Standalone分布式搭建

????????Spark搭建方式有local、Standalone、on Yarn等。

  • local模式适合程序的开发测试
  • Standalone模式适合小规模数据
  • on Yarn适合大数据量大,并且可能依赖于其他计算引擎,如MapReduce,这样可以更好的和Hadoop集成

????????因为Spark本质上是一个计算引擎,对于学习它而言,用本地模式就可以,实际工作中会有专门人员根据实际情况进行合适模式的搭建。
????????但是作为想要提高自己认知的学习者,还是有必要在Linux下搭建一套环境的。我们本次在3台节点上搭建一个Spark Standalone模式的分布式集群环境。

Linux环境为CentOS7,JDK1.8,Spark3.2.0,因为是Standalone模式,Hadoop可有可无。
版本选择,避免踩坑请看:
Spark3.2教程(前置)关于Spark3.2.0与Scala版本的坑

三台虚拟机如下所示,其中hp301为主结点。

主机名IP地址
hp301192.168.150.31
hp302192.168.150.32
hp303192.168.150.33

一、静态IP、关闭防火墙,关闭selinux,修改hosts做一个映射,修改ip地址
参见:Hadoop3.3.1详细教程(二)样机配置
二、安装JDK
参见:Hadoop3.3.1详细教程(三)克隆样机+JDK安装
三、免密登录
参见:Hadoop3.3.1详细教程(四)Linux集群搭建+免密登录

搭建Spark:
1.将spark-3.2.0-bin-hadoop3.2-scala2.13.tgz上传到/apps文件夹下
2.解压至/usr/local下

tar -zxvf /apps/spark-3.2.0-bin-hadoop3.2-scala2.13.tgz  -C /usr/local

3.为其创建一个软连接:

ln -s /usr/local/spark-3.2.0-bin-hadoop3.2-scala2.13 /usr/local/spark3

4.配置环境变量

vi /etc/profile.d/spark.sh
export SPARK_HOME=/usr/local/spark3
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

使之生效:

source /etc/profile.d/spark.sh

5.修改配置文件
在spark/conf目录下
复制spark-env.sh.template文件,命名为 spark-env.sh

cp spark-env.sh.template spark-env.sh

在里面最后追加上:

export JAVA_HOME=$JAVA_HOME
export SPARK_HOME=$SPARK_HOME

复制workers.template文件,命名为 workers
和Hadoop一样,设置从结点,将里面内容替换为:

hp302
hp303

6,将hp301配置好的Spark、环境变量分发到hp302、hp303

scp -r /usr/local/spark-3.2.0-bin-hadoop3.2-scala2.13/ hp302:/usr/local
scp -r /usr/local/spark-3.2.0-bin-hadoop3.2-scala2.13/ hp303:/usr/local
 scp -r /etc/profile.d/spark.sh hp302:/etc/profile.d
 scp -r /etc/profile.d/spark.sh hp303:/etc/profile.d

并分别进入hp302、hp303创建软连接、并让它们的环境变量生效。

7.启动:
启动Spark的命令和Haooop一样,都是start-all.sh,因为本集群之前已经搭建好了Hadoop,所以这时候直接输入start-all.sh,只会启动Hadoop。在这种情况下,可以通过加$SPARK_HOME前缀的方式找到start-all.sh启动。

$SPARK_HOME/sbin/start-all.sh

jps主结点会有Master进程,从结点会有Worker进程。
访问WEB UI界面:
在这里插入图片描述
8.测试
在启动Spark的时候,控制台会打印出一行信息来,这就是Master的URL,在接下来的运行jar时候,需要指定。

spark://hp301:7077

通过Spark自带的PI程序测试:

spark-submit  --class org.apache.spark.examples.SparkPi --master spark://hp301:7077 --num-executors  2 /usr/local/spark3/examples/jars/spark-examples_2.13-3.2.0.jar

可以在打印的日志中,找到结果值:
在这里插入图片描述
通过WEB UI可以看到运行、结束的任务信息。
在这里插入图片描述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-12-24 18:32:57  更:2021-12-24 18:33:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:36:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码