当前位置: 首页 > article >正文

【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/

http://www.kler.cn/a/380803.html

相关文章:

  • git 多账号配置
  • Golang | Leetcode Golang题解之第535题TinyURL的加密与解密
  • 商品详情接口数据解析,API接口
  • Git 概述及相关命令(1)
  • Linux云计算 |【第五阶段】CLOUD-DAY6
  • C# 中 发送HTTP请求 实现Ajax功能
  • Mybatis 注意传递多种参数,不一定都有参数值,用xml如何写出查询语句
  • IntelliJ IDEA插件开发-核心概念介绍
  • 【JavaScript】JavaScript开篇基础(4)
  • windows_worm
  • 医院信息化与智能化系统(15)
  • JVM结构图
  • 解决虚拟机启动报:此主机支持AMD-V,但AMD-V处于禁用状态
  • 基于Multisim光控夜灯LED电路带计时功能(含仿真和报告)
  • QT 实现自定义开机加载动画二
  • [Web安全 网络安全]-学习文章汇总导航(持续更新中)
  • k8s的发展历史
  • 1251. 平均售价(left join on后面加条件和where 后面加条件的区别、nvl()函数的使用)
  • 如何在 IntelliJ IDEA 中调整 `Ctrl+/` 快捷键生成注释的位置
  • Percona XtraBackup数据备份方案
  • Java学习教程,从入门到精通,Java对象和类语法知识点(20)
  • pdf转图片
  • Angular解析本地json文件
  • [mysql]修改表和课后练习
  • How to initiate a conversation with a stranger?
  • 【Mysql 深入探索】InnoDB 实现事务的机制