1.Hbase简介
HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。
HBase与Hadoop的关系非常紧密,Hadoop的HDFS提供了高可靠性的底层存储支持,Hadoop MapReduce为HBase提供了高性能的计算能力,Zookeeper为HBase提供了稳定性及failover机制的保障。同时其他周边产品诸如Hive可以与HBase相结合使在HBase进行数据统计处理变得简单,Sqoop为HBase提供了方便的RDBMS数据导入功能,使传统数据库的数据向HBase中迁移变得容易,Spark等高性能的内存分布式计算引擎也可能帮助我们更加快速的对HBase中的数据进行处理分析。
Hbase使得用户可以随机、实时的读写数据,是一款版本化、非关系数据库,实现了分布式可伸缩大型数据存储。与我们前面大数据系列数据仓库Hive相比,Hbase更加注重实时读写,而Hive则不能做到实时,因为要开启MapReduce,Hive更像是数据分析,而Hbase则是实时读写。那么Hbase为什么会火起来,又适用哪些场景呢?
下面比较好的回答Hbase为什么会火,Hbase适应场景,请参考如下:
https://www.zhihu.com/question/39859266/answer/83676259
2.Hbase集群搭建
0.选择安装的主机
s10 ~ s12
1.jdk(前面已经安装,可参考前面系列)
略
2.hadoop(前面已经安装,可参考前面系列)
略
3.tar
tar -zxvf hbase-1.2.6-bin.tar.gz
//建立符号链接
ln -s hbase-1.2.6 hbase
4.环境变量
export HBASE_HOME=/home/zpx/soft/hbase
export PATH=$PATH:$HBASE_HOME/bin
source /etc/profile
5.配置hbase模式
5.1)本地模式
[hbase/conf/hbase-env.sh]
EXPORT JAVA_HOME=/home/zpx/soft/jdk1.8.0_65
[hbase/conf/hbase-site.xml]
...
<property>
<name>hbase.rootdir</name>
<value>file:/home/hadoop/HBase/HFiles</value>
</property>
5.2)伪分布式
[hbase/conf/hbase-env.sh]
EXPORT JAVA_HOME=/home/zpx/soft/jdk1.8.0_65
[hbase/conf/hbase-site.xml]
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:8030/hbase</value>
</property>
5.3)完全分布式(必做)
[hbase/conf/hbase-env.sh]
export JAVA_HOME=/home/zpx/soft/jdk1.8.0_65
export HBASE_MANAGES_ZK=false
[hbse-site.xml]
<!-- 使用完全分布式 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 指定hbase数据在hdfs上的存放路径 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://s10:8020/hbase</value>
</property>
<!-- 配置zk地址 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>s10:2181,s11:2181,s12:2181</value>
</property>
<!-- zk的本地目录 -->
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/zpx/zookeeper</value>
</property>
6.配置regionservers
[hbase/conf/regionservers]
s10
s11
s12
7.启动hbase集群(s10,进程如下)
$>start-hbase.sh
注意:一定要先开启zookeeper和hdfs之后再开启Hbase,使用hbase version可以查看版本号
8.登录hbase的webui
http://s10:16010
软件包:
链接:https://pan.baidu.com/s/1gil97LG3xgQClVhXa_v4uA 密码:mibj