您好,登錄后才能下訂單哦!
HBase 是一個(gè) NoSQL 數(shù)據(jù)庫(kù)
什么是 NoSQL 數(shù)據(jù)庫(kù)?
基于 Key-value 來(lái)保存數(shù)據(jù)
NoSQL 數(shù)據(jù)庫(kù)不支持事物
常見(jiàn)的 NoSQL 數(shù)據(jù)庫(kù):
HBase: 基于 HDFS ,面向列的數(shù)據(jù)庫(kù)
表 ----> 目錄
數(shù)據(jù) ----> 文件
Redis: 基于內(nèi)存的一個(gè) NoSQL 數(shù)據(jù)庫(kù), 支持持久化(RDB,AOF)
前身: MemCached 不支持持久化
MongoDB: 文檔型的 NoSQL 數(shù)據(jù)庫(kù)(BSON文檔,JSON的二進(jìn)制)
Cassandra: 面向列的 NoSQL 數(shù)據(jù)庫(kù)
HBase 的表結(jié)構(gòu)
article(表)
rowkey | 內(nèi)容 | 作者 | 評(píng)論 | ||
標(biāo)題 | 正文 | 用戶 | 內(nèi)容 | ||
文章1 | 先有雞還是先有蛋 | …… | 某人 | 噴手 | 雞都不造你是腫么造的 |
文章…… | …… | …… | …… | …… | …… |
體系結(jié)構(gòu)
HBase 環(huán)境部署:
本地模式 ---1臺(tái)主機(jī): 不需要 HDFS ,直接把數(shù)據(jù)存在操作系統(tǒng)上
1. 安裝 JAVA 環(huán)境,修改環(huán)境變量
2. 安裝 HBase
偽分布模式---1臺(tái)主機(jī): 需要HDFS 支持,數(shù)據(jù)直接存在 HDFS 上
1. 安裝 JAVA 環(huán)境,修改環(huán)境變量
2. 部署 HDFS 偽分布式
3. 部署 HBase 偽分布式
全分布模式---3臺(tái)主機(jī): 需要HDFS 支持,數(shù)據(jù)直接存在 HDFS 上
1. 安裝 JAVA 環(huán)境,修改環(huán)境變量
2. 部署 HDFS 全分布式
3. 部署 HBase 全分布式
HA 全分布模式---3臺(tái)主機(jī)
環(huán)境部署前期準(zhǔn)備:
設(shè)置環(huán)境變量 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>
啟動(dòng) 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
啟動(dòng) 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
啟動(dòng) HBase: start-hbase.sh
HBase的HA
不需要額外配置,只用在其中一個(gè)從節(jié)點(diǎn)上單點(diǎn)啟動(dòng)Hmaster
啟動(dòng) HBase: start-hbase.sh
bigdata13:hbase-daemon.sh start master
HBase Web Console網(wǎng)頁(yè)端口:16010
HBase 命令行操作:
進(jìn)入命令行:hbase shell
查看:
查看表:list
查詢數(shù)據(jù):
scan 相當(dāng)于 select * from 表名
get 相當(dāng)于 select * from 表名 where rowkey=?
插入數(shù)據(jù):
put '表', ' 行', '列族:列名', '值'
put 'students', 'stu1', 'info:name', 'Tom'
清空表中的數(shù)據(jù):
truncate '表名' ---------> 其實(shí)質(zhì)就是先刪除表,然后再創(chuàng)建
truncate 'students'
刪除表:
disable '表名'
drop '表名'
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。