Hbase原理架构与安装部署教程

您所在的位置:网站首页 hbase详细架构 Hbase原理架构与安装部署教程

Hbase原理架构与安装部署教程

2023-03-25 13:09| 来源: 网络整理| 查看: 265

1. HBase是什么 1.1 HBase的概念 HBase基于Google的BigTable论文,是建立的==HDFS==之上,提供高可靠性、高性能、列存储、可伸缩、实时读写的分布式数据库系统。 在需要==实时读写随机访问==超大规模数据集时,可以使用HBase。 1.2 HBase的特点 ==海量存储== 可以存储大批量的数据 ==列式存储== HBase表的数据是基于列族进行存储的,列族是在列的方向上的划分。 ==极易扩展== 底层依赖HDFS,当磁盘空间不足的时候,只需要动态增加datanode节点就可以了 可以通过增加服务器来对集群的存储进行扩容 ==高并发== 支持高并发的读写请求 ==稀疏== 稀疏主要是针对HBase列的灵活性,在列族中,你可以指定任意多的列,在列数据为空的情况下,是不会占用存储空间的。 ==数据的多版本== HBase表中的数据可以有多个版本值,默认情况下是根据版本号去区分,版本号就是插入数据的时间戳 ==数据类型单一== 所有的数据在HBase中是以==字节数组==进行存储 2、Hbase整天架构

2.1 Client客户端 Client是操作HBase集群的入口 对于管理类的操作,如表的增、删、改操纵,Client通过RPC与HMaster通信完成 对于表数据的读写操作,Client通过RPC与RegionServer交互,读写数据 Client类型: HBase shell Java编程接口 Thrift、Avro、Rest等等 2.2 ZooKeeper集群

作用

实现了HMaster的高可用,多HMaster间进行主备选举

保存了HBase的元数据信息meta表,提供了HBase表中region的寻址入口的线索数据

对HMaster和HRegionServer实现了监控 2.3 HMaster HBase集群也是主从架构,HMaster是主的角色,是老大 主要负责Table表和Region的相关管理工作: 关于Table 管理Client对Table的增删改的操作 关于Region 在Region分裂后,负责新Region分配到指定的HRegionServer上 管理HRegionServer间的负载均衡,迁移region分布 当HRegionServer宕机后,负责其上的region的迁移 2.4 HRegionServer HBase集群中从的角色

作用

响应客户端的读写数据请求 负责管理一系列的Region 切分在运行过程中变大的region 2.5 Region HBase集群中分布式存储的最小单元 一个Region对应一个Table表的部分数据 3、HBase数据模型

3.1 rowkey行键 table的主键,table中的记录按照rowkey 的字典序进行排序 Row key行键可以是任意字符串(最大长度是 64KB,实际应用中长度一般为 10-100bytes) 3.2 Column Family列族 列族或列簇 HBase表中的每个列,都归属与某个列族 列族是表的schema的一部分(而列不是),即建表时至少指定一个列族 比如创建一张表,名为user,有两个列族,分别是info和data,建表语句create 'user', 'info', 'data' 3.3 Column列 列肯定是表的某一列族下的一个列,用列族名:列名表示,如info列族下的name列,表示为info:name 属于某一个ColumnFamily,类似于我们mysql当中创建的具体的列 3.4 cell单元格 指定row key行键、列族、列,可以确定的一个cell单元格 cell中的数据是没有类型的,全部是以字节数组进行存储 3.5 Timestamp时间戳 可以对表中的Cell多次赋值,每次赋值操作时的时间戳timestamp,可看成Cell值的版本号version number 即一个Cell可以有多个版本的值 4、HBase安装部署 4.1、下载安装包

下载地址:https://archive.apache.org/dist/hbase/1.2.1/

4.2、安装Hbase

解压到安装目录: tar -zxcf habse-1.2.1-bin.tar.gz -C /opt/bigdata2.7重命名解压目录:mv hbase-1.2.1 hbase

4.3、修改配置文件

1、需要把hadoop中的配置文件core-site.xml,hdfs-site.xml拷贝到hbase安装目录下的conf文件夹中2、修改conf目录下的配置文件(1)修改hbase-env.sh#添加java环境变量export JAVA_HOME=/kkb/install/jdk1.8.0_141export HBASE_MANAGES_ZK=false`

(2)修改 hbase-site.xml

hbase.rootdir hdfs://node01:8020/hbase hbase.cluster.distributed true hbase.zookeeper.quorum node01:2181,node02:2181,node03:2181

(3)修改regionservers

vim regionserversnode02node03

(4)修改backup-masters'

node2

3、配置hbase的环境变量

vi /etc/profile

export HBASE_HOME=/opt/bigdata2.7/hbaseexport PATH=$PATH:$HBASE_HOME/bin

4.4、分发hbase目录到其他节点

进入habase目录:cd /opt/bigdata2.7scp -r hbase node2:/opt/bigdata2.7scp -r hbase node3:/opt/bigdata2.7scp /etc/profile node2:/etcscp /etc/profile mpde3:/etc

4.5、让所有的节点hbase环境变量生效

在所有节点执行:source /etc/profile

5、Hbase集群启动和停止

(1)启动前提条件:先启动hadoop集群和zookeeper集群启动hbasestart-hbase.sh

(2)停止stop-hbase.shprofile mpde3:/etc`

4.5、让所有的节点hbase环境变量生效

在所有节点执行:source /etc/profile

5、Hbase集群启动和停止

(1)启动前提条件:先启动hadoop集群和zookeeper集群启动hbasestart-hbase.sh

(2)停止stop-hbase.sh



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3