当前位置: 首页 > 知识库问答 >
问题:

初始化虚拟机时出现Datanode错误,初始堆太小

邵阳辉
2023-03-14

我们重新启动集群上的dastanodes

我们在ambari集群中有15台数据节点机器,而每个数据节点机器都有128G RAM

版本- ( HDP - 2.6.4和安巴里版本2.6.1)

但是,由于以下错误,datanode无法启动

Error occurred during initialization of VM
Too small initial heap

这很奇怪dtnode_heapsize因为 8G ( 数据节点最大 Java 堆大小 = 8G ),从日志中我们也可以看到

InitialHeapSize=8192 -XX:MaxHeapSize=8192

所以我们不明白这是怎么回事

dose-与DataNode最大Java堆大小相关的初始堆大小?

来自datanode计算机的日志

Java HotSpot(TM) 64-Bit Server VM (25.112-b15) for linux-amd64 JRE (1.8.0_112-b15), built on Sep 22 2016 21:10:53 by "java_re" with gcc 4.3.0 20080428 (Red Hat 4.3.0-8)
Memory: 4k page, physical 197804180k(12923340k free), swap 16777212k(16613164k free)
CommandLine flags: -XX:ErrorFile=/var/log/hadoop/hdfs/hs_err_pid%p.log -XX:GCLogFileSize=1024000 -XX:InitialHeapSize=8192 -XX:MaxHeapSize=8192 -XX:MaxNewSize=209715200 -XX:MaxTenuringThreshold=6 -XX:NewSize=209715200 -XX:NumberOfGCLogFiles=5 -XX:OldPLABSize=16 -XX:ParallelGCThreads=4 -XX:+PrintAdaptiveSizePolicy -XX:+PrintGC -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintTenuringDistribution -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseConcMarkSweepGC -XX:+UseGCLogFileRotation -XX:+UseParNewGC 
==> /var/log/hadoop/hdfs/hadoop-hdfs-datanode-worker01.sys242.com.out <==
Error occurred during initialization of VM
Too small initial heap
ulimit -a for user hdfs
core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 772550
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 128000
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 65536
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

另一个日志示例:

resource_management.core.exceptions.ExecutionFailed: Execution of 'ambari-sudo.sh su hdfs -l -s /bin/bash -c 'ulimit -c unlimited ;  /usr/hdp/2.6.4.0-91/hadoop/sbin/hadoop-daemon.sh --config /usr/hdp/2.6.4.0-91/hadoop/conf start datanode'' returned 1. starting datanode, logging to 
Error occurred during initialization of VM
Too small initial heap

共有1个答案

姬康平
2023-03-14

您提供的值是以字节为单位指定的。应该是初始大小=8192m-XX:最大大小=8192m

看到https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html

 类似资料:
  • 我正在尝试在我的手机上部署我新创建的Ionic 3应用程序(我使用的是64位Windows 10),但在运行后抛出错误: 我已经安装了Android Studio。我添加了一个系统变量_JAVA_OPTIONS,其值为-Xmx512M。我还添加了值为-Xmx2048M的系统变量GRADLE_OPTS 否则我有: 为什么还会出现这个错误?

  • 我正试着通过这样做来初始化amplify 在Android项目中。不知何故,每次安装失败时,都会出现以下stacktrace: ⠹ 正在云中初始化项目。。。创建CloudFormation堆栈时出错✖ 根堆栈创建失败init失败{InvalidClientTokenId:请求中包含的安全令牌无效。在请求时出现extractError(/usr/local/lib/node_modules/@aws

  • 问题内容: 我是使用log4j软件包的新手,但看不到错误:这是一个非常简单明了的代码示例: 当我尝试编译时,出现此错误: my.package.logging.TestLogger.main(TestLogger.java:15)上的org.apache.logging.log4j.LogManager.getLogger(LogManager.java:129)处的线程“ main”中的java

  • 我使用JUnit、Mockito、PowerMock和Robolectic编写了android的Unit测试,并使用Robolectic Test Runner通过命令行在Linux环境中运行这些测试。我想使用Emma命令行生成覆盖报告。 我面临以下错误。 请有人帮我做这个。谢谢

  • 问题内容: 我使用以下命令运行Java代码: 我的CPU的RAM容量为6GB。 但是,它总是无法执行,给我以下错误消息: 有什么方法可以设置Java选项,以便我们可以执行代码? 问题答案: 您已经超出了JVM的最大堆大小。这取决于JVM和OS。在大多数32位系统中,无论可用的物理内存如何,最大值均为2Gb。

  • 当我试图创建一个新的空项目(或任何其他类型的项目)时,我在IntelliJ IDEA版本2017.3.5中得到错误int the title。到目前为止,我所做的是: > 从以下网址下载社区版本(不含jdk)https://www.jetbrains.com/idea/download/download-thanks.html?platform=linuxwithoutjdk&code=iic 将