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

(0)

相关推荐

  • datagrip 修改或更新不能自动提交的问题

    datagrip是JetBrains 出品,智能提示和界面和idea一样好用,但最初使用时,不熟悉软件操作,导致软件不能自动提交,其实软件可以设置自动提交和手动提交,设置自动提交的方法如下图: 设置为手动提交的如下图(但是每次执行删除,更新和增加操作时需要手动提交): 以上是datagrip的提交的方式介绍,初次很容易忽略,导致不知道原因. 下面看下DataGrip激活码 引言: 网上有有很多datagirp的激活码,但是经过尝试很多都失效了,找了半天终于 找到了一个可用的激活码! 1. 激活码

  • Datagrip2020下载MySQL驱动失败的问题

    直接点击downlaod下载不了可以去这里下载,也可以选择其他版本 到此这篇关于Datagrip2020下载MySQL驱动失败的问题的文章就介绍到这了,更多相关Datagrip下载MySQL驱动内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

  • DataGrip 2020.1 安装与激活方法

    我们下载: JetBrains DataGrip 2020.1 免费中文正式版(附汉化包+安装教程) 近看到一款数据库客户端工具,DataGrip,是大名鼎鼎的JetBrains公司出品的,就是那个出品Intellij IDEA的公司. DataGrip是一款数据库管理客户端工具,方便连接到数据库服务器,执行sql.创建表.创建索引以及导出数据等.之前试用的客户端工具是dbvisualizer,但是在试用了DataGrip以后,我就决定抛弃dbvisualizer.我相信,当你第一眼看到Data

  • 从零开始用DataGrip的安装及使用教程

    mysql的安装 官网下载mysql-8.0.19-winx64 这里随便下载一个版本就行了(群里下也行) 解压后加入环境变量 在path(环境变量里面)加上mysql路径(/bin). 例如,我的安装路径是C:\Users\skywf\mysql-8.0.19-winx64,那么我就要像下图一样配置环境变量 第三步:进入命令指示符(cmd)管理员权限, 输入mysqld --initialize-insecure --user=mysql, 我这里先配置无密码的,后面再加密码(因为懒得记那个随

  • datagrip入坑指南(如何找到数据库和表)

    用习惯了navicat,一直喜欢如下界面,可以方便查看数据库及表的信息. 但是不知道为什么navicat总是无法连接oracle,因此转战datagrip. 第一次使用datagrip,用户体验可谓是相当差了(大佬莫喷,对于我的使用习惯来说,这款软件用户体验真的极差.) 琢磨了半天,都不知道怎么弄成navicat那种界面. 以下是入坑教程:包括新建项目,连接数据库,已经查看数据库及表的内容. 1.新建项目: 2.连接数据库 点击 File-->Data Sources 点击左上角绿色小加号,选择

  • 详解将DataGrip连接到MS SQL Server的方法

    DataGrip支持几乎所有主流的关系数据库产品,如DB2.Derby.H2.MySQL.Oracle.PostgreSQL.SQL Server.Sqllite及Sybase等,并且提供了简单易用的界面,允许您以不同模式执行查询,在本篇文章中,我们介绍的是将DataGrip连接到MS SQL Server的方法. JetBrains DataGrip教程 DataGrip可以涵盖SQL开发人员的一些特定需求,例如从OSX 连接到SQL Server,甚至使用Windows身份验证.自从发布Da

  • 使用DataGrip的详细教程

    DataGrip是什么 DataGrip是一款连接数据库的可视化软件,就跟Navicat似的. DataGrip是JetBrains公司出品的,就是开发了IntelliJ IDEA的那家公司. 写在前边 现在的时间:2020-03-27        基本上我认识的人都在用Navicat,Navicat确实非常好用.        但DataGrip真的真的也很好用,而且我感觉DataGrip界面设计更加美观,在书写SQL语句的时候提示功能也非常强大,确实比Navicat强大不少.但用惯了Nav

  • DataGrip 连接 HiveServer2 报错的问题

    DataGrip 连接 HiveServer2 报错 一.Heap memory Exception in thread "main" java.lang.OutOfMemoryError: Java heap space 因为 DataGrip 会开好几个 Session,我这里是 4 个 Session 因此有时候如果执行的语句过大,会造成堆内存来不起回收.导致堆内存溢出,反应在 DataGrip 就是执行语句卡住没反应,等很久然后报错.这里有个超时时间,等很久就是超过这个超时时间

  • IDEA连接mysql报错的问题及解决方法

    IDEA连接mysql报错了! 本人之前使用MySQL以及后续使用mybatis和mybatisPlus都是使用sqlyog或者navicat,今天重新学习sql,看到up使用了,idea插件来连接数据库(mysql)也来学习使用了,结果出现一系类问题.本博客开始记录. ---------------------------前进的道路充满荆棘.--------------------------------------------------------------------------- 错

  • 解决navicat远程连接mysql报错10038的问题

    navicat远程连接mysql报错10038一般由以下两个原因: 一:本地防火墙问题 在本地安装了mysql.navicat并打开了mysql服务的情况下,来设置防火墙. 首先右击或者点击入站规则,找到新建规则,点击. 点击端口. 在特定本地端口中填入3306. 一直点击下一步. 这里可以给一个好分别的名称即可. 之前再尝试连接即可,若仍然不可以,可能是服务器方面的问题. 二:服务器3306端口未打开 首先需要在安全组开放端口. 我这里使用的是阿里云服务器.首先需要进入云服务器,找到安全组.

  • VSCode远程连接服务器报错:Could not establish connection to

    目录 报错信息: 解决方法: 假设你已经做好了如下配置和尝试 在Extensions中安装好了Remote -SSH 添加了你要访问的服务器ip地址等信息,并拥有了一个config文件(如下图) 请记住这个config文件的路径,一般为"C:\Users\user_name\.ssh\config" 于是你开始尝试连接服务器,选择了最上方下拉菜单中的Linux/Windows之后,不幸失败了 报错信息: 出现Could not establish connection to "

  • Navicat连接mysql报错1251错误的解决方法

    本文为大家分享了Navicat连接mysql报错1251错误的解决方法,供大家参考 错误提示 出现这个原因是mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password 解决办法:把mysql用户登录密码加密规则还原成mysql_native_password. 步骤: 1.打开cmd命令窗口,输入命令 mysql -uroot -p 打开MySQL数据库,然后输入密码进行登录. 2.修改加密规则 将加

  • Navicat连接mysql报错2003(10060)的解决方法

    目录 发现报错 1.MySQL的服务没有启动,这个是最常见的问题原因 2.MySQL没有远程权限 3.防火墙拦截 总结 发现报错 对于Navicat连接数据库mysql 出现报错2003(10060),如下所示报错 经过查询总结以上出现问题的主要解决方法三种: 1.MySQL的服务没有启动,这个是最常见的问题原因 WIN+R,输入services.msc打开服务管理器,找到mysql 如果显示mysql为禁用状态,可以右键启动服务,然后在Navicat重新测试连接 2.MySQL没有远程权限 1

  • Node使用Sequlize连接Mysql报错:Access denied for user ‘xxx’@‘localhost’

    前言 最近在工作中遇到问题,问题如下: Unhandled rejection SequelizeAccessDeniedError: Access denied for user 'lupeng'@'localhost' (using password: YES) 这是Node在使用Sequlize连接Mysql数据时报的错,关键看冒号后面的错误:访问拒绝,关键是访问拒绝的错误,说明数据库连接这里有问题,数据库连接访问拒绝,要么是没有相应的操作权限,要么是账号密码错误. 这样就把问题定位在访问

  • navicat连接mysql报错1251的解决方法

    mysql8.0版本连接navicat,出现连接错误,报1251 error,如下图 这是因为mysql8.0版本和5.0版本加密方式不一样,所以会报错 解决方法: 1.打开Win+R,输入cmd启动控制台 2.找到你安装mysql8.0的bin目录,在控制台上输入cd D:\mysql\mysql8.0\bin(具体为你安装路径)记得要在你安装的磁盘下输入,就如我 这样子是错误的,因为cd本来是切换到后面路径D盘的,我却还在C盘操作,所以我们得改操作路径,代码d:即可实现 3.在自己安装的磁盘

  • 连接mysql报错——没有设置“usessl=false”的问题

    目录 报错信息 解决办法 添加前 添加后 附上Configuration.xml代码 报错信息 Wed Mar 13 17:08:37 CST 2019 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must

  • Linux连接mysql报错:Access denied for user ‘root’@‘localhost’(using password: YES)的解决方法

    前言 最近在linux连接mysql /usr/local/mysql/bin/mysql -uroot -p 输入密码出现Access denied for user 'root'@'localhost'(using password: YES)错误.下面话不多说了,来一起看看详细的解决方法吧 解决办法: 1.先停止mysql 服务 service mysqld stop 2.进入mysql安装目录bin/ 使用safe模式,进行重启: ./mysqld_safe --skip-grant-t

随机推荐