项目场景:
我们有两个集群(ps:计算集群/存储集群),现在有个需求就是,计算集群运行Spark任务,从kafka取数据写到存储集群的hive
问题描述
跨集群读写数据,我们测试了写hbase是可以从计算集群向存储集群写的,而且能写进去。
但是一旦写hive 他就是写不存储集群的hive中,每次都只写到了计算集群的hive中。
这让我很费解,而且我在本地IDEA上测试的时候,就能写到存储集群的hive中,一旦上小海豚放集群上跑 他就写跑偏了,就给写到计算集群的hive里面了。
我在resource文件夹下也放了存储集群的core-site.xml hdfs-site.xml hive-site.xml文件了, 代码里我也写了changeNameNode方法了。但是程序运行时好像还是无法切换到存储集群的NN上去

/***
* @Author: lzx
* @Description:
* @Date: 2022/5/27
* @Param session: bulid好的Sparkssion
* @Param nameSpace: 集群的命名空间
* @Param nn1: nn1_ID
* @Param nn1Addr: nn1对应的IP:host
* @Param nn2: nn2_ID
* @Param nn2Addr: nn2对应的IP:host
* @return: void
**/
def changeHDFSConf(session:SparkSession,nameSpace:String,nn1:String,nn1Addr:String,nn2:String,nn2Addr:String)

本文主要探讨了一个关于Spark任务在计算集群执行时,尝试将数据写入存储集群的Hive中遇到的问题。尽管写入HBase成功,但写入Hive始终指向计算集群的Hive。作者通过检查Spark运行环境的配置、分析代码以及提交参数,发现代码提交到集群后,配置文件被集群的默认配置覆盖。解决方案包括在代码中显式加载自定义配置文件,并在提交任务时通过`--files`参数指定配置文件的位置。此问题涉及到Hadoop的高可用配置、Spark配置管理以及跨集群数据操作。

7645

被折叠的 条评论
为什么被折叠?



