hbase的组件、端口号、进程

组件及进程:

1.Client

1.整个Hbase集群的访问入口
2.Client当中包含了访问Hbase接口,此外,Client维护了对应了的cache加速Hbase访问,比如cache的.META.元数据的信息
3.与HRegionServer进行数据读写类操作
4.使用HBase RPC机制与HMaster和HRegionServer进行通信;

2.Zookeeper

1.高可用
通过Zookeeper来保证master的高可用,保证集群中只有一个master运行。
如果正在服务的master产生异常,通过竞争机制,产生新的master提供服务。

2.存储元数据的入口
这一功能减轻了master节点的“负担,把元数据交给zookeeper进行管理, 存储HBase的schema和table元数据,Zookeeper是存储元数据的统一入口地址

3.监控RegionServer
通过Zoopkeeper来监控RegionServer的状态,当RegionSevrer有异常的时候,通过回调的形式通知Master RegionServer上下线的信息

此外集群的一些维护工作也交给Zookeeper

3.HMaster

1.为RegionServer分配Region
2.维护整个集群的负载均衡,以及元数据信息
3.处理Region/RegionServer的分配或者转移
4.通过Zookeeper将自身位置发布给Client

4.HRegionServer

1.直接对接用户的读写请求,处理来自客户端的读写请求,是真正的“干活”的节点
2.管理master为其分配的Region。
3.负责存储HBase的实际数据
4.负责和底层HDFS的交互,刷新缓存到HDFS以及存储数据到HDFS
5.负责Region变大以后的拆分
6.负责Storefile的合并工作
7.维护Hlog
8.执行压缩

5.HRegion

Hbase表的分片,HBase表会根据RowKey值被切分成不同的region存储在RegionServer中,在一个RegionServer中可以有多个不同的region。

6.Hdfs

1.HDFS为Hbase提供最终的底层数据存储服务,同时为HBase提供高可用(Hlog存储在HDFS)的支持。
2.提供元数据和表数据的底层分布式存储服务,数据多副本,保证的高可靠和高可用性

2.其他组件

1.Write-Ahead logs

HBase的修改记录,当对HBase读写数据的时候,数据不是直接写进磁盘,它会在内存中保留一段时间(时间以及数据量阈值可以设定)。但把数据保存在内存中可能有更高的概率引起数据丢失,为了解决这个问题,数据会先写在一个叫做Write-Ahead logfile的文件中,然后再写入内存中。所以在系统出现故障的时候,数据可以通过这个日志文件重建。

用户所有的数据写入put等都会经过regionserver的log然后再去写

Wal解决的什么问题:
Hbaase ha的问题,hbase崩溃的时候,它可以恢复到崩溃前的状态
实现远程备份,客户端初始化一个对数据库改动的操作,比如,put,delete。
修改操作被封装在一个key,value实例里面然后通过rpc调用发送给regionserver,regionserver先写log再去写hregion

2.Hlog

Hlog是实现WAL的类,一个hregionserver对应一个Hlog的实例,一台服务器只有一个Hlog实例, 当region初始化的时候,Hlog会作为参数传递给hregion的构造函数,这样获取到Hlog的引用,可以实现打日志
Hlog最核心的是调用append方法,完成对于日志的追加写,出于对性能的考虑,put,delete,increment有一个开关函数set retowal函数传进布尔类型的参数,如果设置成false将禁用WAL,,
Hlog通过序列化的number追踪数据的改变,内部原子类型的log保证线程安全

3.Store

HFile存储在Store中,一个Store对应HBase表中的一个列族。

4.MemStore

顾名思义,就是内存存储,位于内存中,用来保存当前的数据操作,所以当数据保存在WAL中之后,RegsionServer会在内存中存储键值对。

5.HFile

这是在磁盘上保存原始数据的实际的物理文件,是实际的存储文件。StoreFile是以Hfile的形式存储在HDFS的。

端口号:

在这里插入图片描述

挂掉之后的影响:

Hbase挂掉的可能性有很多,主要由zk或者hdfs的问题导致,因此zk、hdfs的可用对于hbase极其重要
Hmaster挂掉:
Hmaster挂掉了,那么整个HBase集群将陷入不健康的状态,并且此时的工作状态并不会维持太久
解决:
配置高可用

HRegionServer挂掉:
HRegionServer无法处理hmaster为其分配的region
解决:
查看集群中/etc/ntp.conf的server配置是否合理,
利用service ntpd status来查看ntp的状态
利用service ntpd start启动ntp
利用ntpdate –u node1在三个节点立即进行时钟同步
利用chkconfig ntpd on设置所有节点ntp服务开机自启动。

详细链接:
详尽情况

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值