如何解决DataGrip连接HiveServer2报错的问题
这篇文章主要介绍如何解决DataGrip连接HiveServer2报错的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
DataGrip 连接 HiveServer2 报错
一、Heap memory
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
因为 DataGrip 会开好几个 Session,我这里是 4 个 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 ~ jps25696 Jps1522 NameNode22627 RunJar1716 DataNode3140 Kafka2309 NodeManager2647 QuorumPeerMain22889 RunJar23322 RunJar
查看某一进程的打开文件数量
# RunJar 就是 HiveServer2 的进程lsof -p pid | wc -l lsof -p 22627 | wc -l lsof -p 22889 | wc -llsof -p 23322 | wc -l
以上是"如何解决DataGrip连接HiveServer2报错的问题"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
- 上一篇
RAC 11G R2 ORA-01078 ORA-01565 ORA-17503 ORA-12547错误
前几天搭建的RAC测试环境:oel6.7 grid 和database都是11.2.0.4.0今天重启后,其中一个节点数据库起不来,但集群能正常启来。手动 startup报错:SQL> startup
- 下一篇
ORA-01804: failure to initialize timezone information
把EBS 数据库从11.1.0.7升级到11.2.0.4后,无法登陆[oraprod@ebsprod PROD_ebsprod]$ sqlplus / as sysdbaERROR:ORA-01804