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
先有鸡还是先有蛋
……
某人
喷手
鸡都不造你是肿么造的
文章……
……
…… …… …… ……


体系结构

spacer.gif

2.png


HBase 环境部署:

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

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

                      2. 安装 HBase

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

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

                      2. 部署 HDFS 伪分布式

                      3. 部署 HBase 伪分布式

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

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

                      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


伪分布模式
        hbase-env.sh
                129 export HBASE_MANAGES_ZK=true
                
        hbase-site.xml
                <property>
                   <name>hbase.rootdir</name>
                   <value>hdfs://192.168.157.11:9000/hbase</value>
                </property>

                <property>
                   <name>hbase.cluster.distributed</name>
                   <value>true</value>
                </property>

                <property>
                   <name>hbase.zookeeper.quorum</name>
                   <value>192.168.157.11</value>
                </property>

                <property>
                   <name>dfs.replication</name>
                   <value>1</value>
                </property>            

        regionservers
                192.168.157.11

          启动 HBase:  start-hbase.sh       

全分布模式
        hbase-site.xml
            <property>
               <name>hbase.rootdir</name>
               <value>hdfs://192.168.157.12:9000/hbase</value>
            </property>

            <property>
               <name>hbase.cluster.distributed</name>
               <value>true</value>
            </property>

            <property>
               <name>hbase.zookeeper.quorum</name>
               <value>192.168.157.12</value>
            </property>

            <property>
               <name>dfs.replication</name>
               <value>2</value>
            </property>            

            <property>
               <name>hbase.master.maxclockskew</name>
               <value>180000</value>
            </property>                    
                
        regionservers
                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:  start-hbase.sh

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

         启动 HBase:  start-hbase.sh

        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


相关实践学习
云数据库HBase版使用教程
&nbsp; 相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情:&nbsp;https://cn.aliyun.com/product/hbase &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
10月前
|
存储 消息中间件 分布式计算
HBase集群部署
HBase集群部署
|
11月前
|
存储 分布式计算 Ubuntu
|
Shell 测试技术 分布式数据库
HBase实验:部署HBase
HBase实验:部署HBase
HBase实验:部署HBase
|
存储 缓存 分布式计算
第6章 HBase基础
第6章 HBase基础
406 0
|
分布式计算 Hadoop 分布式数据库
HBase 部署
HBase 部署
101 0
|
分布式计算 Hadoop 分布式数据库
HBASE 搭建方法
HBASE 搭建方法
113 0
|
存储 SQL 缓存
全面认识HBase架构(建议收藏)
全面认识HBase架构(建议收藏)
916 0
全面认识HBase架构(建议收藏)
|
Java 分布式数据库 网络安全
阿里云部署Hbase集群
安装环境 主机 ip 操作系统 master 10.30.45.239 centos7.4 slave1 10.31.155.33 centos7.4 slave2 10.81.233.67 centos7.4 阿里云3台ecs搭建一个小型的hbase分布式数据存储(这里的ip都是内网)。
1788 0
|
NoSQL Java 分布式数据库