Hive 配置单元-内存不足异常

Hive 配置单元-内存不足异常,hive,beeswax,Hive,Beeswax,这导致了乔布斯先生。MR作业成功运行,但当beeswax尝试渲染结果时,我得到一个OOM异常 我想知道是否有一个配置设置可以帮助我通过这个问题 java.lang.OutOfMemoryError: Java heap space at java.util.Arrays.copyOfRange(Arrays.java:2694) at java.lang.String.<init>(String.java:203) at java.nio.HeapCharBu

这导致了乔布斯先生。MR作业成功运行,但当beeswax尝试渲染结果时,我得到一个OOM异常

我想知道是否有一个配置设置可以帮助我通过这个问题

java.lang.OutOfMemoryError: Java heap space
    at java.util.Arrays.copyOfRange(Arrays.java:2694)
    at java.lang.String.<init>(String.java:203)
    at java.nio.HeapCharBuffer.toString(HeapCharBuffer.java:561)
    at java.nio.CharBuffer.toString(CharBuffer.java:1201)
    at org.apache.hadoop.io.Text.decode(Text.java:394)
    at org.apache.hadoop.io.Text.decode(Text.java:371)
    at org.apache.hadoop.io.Text.toString(Text.java:273)
    at org.apache.hadoop.hive.serde2.SerDeUtils.buildJSONString(SerDeUtils.java:280)
    at org.apache.hadoop.hive.serde2.SerDeUtils.getJSONString(SerDeUtils.java:220)
    at org.apache.hadoop.hive.serde2.DelimitedJSONSerDe.serializeField(DelimitedJSONSerDe.java:59)
    at org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe.serialize(LazySimpleSerDe.java:427)
    at org.apache.hadoop.hive.ql.exec.ListSinkOperator.processOp(ListSinkOperator.java:91)
    at org.apache.hadoop.hive.ql.exec.Operator.process(Operator.java:474)
    at org.apache.hadoop.hive.ql.exec.FetchOperator.pushRow(FetchOperator.java:498)
    at org.apache.hadoop.hive.ql.exec.FetchTask.fetch(FetchTask.java:137)
    at org.apache.hadoop.hive.ql.Driver.getResults(Driver.java:1474)
    at com.cloudera.beeswax.BeeswaxServiceImpl$RunningQueryState.materializeResults(BeeswaxServiceImpl.java:434)
    at com.cloudera.beeswax.BeeswaxServiceImpl$RunningQueryState.fetch(BeeswaxServiceImpl.java:543)
    at com.cloudera.beeswax.BeeswaxServiceImpl$5.run(BeeswaxServiceImpl.java:986)
    at com.cloudera.beeswax.BeeswaxServiceImpl$5.run(BeeswaxServiceImpl.java:981)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:415)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1438)
    at com.cloudera.beeswax.BeeswaxServiceImpl.doWithState(BeeswaxServiceImpl.java:772)
    at com.cloudera.beeswax.BeeswaxServiceImpl.fetch(BeeswaxServiceImpl.java:980)
    at com.cloudera.beeswax.api.BeeswaxService$Processor$fetch.getResult(BeeswaxService.java:987)
    at com.cloudera.beeswax.api.BeeswaxService$Processor$fetch.getResult(BeeswaxService.java:971)
    at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
    at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
    at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:244)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
