Hbase: Hadoop Databasenode
Hbase是非关系型数据库,随着如今互联网的数据量愈来愈多,需求更加多元化,传统的关系型数据库没法知足实际的业务需求,NoSql类型数据库孕育而生。sql
可用于存储非结构化数据,同时采用分布式的设计基本可实现整个数据库容量的无限扩容,同时对单机的性能要求不高,基于Google的big table论文实现,HBase经过行键、列族、列实现表字段的无限扩展。shell
address字段,可将address设定为一个列族,address:provice、address:city、address:area 3个列来表示不一样的地域,北京可只用address:city、address:area两个列,广东可以使用address:provice、address:city、address:area三个列,这样就可知足不一样地域的全部要求,若是须要引入国家,直接添加一个新的列:address:country便可,这样就可解决关系型数据库字段固定致使不灵活的缺陷数据库
Hbase 部署模式:单机模式、伪分布式、彻底分布式服务器
基础:Hadoop技术体系框架基于Java开发,所以配置Hadoop框架需事先配置好JDK框架
注意:HBase和Hadoop存在版本匹配的关系分布式
单机模式:Hbase单机独立运行 配置步骤:oop
设置JAVA_HOME环境变量:JAVA_HOME:/usr/local/jdk1.8.0_112
<property> <name>hbase.rootdir</name> <value>file:///usr/local/hbase0.90.5/data</value> </property>
解释:性能
hbase.rootdir:hbase存放数据的目录:file://表示本地问文件系统存储(实际存储HDFS) 3. 启动Hbase: $HBASE_HOME/bin/start-hbase.sh 4. 验证Hbase是否成功启动:控制台输入jps,若是出现Hmaster的线程表示成功开启 5. hbase shell:若能成功进入shell界面,表示Hbase的启动和配置都没问题线程
伪分布模式:Hbase单机模拟Hbase数据库集群
安装步骤:
设置JAVA_HOME环境变量:JAVA_HOME:/usr/local/jdk1.8.0_112 设置export HBASE_CLASSPATH:export HBASE_CLASSPATH=/usr/local/hadoop-0.20.2/conf
解释:HBASE_CLASSPATH绑定Hbase到Hadoop集群:主要是hadoop的core-site.xml
<property> <name>hbase.rootdir</name> <value> file:///usr/local/hbase0.90.5/data </value> </property> <property> <name>hbase.cluster.distributed </name> <value>true </value> </property>
解释:hbase.cluster.distributed :是否开启Hbase的分布式集群
彻底分布式:真实的HBase部署环境
安装步骤:
设置JAVA_HOME环境变量:JAVA_HOME:/usr/local/jdk1.8.0_112 设置export HBASE_CLASSPATH:export HBASE_CLASSPATH=/usr/local/hadoop-0.20.2/conf
解释:HBASE_CLASSPATH绑定Hbase到Hadoop集群:主要是hadoop的core-site.xml
<property> <name>hbase.rootdir</name> <value> file:///usr/local/hbase0.90.5/data </value> </property> <property> <name>hbase.cluster.distributed </name> <value>true </value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>master,slaves01,slaves02</value> </property>
解释:hbase.zookeeper.quorum:Zookeeper的Znode节点,也就是HBase集群每一个节点服务器主机名,需在Hosts里面进行指定或者经过DNS服务器进行主机名解析,这里使用Hbase自带的Zookeeper进行处理
Hbase和hadoop存在版本匹配问题:若是出现Hmaster没法或者建立的状况,可将主机上的Hadoop核心包hadoop-core-XXXX.jar替换HBase lib目录下的Hadoop-core-XXX.jar
启动Hbase: $HBASE_HOME/bin/start-hbase.sh
验证Hbase是否成功启动:控制台输入jps,若是出现Hmaster的线程表示成功开启
hbase shell:若能成功进入shell界面,表示Hbase的启动和配置都没问题
注意:实际环境中Hbase的数据存储是构建于Hadoop HDFS基础上,只需配置hbase-site.xml文件指定HBase数据存储路径便可:
<property> <name>hbase.rootdir</name> <value>master:9090/hbase </value> </property>
解析:
master:9090/hbase
HBase成功启动的界面:HMaster/HRegionServer