【spark的集群模式搭建】Standalone集群模式的搭建(简单明了的安装教程)

文章目录

    • 1、使用Anaconda部署Python
    • 2、上传、解压、重命名
    • 3、创建软连接
    • 4、配置spark环境变量
    • 5、修改 spark-env.sh配置文件
    • 6、启动hdfs,创建文件夹
    • 7、修改spark-defaults.conf配置文件
    • 8、修改workers配置文件
    • 9、修改log4j.properties配置文件(可选)
    • 10、分发文件夹和软连接
    • 11、集群启动


[图片]

1、使用Anaconda部署Python

使用anaconda的好处:具有资源环境隔离功能,方便基于不同版本不同环境进行测试开发
[图片]

分发脚本的编写可以参考文章:
大数据集群搭建以及使用过程中几个实用的shell脚本

spark 和 Anaconda 资源下载链接:
spark-3.1.2 和 Anaconda3 的安装包下载

# 上传(文件夹可以换成其他的)
cd /opt/modules
# 同步给其他两个节点【分发脚本】
xsync.sh /opt/modules/Anaconda3-2021.05-Linux-x86_64.sh


# 以下操作在三个节点都需要进行

# 添加执行权限
chmod u+x Anaconda3-2021.05-Linux-x86_64.sh
# 执行
./Anaconda3-2021.05-Linux-x86_64.sh

# 过程
#第一次:【直接回车,然后按q】
   Please, press ENTER to continue
   >>>
#第二次:【输入yes】
 Do you accept the license terms? [yes|no]
 [no] >>> yes
#第三次:【输入解压路径:/opt/installs/anaconda3】
 [/root/anaconda3] >>> /opt/installs/anaconda3
 #第四次:【输入yes,是否在用户的.bashrc文件中初始化
Anaconda3的相关内容】
 Do you wish the installer to initialize  Anaconda3
   by running conda init? [yes|no]
   [no] >>> yes
   

# 配置环境变量
vi /etc/profile
# 添加以下内容
# Anaconda Home
export ANACONDA_HOME=/opt/installs/anaconda3
export PATH=$PATH:$ANACONDA_HOME/bin
# 刷新环境变量
source /etc/profile
# 创建python3的软连接
ln -s /opt/installs/anaconda3/bin/python3 /usr/bin/python3
# 验证
echo $ANACONDA_HOME

2、上传、解压、重命名

# 解压安装
cd /opt/modules
tar -zxvf spark-3.1.2-bin-hadoop3.2.tgz -C /opt/installs

# 重命名
cd /opt/installs
mv spark-3.1.2-bin-hadoop3.2 spark-standalone

3、创建软连接

ln -s spark-standalone spark

4、配置spark环境变量

export SPARK_HOME=/opt/installs/spark
export PATH=$SPARK_HOME/bin:$PATH

5、修改 spark-env.sh配置文件

cd /opt/installs/spark/conf
# 重命名
mv spark-env.sh.template spark-env.sh
vim spark-env.sh

添加以下内容:

export JAVA_HOME=/opt/installs/jdk
export HADOOP_CONF_DIR=/opt/installs/hadoop/etc/hadoop
export SPARK_MASTER_HOST=node01 # 主节点所在的地址
export SPARK_MASTER_PORT=7077 #主节点内部通讯端口,用于接收客户端请求
export SPARK_MASTER_WEBUI_PORT=8080 #主节点用于供外部提供浏览器web访问的端口
export SPARK_WORKER_CORES=1     # 指定这个集群总每一个从节点能够使用多少核CPU
export SPARK_WORKER_MEMORY=1g   #指定这个集群总每一个从节点能够使用多少内存
export SPARK_WORKER_PORT=7078
export SPARK_WORKER_WEBUI_PORT=8081
export SPARK_DAEMON_MEMORY=1g  # 进程自己本身使用的内存
export SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://node01:9820/spark/eventLogs/ -Dspark.history.fs.cleaner.enabled=true"
# Spark中提供了一个类似于jobHistoryServer的进程,就叫做HistoryServer, 用于查看所有运行过的spark程序

6、启动hdfs,创建文件夹

