lsy525673737 2024-07-31 12:11 采纳率: 0%
浏览 26
已结题

hive on spark

hive on spark 执行时报错

hive (default)> create table student(id int, name string);
OK
Time taken: 0.988 seconds
hive (default)> insert into table student values(1,'abc');
Query ID = gll_20240731111535_f648d005-c670-4844-a448-cc85b8738715
Total jobs = 1
Launching Job 1 out of 1
In order to change the average load for a reducer (in bytes):
 set hive.exec.reducers.bytes.per.reducer=<number>
In order to limit the maximum number of reducers:
 set hive.exec.reducers.max=<number>
In order to set a constant number of reducers:
 set mapreduce.job.reduces=<number>
Failed to execute spark task, with exception 'org.apache.hadoop.hive.ql.metadata.HiveException(Failed to create Spark client for Spark session 104a45b0-4189-4048-8290-f5cfbc4008d0)'
FAILED: Execution Error, return code 30041 from org.apache.hadoop.hive.ql.exec.spark.SparkTask. Failed to create Spark client for Spark session 104a45b0-4189-4048-8290-f5cfbc4008d0

在调了yarn的内存后就好使了 根本不是版本的问题 我最大的问题是 insert into table student values(1,'abc'); 就执行这么一条语句要我集群yarn内存调到了5G 是为什么

  • 写回答

20条回答 默认 最新

  • 专家-皆知 2024-07-31 12:14
    关注
    获得0.30元问题酬金

    引自免费微信小程序:皆我百晓生

    遇到这个问题,主要是因为在尝试通过Hive on Spark执行插入操作时,Spark客户端未能成功创建。错误信息显示了SASL(Simple Authentication and Security Layer)协商失败,客户端在SASL认证完成之前关闭。这可能是由多种原因造成的,包括但不限于配置错误、网络问题、权限问题等。以下是一些解决步骤:

    1. 检查Hive与Spark的集成配置

    确保Hive配置正确地指定了Spark作为执行引擎,并且Spark配置文件(如spark-defaults.conf)中包含了必要的设置,特别是对于安全集群,要确保spark.authenticate和相关SASL配置正确。

    2. 验证Hadoop和Spark的用户权限

    确认当前执行Hive命令的用户具有访问HDFS和YARN的权限,并且Spark服务也是以该用户或有足够权限的用户身份运行。可以检查HDFS和YARN的ACL设置。

    3. 网络和防火墙检查

    确保集群内的所有节点之间的网络通信没有被防火墙或其他安全策略阻断,尤其是涉及到RPC通信的端口。

    4. Spark配置与版本兼容性

    确认Hive和Spark的版本兼容。不兼容的版本组合可能会导致各种预料之外的问题。查看Hive和Spark的官方文档,确认所使用的版本是否相互支持。

    5. 检查SASL配置

    由于错误信息提到了SASL协商失败,需要特别关注与SASL相关的配置。在Hadoop和Spark的配置文件中,检查是否有正确的SASL配置,例如yarn-site.xml中的yarn.nodemanager.principalyarn.nodemanager.keytab等,以及Spark配置中的spark.authenticate.enableSaslEncryption等设置。

    6. 查看日志和追踪详情

    根据错误信息提供的链接(http://slave1:8088/cluster/app/application_1722394836770_0001),深入查看YARN应用管理器的日志,特别是AM容器的日志,以获取更详细的错误信息。这将帮助定位具体的问题点。

    7. 重新尝试并监控

    在进行上述检查和调整后,尝试再次执行相同的Hive命令。同时,监控集群的健康状况和日志输出,以便及时发现新的错误或异常。

    示例配置调整(仅供参考)

    如果你需要手动调整一些关键配置项,例如在Hive的hive-site.xml中设置Spark引擎:

    <property>
      <name>hive.execution.engine</name>
      <value>spark</value>
    </property>
    
    <property>
      <name>hive.spark.client.connect.timeout</name>
      <value>60s</value>
    </property>
    
    <property>
      <name>hive.spark.client.server.connect.timeout</name>
      <value>60s</value>
    </property>
    
    <property>
      <name>spark.yarn.queue</name>
      <value>your-yarn-queue</value>
    </property>
    

    确保这些配置与你的集群环境相匹配。

    如果问题依然存在,可能需要更详细的集群配置和日志分析来进一步诊断。希望上述步骤能帮助你解决问题。

    评论

报告相同问题?

问题事件

  • 系统已结题 8月8日
  • 修改了问题 8月6日
  • 赞助了问题酬金15元 7月31日
  • 创建了问题 7月31日

悬赏问题

  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见
  • ¥15 一共有五道问题关于整数幂的运算还有房间号码 还有网络密码的解答?(语言-python)
  • ¥20 sentry如何捕获上传Android ndk 崩溃
  • ¥15 在做logistic回归模型限制性立方条图时候,不能出完整图的困难
  • ¥15 G0系列单片机HAL库中景园gc9307液晶驱动芯片无法使用硬件SPI+DMA驱动,如何解决?