《PySpark大数据分析实战》-09.Spark独立集群安装

📋 博主简介

  • 💖 作者简介:大家好,我是wux_labs。😜
    热衷于各种主流技术,热爱数据科学、机器学习、云计算、人工智能。
    通过了TiDB数据库专员(PCTA)、TiDB数据库专家(PCTP)、TiDB数据库认证SQL开发专家(PCSD)认证。
    通过了微软Azure开发人员、Azure数据工程师、Azure解决方案架构师专家认证。
    对大数据技术栈Hadoop、Hive、Spark、Kafka等有深入研究,对Databricks的使用有丰富的经验。
  • 📝 个人主页:wux_labs,如果您对我还算满意,请关注一下吧~🔥
  • 📝 个人社区:数据科学社区,如果您是数据科学爱好者,一起来交流吧~🔥
  • 🎉 请支持我:欢迎大家 点赞👍+收藏⭐️+吐槽📝,您的支持是我持续创作的动力~🔥

《PySpark大数据分析实战》-09.Spark独立集群安装

《PySpark大数据分析实战》-09.Spark独立集群安装

前言

大家好!今天为大家分享的是《PySpark大数据分析实战》第2章第3节的内容:Spark独立集群安装。

图书在:当当京东机械工业出版社以及各大书店有售!

Spark独立集群安装

Spark独立集群的安装,至少需要3台服务器,在安装Spark之前,按照《PySpark大数据分析实战》-06.安装环境准备的步骤准备好3台服务器。解压Spark安装软件到目标位置,命令如下:

bash 复制代码
$ tar -xzf spark-3.4.0-bin-hadoop3.tgz -C apps

配置并启动Spark集群

Spark软件安装好以后,每台服务器节点上的Spark软件都是独立的,还未组成集群,需要对其进行配置让所有节点组合成Spark集群,Spark的配置文件全部存放在安装路径的conf目录下。确保Spark的配置信息在所有节点上都是一样的,可以在每个节点上分别修改配置文件,也可以在一个节点上修改好配置文件后复制到其他节点。

配置环境变量

在集群模式下,涉及各个节点之间的一些命令交互,所以需要配置环境变量。主要是在每个节点上都配置SPARK_HOME和PATH。在node1上配置环境变量,命令如下:

bash 复制代码
$ vi ~/.bashrc

环境变量配置内容如下:

text 复制代码
export SPARK_HOME=/home/hadoop/apps/spark-3.4.0-bin-hadoop3
PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
export PATH

环境变量配置完成后,执行命令让新配置的环境变量生效,命令如下:

bash 复制代码
$ source ~/.bashrc
配置workers

workers文件配置了当前Spark独立集群环境下,有哪些worker节点,将规划的3个节点都添加进去,每个节点占1行,可以使用主机名称,也可以使用IP地址。在node1上配置workers,命令如下:

bash 复制代码
$ cd ~/apps/spark-3.4.0-bin-hadoop3/conf/
$ cp workers.template workers
$ vi workers

workers配置内容如下:

text 复制代码
node1
node2
node3
配置spark-default.conf

spark-submit提交的应用程序运行完成后,Spark Driver Web UI就会关闭,无法继续访问,为了能够查看已运行完成的应用程序的执行情况,Spark提供了History Server服务,在spark-default.conf配置文件中进行History Server的配置。在node1上配置spark-default.conf,命令如下:

bash 复制代码
$ cd ~/apps/spark-3.4.0-bin-hadoop3/conf/
$ cp spark-defaults.conf.template spark-defaults.conf
$ vi spark-defaults.conf

spark-default.conf配置内容如下:

text 复制代码
# 指定启用eventLog
spark.eventLog.enabled           true
# 指定eventLog的存储目录
spark.eventLog.dir               /tmp/spark-events
配置spark-env.sh

