您好,登錄后才能下訂單哦!
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 環境部署:
本地模式 ---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 '表名'
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。