DataGrip 连接 HiveServer2 报错的问题

 更新时间:2020年09月29日 14:29:11   作者:_lizhiqiang  
这篇文章主要介绍了DataGrip 连接 HiveServer2 报错的问题,本文通过图文实例相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

DataGrip 连接 HiveServer2 报错

一、Heap memory

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

因为 DataGrip 会开好几个 Session,我这里是 4 个 Session

Hive打开的Session

因此有时候如果执行的语句过大,会造成堆内存来不起回收。导致堆内存溢出,反应在 DataGrip 就是执行语句卡住没反应,等很久然后报错。这里有个超时时间,等很久就是超过这个超时时间后报错。

我们可以适当调大 heap 内存:

# 在 hive/bin 目录下的 hive-config.sh,最后一行就是设置 heap 的大小。
 69 # Default to use 256MB
 70 export HADOOP_HEAPSIZE=${HADOOP_HEAPSIZE:-2048}

二、Too many open files

在这里插入图片描述

lzq@hadoop102 ~ ulimit -a
-t: cpu time (seconds)    unlimited
-f: file size (blocks)    unlimited
-d: data seg size (kbytes)   unlimited
-s: stack size (kbytes)    8192
-c: core file size (blocks)   0
-m: resident set size (kbytes)  unlimited
-u: processes      10000
-n: file descriptors    4096
-l: locked-in-memory size (kbytes) 64
-v: address space (kbytes)   unlimited
-x: file locks      unlimited
-i: pending signals     31830
-q: bytes in POSIX msg queues  819200
-e: max nice      0
-r: max rt priority     0
-N 15:        unlimited

修改最大文件连接数量

  •  Linux 任何外部设备(socket、文件)都可以看做一个文件,而一个文件就可以通过一个文件描述符来读写。
  • -n: file descriptors 4096 描述的就是一进程可以打开文件最大的数量
  • 默认是1024,我们可以通过命令 ulimit -n 4096 把最大打开文件调整到 4096,如果重启会还原成默认值
  • 永久设置方法
vim /etc/security/limits.conf 
在最后加入
* soft nofile 65535 
* hard nofile 65535 

安装 lsof

 sudo yum install lsof -y

查看当前系统打开的文件数量

lsof | wc -l 
watch "lsof | wc -l" 
 lzq@hadoop102 ~ jps
25696 Jps
1522 NameNode
22627 RunJar
1716 DataNode
3140 Kafka
2309 NodeManager
2647 QuorumPeerMain
22889 RunJar
23322 RunJar

查看某一进程的打开文件数量

# RunJar 就是 HiveServer2 的进程
lsof -p pid | wc -l 
lsof -p 22627 | wc -l 
lsof -p 22889 | wc -l
lsof -p 23322 | wc -l

到此这篇关于DataGrip 连接 HiveServer2 报错的文章就介绍到这了,更多相关DataGrip 连接 HiveServer2 报错内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • SQL之Join的使用详解

    SQL之Join的使用详解

    关于sql语句中的连接(join)关键字,是较为常用而又不太容易理解的关键字,下面就为大家介绍一下相关资料,需要的朋友可以参考下
    2020-09-09
  • Access与sql server的语法区别总结

    Access与sql server的语法区别总结

    这篇文章主要介绍了Access与sql server的语法区别总结,需要的朋友可以参考下
    2007-03-03
  • SQL中游标(cursor)的基本使用实例

    SQL中游标(cursor)的基本使用实例

    当你检索的数据只是一条记录时,你所编写的事务语句代码往往使用SELECT INSERT语句,但如果从某一结果集中逐一地读取一条记录呢?游标为我们提供了一种极为优秀的解决方案,这篇文章主要给大家介绍了关于SQL中游标(cursor)基本使用的相关资料,需要的朋友可以参考下
    2021-11-11
  • 详解PyMySQL插入字典类型的数据

    详解PyMySQL插入字典类型的数据

    在我们爬虫或者调API获取数据后,需要将数据存入到数据库中,如果数据是列表嵌套字典格式的话,一般做法是遍历列表,然后用字典生成对应的SQL语句再执行插入到表中,本文将介绍一种更加简便的方法来插入字典类型的数据,需要的朋友可以参考下
    2022-07-07
  • 数据库触发器(Trigger)的一点使用心得

    数据库触发器(Trigger)的一点使用心得

    最近了解了一下数据库触发器,并做一点实际的应用,在翻看其概念的时候,还是本着从理解的角度来学习的,但是,到了实际的应用场景中,还是有一些特别注意的地方的,下面是自己在应用中的几点体会
    2009-07-07
  • 浅谈三种数据库的 SQL 注入

    浅谈三种数据库的 SQL 注入

    本文主要介绍了浅谈三种数据库的SQL注入,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • 数据库设计经验谈

    数据库设计经验谈

    这篇文章主要介绍了数据库设计经验谈的相关资料,需要的朋友可以参考下
    2007-03-03
  • MSSQL转MySQL数据库的实际操作记录

    MSSQL转MySQL数据库的实际操作记录

    今天把一个MSSQL的数据库转成MySQL,在没有转换工具的情况下,对于字段不多的数据表我用了如下手功转换的方法,还算方便。MSSQL使用企业管理器操作,MySQL用phpmyadmin操作。
    2010-06-06
  • StarRocks数据库详解(什么是StarRocks)

    StarRocks数据库详解(什么是StarRocks)

    StarRocks是一个高性能的全场景MPP数据库,支持多种数据导入导出方式,包括Spark、Flink、Hadoop等,它采用分布式架构,支持多副本和弹性容错,本文介绍StarRocks详解,感兴趣的朋友一起看看吧
    2025-03-03
  • 数据库设计的折衷方法

    数据库设计的折衷方法

    这篇文章主要介绍了数据库设计的折衷方法,需要的朋友可以参考下
    2007-03-03

最新评论