Hbase运行不稳定,通过修改系统配置(THP)解决Hbase运行过程中时常出现宕机的问题

Posted ITboy-Bear

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hbase运行不稳定,通过修改系统配置(THP)解决Hbase运行过程中时常出现宕机的问题相关的知识,希望对你有一定的参考价值。

问题
​       前段时间由于项目需要将spark计算后的大量数据插入到HBbase数据库中,但在项目进行过程中发现整个Hadoop集群很不稳定,集群状态中CPU使用率很高,运行一段时间后HBase运行不稳定或者Hbase集群挂掉。


说明
​        数据库的性能表现与很多因素相关,比如数据库本身的参数配置、客户端API的使用、表和字段的设计,及操作系统、JVM等。THP是为了提升性能,但对一些数据库如Oracle、MariaDB、MongoDB、Redis、HBase在使用时,建议关闭THP,如果不关闭THP,否则可能导致性能下降,内存锁,甚至系统重启等问题。关闭THP后可是HBase性能提高近20%。
​      Transparent HugePages(THP,页面内存透明化)是RHEL6的新特性。Transparent HugePages与HugePages(标准的大页内存管理)是有区别的。标准的HugePages是在系统启动时预先分配内存,并在系统运行时不再改变,而Transparent HugePages是在运行时动态分配内存的,所以会带来在运行时内存分配延误。如果需要大页内存管理功能来加强性能,建议使用标准的大页内存管理。

查看是否启用

```
[root@spark01 ~]# cat /sys/kernel/mm/transparent_hugepage/defrag
[always] never
[root@spark01 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] never
```
禁用
```
[root@spark01 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
always [never]
[root@spark01 ~]# cat /sys/kernel/mm/transparent_hugepage/defrag
always [never]
```
以上命令系统重启后便会失效。需要编辑rc.local启动文件。
```
[root@spark01 ~]# vim /etc/rc.d/rc.local 


#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
touch /var/lock/subsys/local
```


保存并退出。

想深入了解的可以看看:https://blog.csdn.net/javastart/article/details/72870780。这篇博客讲解的很详细。

以上是关于Hbase运行不稳定,通过修改系统配置(THP)解决Hbase运行过程中时常出现宕机的问题的主要内容,如果未能解决你的问题,请参考以下文章

hbase 服务器优化之硬件优化(用好操作系统)

hbase伪分布安装配置

Ubuntu下为Hadoop安装配置Hbase教程

Ubuntu下为Hadoop安装配置Hbase教程

hbase优化方向说明

Lichee sysconfig1.fex 配置系统