1,概念
hbase 是一个可以建立在 hdfs 上的分布式 nosql 数据库。
hbase 有三种安装方式:单机,伪分布式,完全分布式。
单机 hbase:hbase 数据库的数据文件存在单一的一台设备上,使用的是该设备的文件系统。
伪分布式 hbase:hbase 数据库的数据文件存在一台设备构成的 hdfs 上,数据库分主从结构。
完全分布式 hbase:hbase 数据库的数据文件存在多台设备构成的 hdfs 上,数据库分主从结构。
2,术语
1)hregion:指的是 hbase 的数据库存储是以区快(region)存储的
2)hregionservers:hbase 数据库从机。存具体数据。
3)hmaster:hbase 主机。存储元数据。
4)行(row)与行键(rowkey):
hbase 中一条完整的数据即一行,由一个唯一的行键+多个列键值构成。
行键:每一行都有一个内置的主键,用于区别其他行数据。
5)列簇(columnfamily):
hbase 中列簇指的是一个大列,这个大的列可以有0个(列簇即列)或多个(column)列构成。
新建表时只需要指定列簇,不需要指定列。
6)列键(column):
hbase 中第一行数据都是由很多列键构成的,其中一个列一般都有一个或多个列键。
每一个列键值都由行键,单元格值,时间戳,版本 构成。
7)单元格(cell 或者 列键值):
3,hbase安装
1)获取 hbase 安装包并解压到 node1 的 /home/hduser 下
2)配置 hbase 核心配置文件(/conf/hbase-site.xml)
<!-- 设置 hbase 在 hdfs 数据的存储位置 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://node1:9000/hbase</value>
</property>
<!-- 设置 hbase 是完全分布式类型 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- hbase 的访问地址 -->
<property>
<name>hbase.master</name>
<value>node1:60000</value>
</property>
<!-- hbase 的家庭成员(主从机的网络用户名)-->
<property>
<name>hbase.zookeeper.quorum</name>
<value>node1,node2,node3</value>
</property>
3)配置 hbase 环境配置文件(/conf/hbase-env.sh)
修改 JAVA_HOME 配置:export JAVA_HOME=/usr/java/jdk1.8.0_171
增加 HADOOP_HOME 配置:export HADOOP_HOME=/home/hduser/hadoop
增加 HBASE_HOME 配置:export HBASE_HOME=/home/hduser/hbase-1.2.0
增加启用 hbase 内置zookeeper 配置:export HBASE