java.lang.OutOfMemoryError:java堆空间
位于java.util.Arrays.copyOfRange(Arrays.java:2694)
位于java.lang.String。(String.java:203)
位于java.nio.HeapCharBuffer.toString(HeapCharBuffer.java:561)
位于java.nio.CharBuffer.toString(CharBuffer.java:1201)
位于org.apache.hadoop.io.Text.decode(Text.java:394)
位于org.apache.hadoop.io.Text.decode(Text.java:371)
位于org.apache.hadoop.io.Text.toString(Text.java:273)
位于org.apache.hadoop.hive.serde2.SerDeUtils.buildJSONString(SerDeUtils.java:280)
位于org.apache.hadoop.hive.serde2.SerDeUtils.getJSONString(SerDeUtils.java:220)
位于org.apache.hadoop.hive.serde2.DelimitedJSONSerDe.serializeField(DelimitedJSONSerDe.java:59)
位于org.apache.hadoop.hive.serde2.lazy.lazympleserde.serialize(lazympleserde.java:427)
位于org.apache.hadoop.hive.ql.exec.listskinkoperator.processOp(listskinkoperator.java:91)
位于org.apache.hadoop.hive.ql.exec.Operator.process(Operator.java:474)
位于org.apache.hadoop.hive.ql.exec.FetchOperator.pushRow(FetchOperator.java:498)
位于org.apache.hadoop.hive.ql.exec.FetchTask.fetch(FetchTask.java:137)
位于org.apache.hadoop.hive.ql.Driver.getResults(Driver.java:1474)
在com.cloudera.beeswax.BeeswaxServiceImpl$RunningQueryState.MaterialeSults上(BeeswaxServiceImpl.java:434)
在com.cloudera.beeswax.BeeswaxServiceImpl$RunningQueryState.fetch(BeeswaxServiceImpl.java:543)
位于com.cloudera.beeswax.BeeswaxServiceImpl$5.run(BeeswaxServiceImpl.java:986)
位于com.cloudera.beeswax.BeeswaxServiceImpl$5.run(BeeswaxServiceImpl.java:981)
位于java.security.AccessController.doPrivileged(本机方法)
位于javax.security.auth.Subject.doAs(Subject.java:415)
位于org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1438)
位于com.cloudera.beeswax.BeeswaxServiceImpl.doWithState(BeeswaxServiceImpl.java:772)
位于com.cloudera.beeswax.BeeswaxServiceImpl.fetch(BeeswaxServiceImpl.java:980)
位于com.cloudera.beeswax.api.BeeswaxService$Processor$fetch.getResult(BeeswaxService.java:987)
位于com.cloudera.beeswax.api.BeeswaxService$Processor$fetch.getResult(BeeswaxService.java:971)
位于org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
位于org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
位于org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:244)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
更新 我增加了cloudera manager中的内存设置,但没有雪茄。在我第一次运行查询时重新启动服务后,它就工作了。第二次运行时失败:

  • 色调-蜂蜡服务器(默认)/资源管理-Java堆大小 蜂蜡服务器的字节数[1 Gib]
  • 配置单元-网关(默认)/资源管理-客户端Java堆大小(字节[1 Gib]
  • 配置单元-配置单元服务器2 (默认值)/资源管理-中HiveServer2的Java堆大小 字节[1 Gib]

您可以使用(增加)三个Xmx客户端java、Hive Serever 2和Hive Meta Store Server。我猜您正处于这些极限之一。

您可以使用(增加)三个Xmx客户端java、Hive Serever 2和Hive Meta Store Server。我猜你是在玩这些游戏。

谢谢@Ruslan。我猜是客户端,我该如何为蜂蜡设置客户端xmx?您是否使用Cloudera发行版?如果是这样,请导航到配置单元->配置->在搜索框中键入“xmx”。第一个选项是“以字节为单位的客户端Java堆大小”,我相信它默认为1Gb。看看增加这个是否有帮助。我试过了,但没有真正起作用。我更新了问题…谢谢,笨蛋。“在我第一次运行查询时重新启动服务后,它工作。第二次运行时失败”-内存泄漏?尝试与Cloudera合作,他们通常很擅长解决此类问题。谢谢@Ruslan。我猜是客户端,我该如何为蜂蜡设置客户端xmx?您是否使用Cloudera发行版?如果是这样,请导航到配置单元->配置->在搜索框中键入“xmx”。第一个选项是“以字节为单位的客户端Java堆大小”,我相信它默认为1Gb。看看增加这个是否有帮助。我试过了,但没有真正起作用。我更新了问题…谢谢,笨蛋。“在我第一次运行查询时重新启动服务后,它工作。第二次运行时失败”-内存泄漏?尝试与Cloudera合作,他们通常很擅长解决此类问题。谢谢@Ruslan。我猜是客户端,我该如何为蜂蜡设置客户端xmx?您是否使用Cloudera发行版?如果是这样,请导航到配置单元->配置->在搜索框中键入“xmx”。第一个选项是“以字节为单位的客户端Java堆大小”,我相信它默认为1Gb。看看增加这个是否有帮助。我试过了,但没有真正起作用。我更新了问题…谢谢,笨蛋。“在我第一次运行查询时重新启动服务后,它工作。第二次运行时失败”-内存泄漏?尝试使用Cloudera打开案例,他们通常非常擅长处理此类问题。