spark集成到hadoop

这篇文章是在hadoop的基础上集成spark,关于hadoop环境的搭建可以参考我之前的博文https://blog.csdn.net/wbo112/article/details/124654197?spm=1001.2014.3001.5501

本次使用的是spark-3.3.1-bin-hadoop3.tgz

ip 主机名
192.168.68.121 hadoop1
192.168.68.122 hadoop2
192.168.68.123 hadoop3

后续web 界面访问有可能直接是机器名,所以需要把IP与主机 加到本地hosts文件中

解压spark-3.3.1-bin-hadoop3.tgz到目录下

进入解压后的目录/home/hadoop/software/spark-3.3.1-bin-hadoop3

执行spark自带计算圆周率示例代码

在spark目录中执行如下代码

复制代码
bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master local[2] \
./examples/jars/spark-examples_2.12-3.3.1.jar \
10

输出日志中有这么一句Spark web UI at http://hadoop1:4040,在spark程序运行中可以看到任务运行的各种状态(spark任务结束前面的web-ui地址也就打不开了)。

上面的示例是scala版本的示例,源码在/home/hadoop/software/spark-3.3.1-bin-hadoop3/examples/src/main/scala/org/apache/spark/examples

spark-yarn

解压spark-3.3.1-bin-hadoop3.tgz到目录下到/home/hadoop/software/spark-yarn/目录下

在spark-yarn配置文件中增加

执行如下命令

/home/hadoop/software/spark-yarn/spark-3.3.1-bin-hadoop3/conf 进入spark配置文件目录

cp spark-env.sh.template spark-env.sh 复制模板配置文件

修改spark-env.sh增加如下内容

复制代码
YARN_CONF_DIR=/home/hadoop/software/hadoop-3.2.3/etc/hadoop   #注意,这是hadoop目录

再次进入就可以将任务在yarn上运行

复制代码
bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
./examples/jars/spark-examples_2.12-3.3.1.jar \
10

进入yarnweb-ui yarn也能看到执行记录

再次进入``/home/hadoop/software/spark-yarn/spark-3.3.1-bin-hadoop3/conf`

执行如下命令

cp spark-defaults.conf.template spark-defaults.conf

配置日志存储路径

复制代码
spark.eventLog.enabled          true
spark.eventLog.dir               hdfs://hadoop1:9000/directory   #这个是hdfs的地址,目录不存在,要手动创建
spark.yarn.historyServer.address=hadoop1:19889   #这个端口是spark的端口,必须没被占用
spark.history.ui.port=19889        #这个端口是spark的端口,必须没被占用

再次进入spark-env.sh配置历史服务器信息,参数信息同上

复制代码
export SPARK_HISTORY_OPTS="
-Dspark.history.ui.port=19888
-Dspark.history.fs.logDirectory=hdfs://hadoop1:10020/directory
-Dspark.history.retainedApplications=30"   #指定保存Application历史记录的个数,如果超过这个值,旧的应用程序信息将被删除,这个是内存中的应用数,而不是页面上显示的应用数。

再次回到/home/hadoop/software/spark-yarn/spark-3.3.1-bin-hadoop3/目录执行如下命令,启动历史服务器

sbin/start-history-server.sh.

再次执行

复制代码
bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
./examples/jars/spark-examples_2.12-3.3.1.jar \
10

再次进入yarn的web-ui,找到上面任务的历史执行记录。

点击这里的History,就会进入我们刚才配置的spark的历史任务的web-ui界面。如我本地是Spark Pi - Spark Jobs http://hadoop1:19889/history/application_1723817139150_0002/jobs/,就能看到spark执行信息。

相关推荐
智能相对论8 小时前
CES深度观察丨智能清洁的四大关键词:变形、出户、体验以及生态协同
大数据·人工智能
焦耳热科技前沿9 小时前
北京科技大学/理化所ACS Nano:混合价态Cu₂Sb金属间化合物实现高效尿素电合成
大数据·人工智能·自动化·能源·材料工程
min18112345610 小时前
深度伪造内容的检测与溯源技术
大数据·网络·人工智能
武子康10 小时前
大数据-209 深度理解逻辑回归(Logistic Regression)与梯度下降优化算法
大数据·后端·机器学习
数据智研10 小时前
【数据分享】(2005–2016年)基于水资源承载力的华北地区降水与地下水要素数据
大数据·人工智能·信息可视化·数据分析
TDengine (老段)12 小时前
TDengine Python 连接器入门指南
大数据·数据库·python·物联网·时序数据库·tdengine·涛思数据
亚古数据12 小时前
亚古数据:查询斯里兰卡公司可以获取什么文件和信息?
大数据·亚古数据·斯里兰卡公司查询
WLJT12312312312 小时前
守护自然与滋养民生的绿色之路
大数据·安全
min18112345613 小时前
PC端零基础跨职能流程图制作教程
大数据·人工智能·信息可视化·架构·流程图
静听松涛13313 小时前
中文PC端多人协作泳道图制作平台
大数据·论文阅读·人工智能·搜索引擎·架构·流程图·软件工程