简单说一下情况,由于impala查询hbase效率低,准备把hbase里的数据拷贝到impala里,数据量应该在几十亿到上百亿,机器配置是13个节点,每个节点128G内存,总是在三十多亿数据的时候报gc overhead limit exceeded,尝试修改了一些参数还是报错,现在应该怎么办。
是impala查询的时候报错吗?
总的来说,还是内存方面配置的问题。
比如取消内存限制
set mem_limit=-1
或则修改配置文件
Impala Daemon 内存限制
mem_limit=-1b
单池内存限制
default_pool_mem_limit=-1b
ava.lang.OutOfMemoryError: GC overhead limit exceeded
分析:这个是JDK6新添的错误类型。是发生在GC占用大量时间为释放很小空间的时候发生的,是一种保护机制。解决方案是,关闭该功能,可以添加JVM的启动参数来限制使用内存: -XX:-UseGCOverheadLimit
添加位置是:mapred-site.xml 里新增项:mapred.child.java.opts 内容:-XX:-UseGCOverheadLimit