Failed to create Spark client for Spark session/30041Code

这篇具有很好参考价值的文章主要介绍了Failed to create Spark client for Spark session/30041Code。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

记录排错历程

        问题简介:根据尚硅谷数仓4.0学习集群运行了一段时间,可以正常使用spark运行,出现阶段运行情况的红色框,但是不知道为什么突然有一次,返回30041code,无法运行创建spark session。

第一种情况:多尝试运行几次

        刚开始是觉得集群内存不足,因为我的集群三台机器都是再虚拟机上的,整个电脑16G内存,每个hadoop10x分配4G左右,所以内存不足无法运行,当然这只是第一感觉,并没有查看日志证实。

        通过xcall free -h查看集群内存的运行情况,发现无法运行任务的时候,hadoop102内存使用了一些,注意这时候swap并没有用很多

--------- hadoop102 ----------
              total        used        free      shared  buff/cache   available
Mem:           5.8G        4.8G        137M         98M        944M        633M
Swap:          4.0G        2.5M        4.0G
--------- hadoop103 ----------
              total        used        free      shared  buff/cache   available
Mem:           5.8G        3.9G        356M         89M        1.6G        1.5G
Swap:          4.0G          0B        4.0G
--------- hadoop104 ----------
              total        used        free      shared  buff/cache   available
Mem:           5.8G        3.6G        641M         67M        1.6G        1.8G
Swap:          4.0G          0B        4.0G

我反复运行几次插入语句,集群成功运行了。再去查看free -h,swap内存用了1个G,其他机器内存也用了好多。

--------- hadoop102 ----------
              total        used        free      shared  buff/cache   available
Mem:           5.8G        5.4G        119M         64M        262M         55M
Swap:          4.0G        1.6G        2.4G
--------- hadoop103 ----------
              total        used        free      shared  buff/cache   available
Mem:           5.8G        4.4G        117M         89M        1.3G        1.0G
Swap:          4.0G          0B        4.0G
--------- hadoop104 ----------
              total        used        free      shared  buff/cache   available
Mem:           5.8G        4.0G        654M         81M        1.2G        1.4G

所以这时我认为,就是不知道为什么其他机器没有启动运行任务,所以spark没有运行起来。

第二种情况

        在出现第一种情况时候,我也在玩网上查找了好多博客,但是感觉都不好用,没有解决我的问题。

        

1、Spark没有正常启动

2、Spark和Hive版本不匹配

3、资源不足,导致Hive连接Spark客户端超过设定时长

        这是一篇博客总结的。首先,hive on spark配置,已经把以来的spark jar包上传到集群了,hive集群会使用这些jar包,spark不用单独启动。然后spark的版本和hive版本是尚硅谷资料,应该不会有错,并且以前我也成功运行了,说明不是版本不匹配的问题。超过时长我也改了,在hive-site.xml文件里,改为了90000ms,相当大了,但是依然出错。我反复尝试运行hive语句,尝试了两天也没有办法成功运行。我查看free -h发现,swap一直没用,很苦恼。

        我只能将原因归于超时,后来在hive里面通过

set hive.spark.client.server.connect.timeout

        语句发现,我的这个参数还是30000MS,默认的,我很奇怪,我明明在hive-site.xml改过了,hive-site.xml,在hive里面设置set 参数,只是单会话有效,文件里面设置,每次开启都会有效。后来我发现这里有两个参数,我不知道两个参数到底什么意思,很像,我就直接设置了。

        

<property>
    <name>hive.spark.client.server.connect.timeout</name>
    <value>3000000ms</value>
</property>
<property>
    <name>hive.spark.client.connect.timeout</name>
    <value>3000000ms</value>
</property>

但是,这依然不行,没有运行。

        然后开始查看hive日志,hive-log4j2.properties.template显示日志默认在/tmp/{usr}/hive目录下,就是查看hive.log,显示connect time out,但是我已经设置的很长了,没办法了,,,

        第二个查看yarn日志,因为spark最终提交给yarn运行的。查看命令

        

yarn application -list -appStates ALL

找出来出错的那条日志,给了一个地址,在hadoop103:8088上,就是看了这个页面。

