Hbase安装(数据库)
简述:Hbase是Hadoop领域的数据库,是面向列存储的列式数据库。
a) 行式数据库优缺点
i. 数据在表中的位置空间是确定的,指针在访问只要知道首地址就可以高效获取其他数据
ii. 但在常用的可能只是所有列中的部分列的数据,可是行式数据库会自动查询所有的列,只是在客 户端进行数据的过滤,会浪费大量的带宽和空间
b) 列式数据库的优缺点
i. 一张不规则的表(人物画像)每行属性有大量的null
ii. 类似于交错数组,只使用在特定的领域
1.逻辑模型
a) 表 近似于行式数据库的表
b) 行 近似于行式数据库的行
c) 列 是不能脱离列簇独立存在的,在行式数据库中没有
d) 行健 近似于行式数据库的主键
e) 时间戳 类似于timestamp 天然在,不需要用户自己创建
-
物理模型
Hbase数据在进行存储时,是按照行健存储。会自己比较行健大小后进行存储
a) 列簇 是单独存储一系列列的文件
-
存储模型
a) Region
i. Table在行的方向上分割为多个Region,一个region由[startkey,endkey]表示,每个Region分散 在不同的RegionServer中
4.体系结构
a) 主从式结构,主节点称作master,从节点称为region server。
b) 工作方式
[外链图片转存失败(img-FAKSf67Q-1567130297333)(file:///C:\Users\tt\AppData\Local\Temp\ksohtml2316\wps1.jpg)]
安装步骤
把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
启动hbase
[root@bigdata hbase120]# hbase shell