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
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。