hadoop - 使用直线启动配置单元时出现 OutOfMemoryError

标签 hadoop hive

问题:

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/

相关文章:

hadoop - 如何定期在Hadoop上分析数据

hadoop - 如何回滚 hive 表中的截断数据

java - Hive jdbc 驱动程序以非描述性消息响应

hadoop - hive :SELECT *语句有效,但SELECT COUNT(*)不起作用

hadoop - 配置单元限制查询外部表时扫描通过的文件列表

arrays - 将数据加载到 Hive 数组列

sql - 如何使用标准查询或使用 UDF 标记一行并将其特定值存储在 Hive 中?

hadoop - MapReduce shuffle 和 sort 阶段的复制操作

hadoop - 要将SequenceFile中的所有记录发送到一个映射器实例?

python-3.x - 使用 Pyspark 检查 hive Metastore 中是否存在表