天天看点

HBase讲解及部署

HBase 是一个 NoSQL 数据库

什么是 NoSQL 数据库?

            基于 Key-value  来保存数据

            NoSQL 数据库不支持事物

常见的 NoSQL 数据库:

    HBase:  基于 HDFS ,面向列的数据库

                表     ---->  目录

                数据 ---->  文件

        Redis:  基于内存的一个 NoSQL 数据库, 支持持久化(RDB,AOF)

            前身: MemCached    不支持持久化

        MongoDB: 文档型的 NoSQL 数据库(BSON文档,JSON的二进制)

        Cassandra:  面向列的 NoSQL 数据库

HBase 的表结构

article(表)

rowkey

内容

作者

评论

标题

正文

用户

文章1

先有鸡还是先有蛋

……

某人

喷手

鸡都不造你是肿么造的

文章……

体系结构

HBase讲解及部署

HBase 环境部署:

            本地模式   ---1台主机: 不需要 HDFS ,直接把数据存在操作系统上

                      1. 安装 JAVA 环境,修改环境变量

                      2. 安装 HBase

            伪分布模式---1台主机: 需要HDFS 支持,数据直接存在 HDFS 上

                      2. 部署 HDFS 伪分布式

                      3. 部署 HBase 伪分布式

            全分布模式---3台主机: 需要HDFS 支持,数据直接存在 HDFS 上

                      2. 部署 HDFS 全分布式

                      3. 部署 HBase 全分布式

            HA 全分布模式---3台主机

        环境部署前期准备:

            设置环境变量  vi ~/.bash_profile

                HBASE_HOME=/root/training/hbase-1.3.1

                export HBASE_HOME

                PATH=$HBASE_HOME/bin:$PATH

                export PATH

        本地模式: 

        hbase-env.sh

                28 export JAVA_HOME=/root/training/jdk1.8.0_144

        hbase-site.xml

                <property>

                   <name>hbase.rootdir</name>

                   <value>file:///root/training/hbase-1.3.1/data</value>

                </property>

         启动 HBase:  start-hbase.sh

伪分布模式

                129 export HBASE_MANAGES_ZK=true

                   <value>hdfs://192.168.157.11:9000/hbase</value>

                   <name>hbase.cluster.distributed</name>

                   <value>true</value>

                   <name>hbase.zookeeper.quorum</name>

                   <value>192.168.157.11</value>

                   <name>dfs.replication</name>

                   <value>1</value>

                </property>            

        regionservers

                192.168.157.11

          启动 HBase:  start-hbase.sh       

全分布模式

            <property>

               <name>hbase.rootdir</name>

               <value>hdfs://192.168.157.12:9000/hbase</value>

            </property>

               <name>hbase.cluster.distributed</name>

               <value>true</value>

               <name>hbase.zookeeper.quorum</name>

               <value>192.168.157.12</value>

               <name>dfs.replication</name>

               <value>2</value>

            </property>            

               <name>hbase.master.maxclockskew</name>

               <value>180000</value>

            </property>                    

                192.168.157.13

                192.168.157.14

        scp -r hbase-1.3.1/ root@bigdata13:/root/training

        scp -r hbase-1.3.1/ root@bigdata14:/root/training

HBase的HA

        不需要额外配置,只用在其中一个从节点上单点启动Hmaster

        bigdata13:hbase-daemon.sh start master

HBase Web Console网页端口:16010

HBase 命令行操作:

         进入命令行:hbase  shell

            查看:

                    查看表:list

                    查询数据:

                             scan   相当于  select   *  from   表名

                            get    相当于  select  *   from  表名  where  rowkey=?

                   插入数据:

                            put   '表', ' 行',  '列族:列名',   '值'

                            put   'students',  'stu1',  'info:name', 'Tom'

                  清空表中的数据:

                            truncate  '表名'   ---------> 其实质就是先删除表,然后再创建

                            truncate   'students'

                  删除表:

                            disable  '表名'

                            drop   '表名'

本文转自 菜鸟的征程 51CTO博客,原文链接:http://blog.51cto.com/songqinglong/2055818

上一篇: 调优 tcp http