天天看點

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