start-dfs.sh
# 创建程序运行日志的存储目录
hdfs dfs -mkdir -p /spark/eventLogs/

7、修改spark-defaults.conf配置文件

mv spark-defaults.conf.template spark-defaults.conf
vim spark-defaults.conf

# 末尾
spark.eventLog.enabled           true
spark.eventLog.dir              hdfs://node01:9820/spark/eventLogs
spark.eventLog.compress              true

8、修改workers配置文件

mv workers.template workers
vim workers

# 删掉localhost,添加以下内容
node01
node02
node03

9、修改log4j.properties配置文件(可选)

mv log4j.properties.template log4j.properties
vim log4j.properties

# 19行:修改日志级别为WARN
log4j.rootCategory=WARN, console

10、分发文件夹和软连接

# 第一台(分发脚本)
xsync.sh /opt/installs/spark-standalone/
xsync.sh /opt/installs/spark

11、集群启动

# 启动master:
cd /opt/installs/spark
sbin/start-master.sh
# 启动所有worker:
sbin/start-workers.sh
# 如果你想启动某一个worker
sbin/start-worker.sh

# 启动日志服务:
sbin/start-history-server.sh

# 要想关闭某个服务,将start换为stop

master监控界面:http://node01:8080/
日志服务监控界面:http://node01:18080/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/909515.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ST-GCN模型实现花样滑冰动作分类

项目源码获取方式见文章末尾! 600多个深度学习项目资料,快来加入社群一起学习吧。 《------往期经典推荐------》 项目名称 1.【基于CNN-RNN的影像报告生成】 2.【卫星图像道路检测DeepLabV3Plus模型】 3.【GAN模型实现二次元头像生成】 4.【CNN模型实现…

【RabbitMQ】03-交换机

