服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - 数据库技术 - DataGrip 连接 HiveServer2 报错的问题

DataGrip 连接 HiveServer2 报错的问题

2021-11-09 18:55_lizhiqiang 数据库技术

这篇文章主要介绍了DataGrip 连接 HiveServer2 报错的问题,本文通过图文实例相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

datagrip 连接 hiveserver2 报错

一、heap memory

exception in thread "main" java.lang.outofmemoryerror: java heap space

因为 datagrip 会开好几个 session,我这里是 4 个 session

DataGrip 连接 HiveServer2 报错的问题

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

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

?
1
2
3
# 在 hive/bin 目录下的 hive-config.sh,最后一行就是设置 heap 的大小。
 69 # default to use 256mb
 70 export hadoop_heapsize=${hadoop_heapsize:-2048}

二、too many open files

DataGrip 连接 HiveServer2 报错的问题

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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,如果重启会还原成默认值
  • 永久设置方法
?
1
2
3
4
vim /etc/security/limits.conf
在最后加入
* soft nofile 65535
* hard nofile 65535

安装 lsof

?
1
sudo yum install lsof -y

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

?
1
2
lsof | wc -l
watch "lsof | wc -l"
?
1
2
3
4
5
6
7
8
9
10
lzq@hadoop102 ~ jps
25696 jps
1522 namenode
22627 runjar
1716 datanode
3140 kafka
2309 nodemanager
2647 quorumpeermain
22889 runjar
23322 runjar

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

?
1
2
3
4
5
# 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 报错内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/u010022158/article/details/107114019

延伸 · 阅读

精彩推荐