HIVE ON SPARK无法创建spark client session
时间:2023-01-28 18:00:00
HIVE ON SPARK无法创建spark client session
-
- 1.环境概述
- 2.解决
- 其他
- 总结
1.环境概述
尚硅谷数仓5.0提供的spark with hadoop与对应的适配没有hadoop的spark,hive是经过修改过的添加了spark3相应jar包的spark,出现了fail to create spark client for spark session 的错误,但是hive不走spark其它查询可正常使用。
2.解决
当启动hive时执行spark相关任务时,yarn的application什么都没有显示,直到结束。此时可以hive监控日志,hive可以去日志的位置hive/conf的log4j文件中查看
这里的hive日志存储路径/tmp/用户名,输入hivelog在路径下监控日志。
tail -f hive.log
再次打开窗口重启hive然后运行spark相关语句,如插入insert与count(*)然后在另一个窗口查看结果。
9-ad46-86c583699c86 main] client.SparkClientImpl: client token: N/A 2022-07-07T00:42:38,112 INFO [RemoteDriver-stderr-redir-527071be-93b4-4219-ad46-86c583699c86 main] client.SparkClientImpl: diagnostics: [星期四 七月 07 00:42:37 0800 2022] Application is Activated, waiting for resources to be assigned for AM. Details : AM Partition = ; Partition Resource = ; Queue's Absolute capacity = 100.0 % ; Queue's Absolute used capacity = 0.0 % ; Queue's Absolute max capacity = 100.0 % ; Queue's capacity (absolute resource) = ; Queue's used capacity (absolute resource) = ; Queue's max capacity (absolute resource) = ; 2022-07-07T00:42:38,112 INFO [RemoteDriver-stderr-redir-527071be-93b4-4219-ad46-86c583699c86 main] client.SparkClientImpl: ApplicationMaster host: N/A 2022-07-07T00:42:38,113 INFO [RemoteDriver-stderr-redir-527071be-93b4-4219-ad46-86c583699c86 main] client.SparkClientImpl: ApplicationMaster RPC port: -1 2022-07-07T00:42:38,113 INFO [RemoteDriver-stderr-redir-527071be-93b4-4219-ad46-86c583699c86 main] client.SparkClientImpl: queue: default 2022-07-07T00:42:38,113 INFO [RemoteDriver-stderr-redir-527071be-93b4-4219-ad46-86c583699c86 main] client.SparkClientImpl: start time: 1657125757635 2022-07-07T00:42:38,113 INFO [RemoteDriver-stderr-redir-527071be-93b4-4219-ad46-86c583699c86 main] client.SparkClientImpl: final status: UNDEFINED 2022-07-07T00:42:38,113 INFO [RemoteDriver-stderr-redir-527071be-93b4-4219-ad46-86c583699c86 main] client.SparkClientImpl: tracking URL: http://hadoop103:8088/proxy/application_1657125588906_0001/ 2022-07-07T00:42:38,113 INFO [RemoteDriver-stderr-redir-527071be-93b4-4219-ad46-86c583699c86 main] client.SparkClientImpl: user: wenlan 2022-07-07T00:42:38,211 INFO [RemoteDriver-stderr-redir-527071be-93b4-4219-ad46-86c583699c86 main] client.SparkClientImpl: 2022-07-07 00:42:38,211 INFO util.ShutdownHookManager: Shutdown hook called 2022-07-07T00:42:38,215 INFO [RemoteDriver-stderr-redir-527071be-93b4-4219-ad46-86c583699c86 main] client.SparkClientImpl: 2022-07-07 00:42:38,214 INFO util.ShutdownHookManager: Deleting directory /tmp/spark-ef148fe5-2af3-47dc-83b2-31bd1f70a223 2022-07-07T00:42:38,220 INFO [RemoteDriver-stderr-redir-527071be-93b4-4219-ad46-86c583699c86 main] client.SparkClientImpl: 2022-07-07 00:42:38,220 INFO util.ShutdownHookManager: Deleting directory /tmp/spark-20ba387e-1676-4fd1-89e8-9fb9d4f5e057
我的程序卡在上面的图片上,然后修改client.timeout日志提供的参数不解决问题,说明不是网络等问题tarcking URL,进入相应的页面,我在这里http://hadoop103:8088/proxy/application_1657125588906_0001/
等他一会儿fail然后检查
这里的错误是缺乏相应的依赖,org/apache/hadoop/mapred/JobConf,查询数据,发现可以直接从maven下载相应的包并上传,
下载地址在
https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-mapreduce-client-core
然后下载3.1.2版本的
和我一起下载hadoop对应版本的3.1.2,然后下载好的jar包上传到hdfs上的sparkjar依赖位置,即spark.yarn.jars配置对应目录,重启hive应能正常运行hive on spark了。
这样配置后我成功的运行了insert假期回来重用的句子。groupby考虑到以下解决方案,决方案。
其他
如果你遇到以下问题,说你没有这条路径
只需要你的spark复制一份后,可以更改为相应的名称这个问题应该在其他地方修改。
如果你查看生成的日志,说你没什么log4j只需要依赖路径spark对应路径spark-env.sh修改文件并添加文件
export SPARK_DIST_CLASSPATH=$(/opt/module/hadoop-3.1.3/bin/hadoop classath)
就可以解决相应的问题了!
总结
如果不是偶发性的hive on spark无法使用就先不用去调内存设置和网络设置,首先检查相应配置文件是否合理配置,之后通过日志对问题进行监测,如果缺少依赖项目,只需要在依赖路径上传对应依赖即可解决问题。