Hive on Spark (sessionId = f7d1282d-c868-41f0-bb65-e11bc59ca4ec)	               SPARK	       lxw	   default	            FAILED	            FAILED	             0%	http://hadoop103:8088/cluster/app/application_1662382619809_0003
application_1662382619809_0002	Hive on Spark (sessionId = 5a5c3914-be1c-4e8a-9bf0-617c57433c50)	               SPARK	       lxw	   default	            FAILED	            FAILED	             0%	http://hadoop103:8088/cluster/app/application_1662382619809_0002
application_1662382619809_0001	Hive on Spark (sessionId = 422e1d97-2d0b-455b-9269-f49401d53afd)	               SPARK	       lxw	   default	            FAILED	            FAILED	             0%	http://hadoop103:8088/cluster/app/application_1662382619809_0001

Failed to create Spark client for Spark session/30041Code

Diagnostics:	
Application application_1662382619809_0001 failed 1 times (global limit =2; local limit is =1) due to AM Container for appattempt_1662382619809_0001_000001 exited with exitCode: 1
Failing this attempt.Diagnostics: [2022-09-05 21:05:47.999]Exception from container-launch.
Container id: container_1662382619809_0001_01_000001
Exit code: 1
[2022-09-05 21:05:48.032]Container exited with a non-zero exit code 1. Error file: prelaunch.err.
Last 4096 bytes of prelaunch.err :
Last 4096 bytes of stderr :
Error: Could not find or load main class org.apache.spark.deploy.yarn.ApplicationMaster
[2022-09-05 21:05:48.033]Container exited with a non-zero exit code 1. Error file: prelaunch.err.
Last 4096 bytes of prelaunch.err :
Last 4096 bytes of stderr :
Error: Could not find or load main class org.apache.spark.deploy.yarn.ApplicationMaster
For more detailed output, check the application tracking page: http://hadoop103:8088/cluster/app/application_1662382619809_0001 Then click on links to logs of each attempt.
. Failing the application.

 查看这块,发现

Error: Could not find or load main class org.apache.spark.deploy.yarn.ApplicationMaster

没有发现spark的类,又去查博客,为什么这样,才发现,原来是集群缺少jar包。但是,我的集群跟着尚硅谷配的,不应该缺少,后来上集群看了一下,确实没有spark-jars目录下,确实没有任何jars包!!!!!!!

        我就重新上传了jar包,运行hive,成功运行!!!!!!!

总结:

        1.为什么出错?

           在配置Hive on Spark的时候,jar包已经上传集群,为什么后来没有了呢?我的集群是在本机虚拟机创建的,内存太小,有一次我想扩大虚拟机内存,直接在VMware上在集群未关闭的情况下更改了虚拟机配置,保存后,VMware直接开始重载新的虚拟机配置,在重载恢复虚拟机状态的时候,由于太慢了,真的太慢了,我直接手动关闭了虚拟机。再次开启之后,发现集群进入了严格模式,只能读,并且,在9870端口,报很多数据块丢失的错误,然后根据教程,我修复了磁盘,就是把报错的数据块都删了,集群正常运行。现在回想,应该是当时删掉了jar包。但是自己没注意。

        2.遇到30041怎么办?

        每个人情况不同,但是总体方法就是看日志。首先hive日志,默认/tmp/usr/hive.log目录,如果显示timeOut ,需要延长连接时间,但是这不一样管用,应为spark没有正常运行,延多久也没用;那么再去看yarn日志,采用命令的方式,在8088端口页面寻找失败的任务日志,精准定位错误。文章来源地址https://www.toymoban.com/news/detail-433646.html

