问题:
Hive正在从cli工作,当我使用直线开始蜂巢时:
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
我尝试了什么:
我知道重新启动蜂巢服务无法解决目的,但只是试一试,没有运气。
我试图清除tmp:
rm -rf *
现在,hive cli也无法启动以下错误:
$ hive
Error creating temp dir in java.io.tmpdir /tmp due to Read-only file system
我需要研究哪些特定的配置单元属性?
请指导我。任何帮助将不胜感激
答案 0 :(得分:2)
@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.