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 报错内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • 数据库设计技巧[转]

    数据库设计技巧[转]

    数据库设计技巧[转]...
    2007-01-01
  • 如何在Navicat新建连接、新建数据库以及导入数据库

    如何在Navicat新建连接、新建数据库以及导入数据库

    Navicat是图形化操作MySQL的强大工具,但是当数据库的服务器没有开放3306端口给办公网络时,在办公网使用navicat连接数据库是连不上的,下面这篇文章主要给大家介绍了关于如何在Navicat新建连接、新建数据库以及导入数据库的相关资料,需要的朋友可以参考下
    2023-05-05
  • 一条慢SQL导致购物车服务无法使用的解决方案

    一条慢SQL导致购物车服务无法使用的解决方案

    今天小编就为大家分享一篇关于一条慢SQL导致购物车服务无法使用的解决方案,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • Window下Neo4j安装图文教程

    Window下Neo4j安装图文教程

    这篇文章主要为大家详细介绍了Window下Neo4j安装图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • 详解hive常见表结构

    详解hive常见表结构

    hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制,这篇文章主要介绍了hive常见表结构,需要的朋友可以参考下
    2022-08-08
  • Dbeaver基本使用图文详解

    Dbeaver基本使用图文详解

    dbeaver是一款很强大的数据库连接工具,本人之前使用的是navicat,挺好用的,只不过每次激活都要整半天,然后看到了dbeaver这款工具,本着尝试的心态,体验了下,真香
    2021-11-11
  • 虚拟主机ACCESS转换成MSSQL完全攻略(图文教程)

    虚拟主机ACCESS转换成MSSQL完全攻略(图文教程)

    大家都知道,ACCESS数据库在数据量到达一定程度后,访问速度会明显变慢,甚至造成崩溃。目前,大多数虚拟主机服务商提供的ASP主机空间一般都同时支持MS ACCESS和MS SQL两种类型的数据库。
    2010-04-04
  • 数据库插入数据之select into from与insert into select区别详解

    数据库插入数据之select into from与insert into select区别详解

    能第一次接触select...into...from...和insert into...select...有很多人都会误解, 从表面上看都是把相关信息查询出来,然后添加到一个表里,其实还远远没有这么简单,接下来,小猪就用最普通的表述给大家介绍一下这两者间的区别
    2014-01-01
  • 详解SQLite中的查询规划器

    详解SQLite中的查询规划器

    这篇文章主要介绍了详解SQLite中的查询规划器,SQLite是一个开源的嵌入式数据库,需要的朋友可以参考下
    2015-07-07
  • 存储过程返回数组对象示例代码

    存储过程返回数组对象示例代码

    存储过程返回数组对象其实就相当于返回List里面放的对象数据,下面与大家分享是例子,感兴趣的朋友可以学习下
    2013-07-07

最新评论