Model h2o模型不适合驱动程序节点';内存错误

Model h2o模型不适合驱动程序节点';内存错误,model,h2o,gbm,Model,H2o,Gbm,我在H2O中通过R代码运行GBM模型,得到以下错误。同样的代码在几周内运行良好。想知道这是用户系统上的H2O端错误还是配置 water.exceptions.H2OModelBuilderIllegalArgumentException:GBM模型的非法参数:GBM-2017-04-18-15-29-53。详细信息:ERRR on field:\u ntrees:树模型将无法放入驱动程序节点的内存(每棵树23.2 MB x 1000>3.32 GB)-请尝试减少ntrees和/或最大深度或增加最

我在H2O中通过R代码运行GBM模型,得到以下错误。同样的代码在几周内运行良好。想知道这是用户系统上的H2O端错误还是配置


water.exceptions.H2OModelBuilderIllegalArgumentException:GBM模型的非法参数:GBM-2017-04-18-15-29-53。详细信息:ERRR on field:\u ntrees:树模型将无法放入驱动程序节点的内存(每棵树23.2 MB x 1000>3.32 GB)-请尝试减少ntrees和/或最大深度或增加最小行数

您帖子中的3.32 GB数字是根据H2O作业中的活动计算得出的。因此,在不知道工作中发生了什么的情况下,很难直接验证它。每个节点40 GB与3.32 GB有很大不同,因此请执行以下操作以检查作业是否正常

在H2OHadoop作业完成后,您可以查看纱线日志,以确认容器确实获得了预期的内存量

使用以下命令(在运行完成后由驱动程序输出为您打印):

对我来说,其中一个H2O节点容器的(轻微修剪)输出如下所示:

Container: container_e20_1487032509333_2085_01_000004 on mr-0xd4.0xdata.loc_45454
===================================================================================
LogType:stderr
Log Upload Time:Sat Apr 22 07:58:13 -0700 2017
...

LogType:stdout
Log Upload Time:Sat Apr 22 07:58:13 -0700 2017
LogLength:7517
Log Contents:
POST 0: Entered run
POST 11: After setEmbeddedH2OConfig
04-22 07:57:56.979 172.16.2.184:54323    11976  main      INFO: ----- H2O started  -----
04-22 07:57:57.011 172.16.2.184:54323    11976  main      INFO: Build git branch: rel-turing
04-22 07:57:57.011 172.16.2.184:54323    11976  main      INFO: Build git hash: 34b83da423d26dfbcc0b35c72714b31e80101d49
04-22 07:57:57.011 172.16.2.184:54323    11976  main      INFO: Build git describe: jenkins-rel-turing-8
04-22 07:57:57.011 172.16.2.184:54323    11976  main      INFO: Build project version: 3.10.0.8 (latest version: 3.10.4.5)
04-22 07:57:57.011 172.16.2.184:54323    11976  main      INFO: Build age: 6 months and 11 days
04-22 07:57:57.012 172.16.2.184:54323    11976  main      INFO: Built by: 'jenkins'
04-22 07:57:57.012 172.16.2.184:54323    11976  main      INFO: Built on: '2016-10-10 13:45:37'
04-22 07:57:57.012 172.16.2.184:54323    11976  main      INFO: Java availableProcessors: 32
04-22 07:57:57.012 172.16.2.184:54323    11976  main      INFO: Java heap totalMemory: 9.86 GB
04-22 07:57:57.012 172.16.2.184:54323    11976  main      INFO: Java heap maxMemory: 9.86 GB
04-22 07:57:57.012 172.16.2.184:54323    11976  main      INFO: Java version: Java 1.7.0_67 (from Oracle Corporation)
请注意,应用程序主容器日志输出看起来不同,因此只需查找任意一个H2O节点容器的输出

查找“Java堆maxMemory”一行。在我的例子中,我在命令行上请求了'-mapperXmx 10g',所以这看起来不错。如果JVM开销较小,9.86 GB接近“10g”


如果不是您所期望的,那么您就有一个Hadoop配置问题:某些Hadoop设置正在覆盖您在命令行上请求的内存量。

对我有效的修复方法是在初始化H2O时设置最小和最大内存大小。例如:

如果未指定最小或最大内存大小,则此操作失败:

localH2O <- h2o.init(ip='localhost', nthreads=-1)

INFO: Java heap totalMemory: 1.92 GB
INFO: Java heap maxMemory: 26.67 GB
INFO: Java version: Java 1.8.0_121 (from Oracle Corporation)
INFO: JVM launch parameters: [-ea]
INFO: OS version: Linux 3.10.0-327.el7.x86_64 (amd64)
INFO: Machine physical memory: 1.476 TB
localH2O <- h2o.init(ip='localhost', nthreads=-1,
                     max_mem_size='200G')

INFO: Java availableProcessors: 64
INFO: Java heap totalMemory: 1.92 GB
INFO: Java heap maxMemory: 177.78 GB
INFO: Java version: Java 1.8.0_121 (from Oracle Corporation)
INFO: JVM launch parameters: [-Xmx200G, -ea]
INFO: OS version: Linux 3.10.0-327.el7.x86_64 (amd64)
INFO: Machine physical memory: 1.476 TB

localH2O您的H2O集群两次大小是否相同?这一次,您似乎只使用了
h2o.init()
的默认内存量,这并不是很多。Erin,我在下面使用它来启动h2o实例。我还尝试选择内存最高的节点放入h2o.init(ip=ip,port=port)。我为每个节点分配了40g,但仍然错误地指出内存不足。想知道这是否是与h2o的安装方式相关的配置或设置问题?hadoop jar/dsap/devl/h2o/h2o-3.10.4.1-hdp2.4/h2odriver.jar-节点20-mapperXmx 40g-输出/用户/用户id/h2o1-基址6338-nthreads-谢谢!这很有帮助
localH2O <- h2o.init(ip='localhost', nthreads=-1,
                     max_mem_size='200G')

INFO: Java availableProcessors: 64
INFO: Java heap totalMemory: 1.92 GB
INFO: Java heap maxMemory: 177.78 GB
INFO: Java version: Java 1.8.0_121 (from Oracle Corporation)
INFO: JVM launch parameters: [-Xmx200G, -ea]
INFO: OS version: Linux 3.10.0-327.el7.x86_64 (amd64)
INFO: Machine physical memory: 1.476 TB
localH2O <- h2o.init(ip='localhost', nthreads=-1,
                     min_mem_size='100G', max_mem_size='200G')

INFO: Java availableProcessors: 64
INFO: Java heap totalMemory: 95.83 GB
INFO: Java heap maxMemory: 177.78 GB
INFO: Java version: Java 1.8.0_121 (from Oracle Corporation)
INFO: JVM launch parameters: [-Xms100G, -Xmx200G, -ea]
INFO: OS version: Linux 3.10.0-327.el7.x86_64 (amd64)
INFO: Machine physical memory: 1.476 TB