Hbase安装(数据库)

简述:Hbase是Hadoop领域的数据库,是面向列存储的列式数据库。

​ a) 行式数据库优缺点

​ i. 数据在表中的位置空间是确定的,指针在访问只要知道首地址就可以高效获取其他数据

​ ii. 但在常用的可能只是所有列中的部分列的数据,可是行式数据库会自动查询所有的列,只是在客 户端进行数据的过滤,会浪费大量的带宽和空间

​ b) 列式数据库的优缺点

​ i. 一张不规则的表(人物画像)每行属性有大量的null

​ ii. 类似于交错数组,只使用在特定的领域

​ 1.逻辑模型

​ a) 表 近似于行式数据库的表

​ b) 行 近似于行式数据库的行

​ c) 列 是不能脱离列簇独立存在的,在行式数据库中没有

​ d) 行健 近似于行式数据库的主键

​ e) 时间戳 类似于timestamp 天然在,不需要用户自己创建

  1. 物理模型

    ​ Hbase数据在进行存储时,是按照行健存储。会自己比较行健大小后进行存储

    ​ a) 列簇 是单独存储一系列列的文件

  2. 存储模型

    ​ a) Region

​ i. Table在行的方向上分割为多个Region,一个region由[startkey,endkey]表示,每个Region分散 在不同的RegionServer中

​ 4.体系结构

​ a) 主从式结构,主节点称作master,从节点称为region server。

​ b) 工作方式

img

安装步骤

把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 



         hbase.rootdir
         hdfs://192.168.56.101:9000/hbase


         hbase.cluster.distributed
         true


         hbase.zookeeper.property.dataDir
         /opt/zkdir


        hbase.zookeeper.property.clientPort
                2181


//配置环境变量
[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