1. 交换机 2. Fanout交换机 广播。生产者向exchange发消息 SpringBootTest public class SpringAmqpTest {Autowiredpublic RabbitTemplate rabbitTemplate;Testvoid testSimple() {String exchangName "hmall.fabout";rabbitTemplate.convertAndSend(exchangName…

【07】Maven项目多环境打包配置

(1)Web项目使用Maven进行多模块划分开发之后,面临一个问题,即如何加载不同环境的配置文件打包发布到不同的环境中? (2)不同的环境有开发环境、测试环境、线上生产环境等。 (3&#x…

【Unity Shader】Special Effects(十)Change 变换(UI)

源码:[点我获取源码] 索引 Change 变换思路分析变换进度噪声纹理闪烁闪烁时机闪烁颜色闪烁动画Change 变换 变换的效果为图像间的切换带来动感过程,使用动画播放器: 思路分析 首先,从原始图像变换到目标图像是一个从0到1的过程,这个过程我们命名为变换进度(0为完全显…

关于wordpress instagram feed 插件 (现更名为Smash Balloon Social Photo Feed)

插件地址: Smash Balloon Social Photo Feed – Easy Social Feeds Plugin – WordPress 插件 | WordPress.org China 简体中文 安装后,配置教程: Setting up the Instagram Feed Pro WordPress Plugin - Smash Balloon 从这里面开始看就…

JavaScript的对象事件处理程序

一、对象的事件 对象的事件是指在一个对象上发生的特定动作或状态改变。对象可以是现实世界中的物体、概念、数据结构等。根据对象的类型和功能,可能会有不同类型的事件。 对象的事件一般由对象的方法或属性来处理和触发。通过定义对象的方法和属性,可…

Win11 CLion Qt开发探索

文章目录 一、Win11 CLion Qt需要的环境二、环境说明三、Win11 CLion Qt 开发步骤四、CLion Qt CMake脚本相关配置4.1 在CLion里如何使用资源文件.qrc4.2 Qt6 cmake如何添加ts翻译文件 五、程序打包 本篇博客介绍在Win11上使用CLion来编写Qt QWidget项目。 视频讲解&#xff1a…

Windows Server2012 R2搭建NFS服务器

正文共:1024 字 23 图,预估阅读时间:1 分钟 在测试vCenter的集群操作时,出现了共享vSAN错误的问题,导致无法继续。我也只好先创建一个共享NFS(Network File System,网络文件系统)存储…

信息安全工程师(77)常见网络安全应急事件场景与处理流程

前言 网络安全应急事件场景多样,处理流程也需根据具体情况灵活调整。以下将详述几种常见的网络安全应急事件场景及其处理流程。 一、数据泄露事件 场景描述: 数据泄露是指敏感、受保护或机密数据被未经授权的个人复制、传输、查看、窃取或使用。这种事件…

win10下MMSegmentation自定义数据集

下载1.2.1版本: Releases open-mmlab/mmsegmentation GitHub 安装环境 本地torch环境为1.9.1 pip install -U openmim mim install mmengine mim install "mmcv>=2.0.0" 报mmcv版本不匹配的问题,形如:MMCV==X.X.X is used but incompatible. Please inst…

低代码解锁跨平台应用开发新境界

数字化转型中,企业面临应用开发挑战,低代码平台成为理想选择。ZohoCreator提供统一开发环境、拖拽设计、预置模板等,支持高效构建跨平台应用,确保数据安全与合规,助力企业数字化转型。 一、低代码平台是什么&#xff1…

yolov8涨点系列之C2f模块改进主分支

文章目录 C2F 模块介绍定义与基本原理应用场景 C2f模块修改步骤(1) C2f_up模块编辑(2)在__init_.pyblock.py中声明(3)在task.py中声明yolov8引入C2f_up模块yolov8.yamlyolov8.yaml引入C2f_up模块 C2f改进对YOLOv8检测具有多方面的好处 C2F 模块介绍 定义…

数据结构算法篇--递归(c语言版)

目录 1.递归 1.1求阶乘: 1.2.斐波那契数 1.3. 求幂 1.递归 在C语言中,递归是一种函数调用自身的方法,用来解决一些具有重复性质的问题。例如,计算阶乘、斐波那契数列等问题都可以通过递归实现。 递归在书写的时候&#xff0…

[大模型]视频生成-Sora简析

参考资料: Sora技术报告https://openai.com/index/video-generation-models-as-world-simulators/4分钟详细揭密!Sora视频生成模型原理https://www.bilibili.com/video/BV1AW421K7Ut 一、概述 相较于Gen-2、Stable Diffusion、Pika等生成模型的前辈&am…

【数据仓库】Hive 拉链表实践

背景 拉链表是一种数据模型,主要是针对数据仓库设计中表存储数据的方式而定义的;顾名思义,所谓拉链表,就是记录历史。记录一个事务从开始一直到当前状态的所有变化的信息。 拉链表可以避免按每一天存储所有记录造成的海量存储问题…

UnityAssetsBundle字体优化解决方案

Unity开发某个项目,打包后的apk包体已经高达1.25G了,这是非常离谱的。为了不影响用户体验,需要将apk包体缩小。因为项目本身不包含很多模型以及其他大型资源,排除法将AB包删除,发现app本身就100多M。 由此可以锁定是AB…

高通Quick板上安装编译Ros1 noetic,LeGO_LOAM,FAR_Planner和rslidar_sdk

环境要求: 这里quick板上安装的是Ubuntu20.04版本 Ros Noeti安装: 1.设置软件源: 官方提供的软件源: sudo sh -c echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.…

Qt多边形填充/不填充绘制

1 填充多边形绘制形式 void GraphicsPolygonItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) {Q_UNUSED(option);Q_UNUSED(widget);//painter->setPen(pen()); // 设置默认画笔//painter->setBrush(brush()); // 设置默…

零基础学习Spring AI Java AI使用向量数据库postgresql 检索增强生成 RAG

零基础学习Spring AI Java AI使用向量数据库postgresql 检索增强生成 RAG 向量数据库是一种特殊类型的数据库,在人工智能应用中发挥着至关重要的作用。 在向量数据库中,查询与传统的关系数据库不同。它们不是进行精确匹配,而是执行相似性搜…

如何在 uniapp 中实现图形验证码

全篇大概2000 字(含代码),建议阅读时间10分钟。 什么是图形验证码? 图形验证码(也称为图片验证码或验证码图像)通常用于防止机器人自动提交表单,确保用户是人工操作。 一、需求 我们希望在一个…