HBase RegionServer GC参数Xms和Xmx的配置为31GB,导致RegionServer启动失败
问题
查看RegionServer启动失败节点的hbase-omm-*.out日志,发现日志中存在“An error report file with more information is saved as: /tmp/hs_err_pid*.log”,查看/tmp/hs_err_pid*.log发现日志存在“#Internal Error (vtableStubs_aarch64.cpp:213), pid=9456, tid=0x0000ffff97fdd200”和“#guarantee(__ pc() <= s->code_end()) failed: overflowed buffer”,表示此问题是由JDK导致,需要如何解决?
回答
修复步骤如下:
- 在RegionServer启动失败的某个节点执行 su - omm,切换到omm用户。
- 在omm用户下执行java -XX:+PrintFlagsFinal -version |grep HeapBase,出现如下类似结果。
uintx HeapBaseMinAddress = 2147483648 {pd product}
- 修改“GC_OPTS”中“-Xms”和“-Xmx”的值使其不在32G-HeapBaseMinAddress和32G的值之间,不包括32G和32G-HeapBaseMinAddress的值。
- 登录FusionInsight Manager,选择“集群 > 待操作集群的名称 > 服务 > HBase > 实例”,选择失败实例,选择“更多 > 重启实例”来重启失败实例。