简述:Hbase是Hadoop领域的数据库,是面向列存储的列式数据库。shell
a) 行式数据库优缺点数据库
i. 数据在表中的位置空间是肯定的,指针在访问只要知道首地址就能够高效获取其余数据数组
ii. 但在经常使用的可能只是全部列中的部分列的数据,但是行式数据库会自动查询全部的列,只是在客 户端进行数据的过滤,会浪费大量的带宽和空间ide
b) 列式数据库的优缺点oop
i. 一张不规则的表(人物画像)每行属性有大量的null ui
ii. 相似于交错数组,只使用在特定的领域指针
1.逻辑模型code
a) 表 近似于行式数据库的表server
b) 行 近似于行式数据库的行xml
c) 列 是不能脱离列簇独立存在的,在行式数据库中没有
d) 行健 近似于行式数据库的主键
e) 时间戳 相似于timestamp 自然在,不须要用户本身建立
物理模型
Hbase数据在进行存储时,是按照行健存储。会本身比较行健大小后进行存储
a) 列簇 是单独存储一系列列的文件
存储模型
a) Region
i. Table在行的方向上分割为多个Region,一个region由[startkey,endkey]表示,每一个Region分散 在不一样的RegionServer中
4.体系结构
a) 主从式结构,主节点称做master,从节点称为region server。
b) 工做方式
把Hbase文件夹拉到opt中
//解压
[root@bigdata opt]# tar -zxvf hbase-1.2.0-cdh5.14.2.tar.gz
//移动到新的文件夹(没有就自动新建)
[root@bigdata opt]# mv hbase-1.2.0-cdh5.14.2 bigdata/hbase120
移动到hbase下面[root@bigdata opt]# cd bigdata/hbase120/
[root@bigdata hbase120]# cd conf/
修改文件夹
[root@bigdata conf]# vi hbase-env.sh export JAVA_HOME=/opt/inst/jdk181 //开启Hbase让Zookeeper管理 export HBASE_MANAGES_ZK=false //修改配置文件 [root@bigdata conf]# vi hbase-site.xml <configuration> <property> <name>hbase.rootdir</name> <value>hdfs://192.168.56.101:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/opt/zkdir</value> </property> <property> <name>hbase.zookeeper.property.clientPort</name> <value>2181</value> </property> </configuration> //配置环境变量 [root@bigdata conf]# vi /etc/profile export HBASE_HOME=/opt/bigdata/hbase120 export PATH=$PATH:$HBASE_HOME/bin //从新激活一下环境变量 [root@bigdata conf]# source /etc/profile [root@bigdata conf]# cd .. [root@bigdata hbase120]# cd bin/ [root@bigdata bin]# ls //从新启动hbase [root@bigdata bin]# start-hbase.sh jps查看一下 [root@bigdata bin]# jps 2880 NameNode 3330 ResourceManager 2979 DataNode 3171 SecondaryNameNode 3427 NodeManager 6069 QuorumPeerMain 7525 HRegionServer 7386 HMaster 7855 Jps //进入hbase 使用 [root@bigdata hbase120]# hbase shell //退出hbase命令 hbase(main):001:0> quit() 关闭命令要一条一条的 //顺序不要错 关闭的命令 //关闭hbase命令 [root@bindata hbase120]#stop-hbase.sh //关闭Zookeeper命令 [root@bindata hbase120]#zkServer.sh stop //关闭Hadoop命令 [root@bindata hbase120]#stop-all.sh //虚拟机如今关机 [root@bindata hbase120]#shutdown now
[root@bigdata hbase120]# hbase shell