spark-env.sh文件主要是配置集群的环境信息,主要配置Java的路径、集群中Master节点是哪个、Master通讯端口是多少、Spark Master Web UI端口是多少、Spark日志路径和工作路径等,复制模板文件并在里面追加配置信息,配置文件中的SPARK_MASTER_HOST使用的是主机名称node1。在node1上配置spark-env.sh,命令如下:

bash 复制代码
$ cd ~/apps/spark-3.4.0-bin-hadoop3/conf/
$ cp spark-env.sh.template spark-env.sh
$ vi spark-env.sh

spark-env.sh配置内容如下:

text 复制代码
# 指定 Spark Master运行在哪个机器上
SPARK_MASTER_HOST=node1
# 指定 Spark Master 的通讯端口
SPARK_MASTER_PORT=7077
# 指定 Spark Master 的 WebUI 端口
SPARK_MASTER_WEBUI_PORT=8080
# 指定 Spark 的日志存放路径
SPARK_LOG_DIR=/home/hadoop/logs/spark
# 指定 Spark 的工作路径
SPARK_WORKER_DIR=/home/hadoop/works/spark
环境信息同步

确保3台服务器上的配置文件完全一致,为了防止配置出错,直接使用命令将node1上的配置文件复制到其他服务器上,复制命令如下:

复制代码
$ scp -r .bashrc apps node2:~/
$ scp -r .bashrc apps node3:~/

确保在3台服务器上创建好event日志目录/tmp/spark-events,使用命令创建目录,命令如下:

bash 复制代码
$ ssh node1 mkdir -p /tmp/spark-events
$ ssh node2 mkdir -p /tmp/spark-events
$ ssh node3 mkdir -p /tmp/spark-events
启动Spark独立集群

启动集群的命令start-all.sh、启动History Server的命令start-history-server.sh所在的路径SPARK_HOME/sbin/已经添加到环境变量PATH里面,可以直接执行命令。在node1上执行启动Spark命令,命令如下:

bash 复制代码
$ start-all.sh
$ start-history-server.sh

等待服务启动完成,每台服务器节点上都有Worker进程,由于在spark-env.sh配置文件中配置了SPARK_MASTER_HOST=node1,所以node1节点上有Master进程,在node1上启动了History Server。如图所示。

集群启动成功后,通过浏览器访问node1的8080端口打开Spark Master Web UI界面。集群的相关信息包括master地址是spark://node1:7077、当前集群有3个Worker节点、当前并没有提交运行的应用程序,如图所示。

结束语

好了,感谢大家的关注,今天就分享到这里了,更多详细内容,请阅读原书或持续关注专栏。

相关推荐
TM1Club6 小时前
AI驱动的预测:新的竞争优势
大数据·人工智能·经验分享·金融·数据分析·自动化
zhang133830890756 小时前
CG-09H 超声波风速风向传感器 加热型 ABS材质 重量轻 没有机械部件
大数据·运维·网络·人工智能·自动化
zxsz_com_cn7 小时前
设备预测性维护算法分类及优劣势分析,选型指南来了
算法·分类·数据挖掘
电商API_180079052478 小时前
第三方淘宝商品详情 API 全维度调用指南:从技术对接到生产落地
java·大数据·前端·数据库·人工智能·网络爬虫
龙山云仓8 小时前
No140:AI世间故事-对话康德——先验哲学与AI理性:范畴、道德律与自主性
大数据·人工智能·深度学习·机器学习·全文检索·lucene
躺柒9 小时前
读数字时代的网络风险管理:策略、计划与执行04风险指引体系
大数据·网络·信息安全·数字化·网络管理·网络风险管理
追风少年ii10 小时前
多组学扩展---分子对接pyrosetta
python·数据分析·空间·单细胞
独自归家的兔11 小时前
从 “局部凑活“ 到 “全局最优“:AI 规划能力的技术突破与产业落地实践
大数据·人工智能
海域云-罗鹏11 小时前
国内公司与英国总部数据中心/ERP系统互连,SD-WAN专线实操指南
大数据·数据库·人工智能