HBase配置文件详解(一)

HBase配置文件详解(一),第1张

HBase使用与Hadoop相同的配置系统,所有配置文件都位于 conf/ 目录中,需要保持群集中每个节点的同步。

在对HBase进行配置,即编辑hbase-site.xml文件时,确保语法正确且XML格式良好。我们可以使用 xmllint 检查XML格式是否正确,默认情况下, xmllint 重新流动并将XML打印到标准输出。如果检查格式是否正确,并且只在存在错误时才打印输出,可以使用以下命令:

当在完全分布式环境下运行HBase时,在对HBase配置文件进行修改后,确保将 /conf/ 目录下的配置文件同步到集群其他节点上,可以使用 rsync scp 或其他安全机制将配置文件复制到其他节点上。(对于大多数配置,服务器需要重新启动配置才能生效)

用于连接每个客户端,即客户端可调用所提供的这些函数访问HBase的数据

充当管家,主要作用:

a) 获知整个集群中哪些Region服务器在工作、哪些有故障

b) 一个表会被分为多个Region,每个Region被分配到哪个Region服务器由Master服务器决定

一整张表会被分为多个Region,它们由Region服务器负责维护和管理。

2006年以前常设计为100-200MB,现在一般配置为1~2GB。具体设计应取决于单台服务器的处理能力(存取速度、内存等)。

前面提到过一个Region增大到一定程度会被Master服务器拆分成多个小Region。但在存储方面,一个完整的Region(拆分前的)不会被存储到不同的Region服务器上。

三层寻址对应了三层表:

(1) -ROOT-表 :存储元数据表,即.MEAT.表的信息。它被“写死”在ZooKeeper文件中,是唯一的、不能再分裂的

(2) .META.表 :存储用户数据具体存储在哪些Region服务器上。它会随存储数据的增多而分裂成更多个。

(3) 用户数据表 :具体存储用户数据。它是最底层的、可分裂的

HBase采用 三级寻址

(1) ZooKeeper找到-ROOT-表地址

(2) -ROOT-表中找到需要的.META.表地址

(3) .META.表找到所需的用户数据表地址

(4) 最后从用户数据表取出目标数据

另外,为了加速寻址,客户端会 缓存已查数据的位置信息 (在客户端自己的缓存中),下次取相同的数据就可以快速访问。——但随Region的更新,缓存记录可能失效。对于这个问题,HBase采用惰性解决机制,即首先使用缓存的位置,如果在那个位置查不到目标数据,则按三级寻址重新查询,再更新缓存。

假设一个Region最大128MB(注意-ROOT-、.META.、用户表都是以Region形式存储的),一条映射条目大小1KB:

Reference:

https://www.icourse163.org/learn/XMU-1002335004#/learn/content?type=detail&id=1214310125&cid=1217922282


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/667544.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-26
下一篇2023-07-26

发表评论

登录后才能评论

评论列表(0条)

    保存