问题:
Hive 从 cli 开始工作,当我使用 beeline 启动 hive 时:
beeline -u "jdbc:hive2://********:10000/default" -n **** -p **** -d "org.apache.hive.jdbc.HiveDriver"
我收到以下异常:
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
Error: java.io.IOException: com.google.protobuf.ServiceException: java.lang.OutOfMemoryError: GC overhead limit exceeded (state=,code=0)
Beeline version 0.14.0 by Apache Hive
我尝试了什么:
我知道重启 hive 服务并不能解决问题,只是试了试,没有成功。
我试图清除 tmp:
rm -rf *
现在 hive cli 也无法启动并出现以下错误:
$ hive
Error creating temp dir in java.io.tmpdir /tmp due to Read-only file system
我需要查看任何特定的配置单元属性吗?
请指导我。任何帮助将不胜感激
最佳答案
@Addy,您可以尝试下面提到的解决方案。它应该适合您。
if [ "$SERVICE" = "cli" ]; then
if [ -z "$DEBUG" ]; then
export HADOOP_OPTS="$HADOOP_OPTS -XX:NewRatio=12 -Xmx12288m -Xms10m -XX:MaxHeapFreeRatio=40 -XX:MinHeapFreeRatio=15 -XX:+useParNewGC -XX:-useGCOverheadLimit"
else
export HADOOP_OPTS="$HADOOP_OPTS -XX:NewRatio=12 -Xmx12288m -Xms10m -XX:MaxHeapFreeRatio=40 -XX:MinHeapFreeRatio=15 -XX:-useGCOverheadLimit"
fi
fi
export HADOOP_HEAPSIZE=2048
有关更多详细信息,您还可以访问 Cloudera 博客以获取 Managing Hive.
关于hadoop - 使用直线启动配置单元时出现 OutOfMemoryError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38888294/