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 运行过程,为了提供稳定服务和容错机制,可以采取以下措施: 1. 数据复制:HBase 支持多副本数据复制,可以将数据在多个节点上进行备份,确保数据的安全性和可靠性。同时,HBase 还支持异地备份,可以将数据备份到不同的地理位置,以应对灾难恢复和数据心故障等情况。 2. 数据分区:HBase 支持数据分区,可以将数据划分为多个区域,每个区域都有多个副本进行备份,以提高数据的可用性和容错性。同时,HBase 还支持动态负载均衡,可以根据节点的负载情况自动调整数据分布和副本分配,以确保整个集群的平衡和稳定。 3. 数据恢复:HBase 支持数据恢复,可以根据数据备份和日志记录进行数据恢复,以应对节点故障和数据损坏等情况。同时,HBase 还支持自动故障转移,可以将故障节点的任务自动分配到其他节点上,以避免服务断和数据丢失。 4. 监控和告警:HBase 支持多种监控和告警机制,可以实时监控集群的状态和健康状况,及时发现和解决故障和问题,以确保服务的稳定和可用性。 5. 升级和维护:HBase 支持在线升级和维护,可以在不停机的情况下进行系统升级和维护操作,以最大限度地减少对业务的影响。 通过以上措施,可以保证 HBase稳定性和可靠性,确保数据的安全和可用性,同时也提高了 HBase 的容错性和扩展性,支持更加高效和可靠的数据处理和分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值