到了这里,关于Failed to create Spark client for Spark session/30041Code的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • docker failed to create task for container: failed to create shim task: OCI runtime create failed:

    根据CentOS安装docker指南,启动hello-world时报错,提示信息中提到了 OCI runtime ,根本原因是 runc did not terminate successfully 参考【错误解决】docker找不到runc:failed to create shim: OCI runtime create failed: unable to retrieve OCI runtime,这个问题跟 runc 有关,查看docker版本的确没有runc信息 查看

    2024年02月14日
    浏览(62)
  • Linux调用Selenium报session not created: Chrome failed to start: exited normally.的问题解决方式

    确定了浏览器版本和chromedriver版本可以对应得上,但是每次调用对应的服务都会报该错误 问题在于启动Selenium需要桌面,然而你的Linux上没有桌面,所以报错,解决这个问题的方式是将Selenium设置为不使用浏览器启动,然而不使用浏览器启动存在对应的元素没加载的问题,解决

    2024年02月03日
    浏览(96)
  • docker: Error response from daemon: failed to create task for container: failed to create shim task:

    我的系统是ubuntu22.04,装的docker版本是24.0.5,但是在下载镜像之后去加载时报了这个错误 docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: invalid rootfs: not an absolute path, or a symlink: unknown. ERRO[0000] error waiting for conta

    2024年02月09日
    浏览(48)
  • 【Appium】Failed to create session. An unknown server-side error occurred while processing the command

    报错信息: 遇到这些错误的时候,我们要把 手机开发者模式的这三个选项都打开 : 因为它要安装一个软件: 第一次调试的时候手机端会弹出来个密钥确定的窗口,大概意思就是是否同意这个计算机对自己的电脑进行调试,要点同意。 然后 手机一定要安装好要进行调试的软

    2024年02月16日
    浏览(67)
  • vscode报错Pylance client: couldn‘t create connection to server.

    问题描述: 一打开vscode,右下角就弹报错,Pylance client: couldn’t create connection to server.,让我打开output,打开后似乎是在说连不上server 因为连不上server,所以我的python代码没法解析,尝试重开vscode也没用 问题解决: 点开左侧的拓展,找到Python Extension Pack,这就是解析python代

    2024年01月16日
    浏览(39)
  • Failed to create CUDAExecutionProvider.

    Failed to create CUDAExecutionProvider. Please reference https://onnxruntime.ai/docs/reference/execution-providers/CUDA-ExecutionProvider.html#requirements to ensure all dependencies are met. 解决方法要看onnxruntime-gpu和cuda版本的对应情况,参考下图重新安装对应版本的onnxrumtime-gpu (https://onnxruntime.ai/docs/execution-providers/

    2024年02月16日
    浏览(36)
  • Installation failed due to: ‘Failed to commit install session 2076767024 wit

    Installation failed due to: \\\'Failed to commit install session 2076767024 wit Android studio导入项目时出现安装app失败:直接在该文件中添加下面内容  

    2024年02月11日
    浏览(44)
  • 【containerd错误解决系列】failed to create shim task, OCI runtime create failed, unable to retrieve OCI...

    pod的状态全部都是ContainerCreating的状态 containerd进程有大量报错,主要有: failed to create containerd task: failed to create shim task: OCI runtime create failed: unable to retrieve OCI runtime error (open /run/containerd/io.containerd.runtime.v2.task/k8s.io/c4847070fad34a8da9b16b5c20cdc38e28a15cfcf9913d712e4fe60d8c9029f7/log.json: no

    2023年04月25日
    浏览(51)
  • docker: Error response from daemon: failed to create shim task: OCI runtime create failed: unable to

    1.先下载runc源码: https://github.com/opencontainers/runc/releases/tag/v1.0.3 2.我的是centos8   运行以下代码 3.安装go环境  wget https://studygolang.com/dl/golang/go1.16.linux-amd64.tar.gz  tar -C /usr/local -xzf go1.16.linux-amd64.tar.gz 4.添加配置: 进去到 vi /etc/profile 5.检测配置成功 go env 6.将下载好的runc解压  

    2024年02月06日
    浏览(61)
  • 【错误解决】docker找不到runc:failed to create shim: OCI runtime create failed: unable to retrieve OCI runtime

    docker run 容器 OCI runtime create failed 报错 docker pull nginx:latest #启动一个容器 docker run --name docker_nginx -p 80:80 -d nginx docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: unable to retrieve OCI runtime error (open /run/containerd/io.containerd.runtime.v2.tas

    2024年03月15日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包