温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

HBase讲解及部署

发布时间:2020-10-08 13:13:54 来源:网络 阅读:1072 作者:菜鸟的征程 栏目:大数据

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讲解及部署


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   '表名'


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI