m0_59424811 2024-07-23 11:02 采纳率: 42.9%
浏览 7

hive不能插入数据

hive数据库无法插入数据,元数据已经启动


Task with the most failures(4): 
-----
Task ID:
  task_1721704515377_0002_m_000000

URL:
  http://node1:8088/taskdetails.jsp?jobid=job_1721704515377_0002&tipid=task_1721704515377_0002_m_000000
-----
Diagnostic Messages for this Task:
[2024-07-23 14:06:14.688]Exception from container-launch.
Container id: container_1721704515377_0002_01_000005
Exit code: 1

[2024-07-23 14:06:14.691]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.hadoop.mapred.YarnChild


[2024-07-23 14:06:14.692]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.hadoop.mapred.YarnChild




FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
MapReduce Jobs Launched: 
Stage-Stage-1: Map: 1  Reduce: 1   HDFS Read: 0 HDFS Write: 0 FAIL
Total MapReduce CPU Time Spent: 0 msec

show databases 建表查看表都可以运行

img

最近的日志

img


hive-site。xml设置

<configuration>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://node1:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8</value>
  </property>

  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
  </property>

  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>                        #此处为MySQL用户
  </property>

  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>root</value>         #此处为MySQL自己设置的密码
  </property>

  <property>
    <name>hive.server2.thrift.bind.host</name>
    <value>node1</value>
  </property>

  <property>
    <name>hive.metastore.uris</name>
    <value>thrift://node1:9083</value>
  </property>

  <property>
    <name>hive.metastore.event.db.notification.api.auth</name>
    <value>false</value>
  </property>

</configuration>

hive-env。xml


export HADOOP_HOME=/export/servers/hadoop
export HIVE_CONF_DIR=/export/servers/hive/conf
export HIVE_AUX_JARS_PATH=/export/servers/hive/lib
  • 写回答

4条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-07-23 11:02
    关注

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

    从你提供的日志和错误信息来看,存在几个可能的问题。让我们一步步来解决这些问题:

    问题一:无法插入数据

    这个问题可能是由于Hive的元数据(Metastore)存在问题或者Hive的Job无法成功执行。你可以尝试以下步骤来解决这个问题:

    1. 检查Hive的元数据是否正常运行。你可以通过Hive的Web UI来查看元数据的状态。
    2. 检查你的Hive查询是否有语法错误。你的INSERT语句看起来是正确的,但是有时候一些微妙的语法错误也会导致问题。
    3. 检查Hive的Job是否能够成功执行。你可以查看Hive的Job历史日志来了解Job的执行情况。

    问题二:TTransportException和BindException

    这个错误表明Hive的Thrift服务无法启动,因为地址0.0.0.0:9083已经被占用。你可以尝试以下步骤来解决这个问题:

    1. 检查是否有其他进程已经占用了9083端口。你可以使用netstat -anp | grep 9083命令来查看9083端口的占用情况。
    2. 如果9083端口被占用,你可以尝试更改Hive的Thrift服务绑定的端口号。你可以在hive-site.xml文件中找到hive.metastore.uris属性,将其值更改为一个未被占用的端口号。
    3. 重启Hive Metastore服务。

    问题三:SLF4J的多个绑定

    这个警告信息说明你的classpath中存在多个SLF4J的绑定,这可能会导致日志记录出现问题。你可以尝试以下步骤来解决这个问题:

    1. 检查你的classpath中是否存在多个SLF4J的绑定,可以通过查看你的项目的依赖来确定。
    2. 移除冲突的SLF4J绑定,只保留一个。如果你使用的是Maven或Gradle等构建工具,你可以在构建配置中排除冲突的依赖。

    对于配置文件的修改,你需要确保修改后的配置文件被正确加载。你可以通过检查Hive的日志来确认配置文件是否被正确加载。另外,修改配置文件后需要重启Hive服务才能使修改生效。

    希望这些信息能够帮助你解决问题。如果问题仍然存在,请提供更多详细的错误信息,我会尽力帮助你解决。

    评论 编辑记录

报告相同问题?

问题事件

  • 修改了问题 7月23日
  • 创建了问题 7月23日

悬赏问题

  • ¥15 请问用arcgis处理一些数据和图形,通常里面有一个根据点划泰森多边形的命令,直接划的弊端是只能执行一个完整的边界,但是我们有时候会用到需要在有很多边界内利用点来执行划泰森多边形的命令
  • ¥30 在wave2foam中执行setWaveField时遇到了如下的浮点异常问题,请问该如何解决呢?
  • ¥20 看图片)删除这个自动化录屏脚本就一直报错找不到脚本文件,如何解决?(相关搜索:bat文件)
  • ¥750 关于一道数论方面的问题,求解答!(关键词-数学方法)
  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 pycharm运行main文件,显示没有conda环境
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
  • ¥15 为什么eclipse不能再下载了?