【Hive篇】sql查询时响应时间非常久
【问题描述】
今天在执行列转行数据的sql操作时,发现执行时间超长,当前页面也没啥报错提示,一开始怀疑是sql问题,但是反复检查了下sql,sql无异常,详细过程如下:
【问题排查】
针对此类问题,一般先去找日志排查原因,进入到Hive的日志中排查。一般Hive的日志目录是在
/hive/logs目录下,
当然不同公司配置的路径不一样,具体logs存放目录可以去配置文件(hive/conf/hive-log4j2.properties.template)里面查询:
言归正传,现在排查日志信息。进入到logs目录中,ll命令查看最新的日志文件,然后用tail命令查看是否有报错提示:
进一步确认是否是集群没启动起来,xshell连上宕机的那台机器,检查是否能连上。我这里直接用封装好的jps命令脚本去查看每个机器的java后台进程:
现在已经确认了问题所在:hadoop103这台机器没有完全启动。。。
【解决方法】
先停止集群以及hive,然后启动hadoop103,再启动集群和hive,最后sql执行成功,再没报错: