HBase的 官網(wǎng) 內(nèi)容還是挺多的,下載安裝包還是使用 清華大學(xué)開源軟件鏡像站 會快一些 ?? 本文的安裝文件為:hbase-2.4.5-bin.tar.gz
1.前置條件
HBase 是一個構(gòu)建在 Hadoop 文件系統(tǒng)之上的面向列的數(shù)據(jù)庫管理系統(tǒng)。運(yùn)行時不僅需要 Hadoop 還依賴 JDK 環(huán)境,HBase 2.0+ 以上版本不再支持 JDK 1.7 ,需要JDK 1.8+【1.8永遠(yuǎn)嘀神 ??】
# 只貼出版本信息
[root@tcloud ~]# hadoop version
Hadoop 3.1.3
[root@tcloud ~]# java -version
java version "1.8.0_251"
2.模式說明
- standalone模式下,所有守護(hù)進(jìn)程都運(yùn)行在一個 jvm 進(jìn)程/實(shí)例中;
- 偽分布模式下,HBase 仍然在單個主機(jī)上運(yùn)行,但是每個守護(hù)進(jìn)程 (HMaster,HRegionServer 和 ZooKeeper) 則分別作為一個單獨(dú)的進(jìn)程運(yùn)行。
說明:兩種模式的部署對于開發(fā)測試來說區(qū)別不大【這里部署standalone模式】。
3.安裝配置
# 1.解壓并移動到/usr/local/hbase下
tar -zxvf hbase-2.4.5-bin.tar.g
mv ./hbase-2.4.5/ /usr/local/hbase/
# 2.配置環(huán)境變量
vim /etc/profile.d/my_env.sh
# 添加
export HBASE_HOME=/usr/local/hbase
export PATH=$HBASE_HOME/bin:$PATH
# 使得配置的環(huán)境變量立即生效:
# 首先是要賦權(quán)限【只操作一次就行】
chmod +x /etc/profile.d/my_env.sh
source /etc/profile.d/my_env.sh
# 驗(yàn)證一下
echo $HBASE_HOME # 顯示/usr/local/hbase表示成功
# 3.修改配置文件 hbase-env.sh
vim /usr/local/hbase/conf/hbase-env.sh
# 配置 JAVA_HOME
export JAVA_HOME=/usr/local/java/
# Tell HBase whether it should manage it's own instance of ZooKeeper or not.
# export HBASE_MANAGES_ZK=true
# 如果使用外置的zookeeper服務(wù)可以設(shè)置成false【云服務(wù)器內(nèi)存吃緊 沒有使用外置的】
export HBASE_MANAGES_ZK=false
# 4.添加數(shù)據(jù)文件夾【放哪里可以自己定】
mkdir /usr/local/hbase/rootdir
# 5.修改配置文件 hbase-site.xml
vim /usr/local/hbase/conf/hbase-site.xml
<configuration>
<!--自帶的3個配置 本次部署不用修改-->
<property>
<name>hbase.cluster.distributed</name>
<value>false</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>./tmp</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
<!--新增配置-->
<property>
<name>hbase.rootdir</name>
<!--指定HBase數(shù)據(jù)存儲路徑為HDFS上的hbase目錄-->
<!--<value>hdfs://tcloud:8020/hbase</value>-->
<!--也可以設(shè)置成本地文件系統(tǒng)-->
<value>file:///usr/local/hbase/rootdir</value>
</property>
<!--不調(diào)整zookeeper的配置參數(shù) 此項(xiàng)也可以不進(jìn)行配置-->
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/zookeeper/hbaseDir</value>
</property>
</configuration>
- hbase.rootdir : 配置 hbase 數(shù)據(jù)的存儲路徑;
- hbase.zookeeper.property.dataDir : 配置 zookeeper 數(shù)據(jù)的存儲路徑;
- hbase.unsafe.stream.capability.enforce : 使用本地文件系統(tǒng)存儲,不使用 HDFS 的情況下需要禁用此配置,設(shè)置為 false。
# 6.修改 regionservers 指定 region servers 的地址
vim /usr/local/hbase/conf/regionservers
# 原始配置為localhost 如果配置過ip映射 這里可以不修改
tcloud
4.啟動驗(yàn)證
[root@tcloud ~]# start-hbase.sh
# 無關(guān)日志信息不再貼出
running master, logging to /usr/local/hbase/logs/hbase-root-master-tcloud.out
# 使用jps 查看是否有 HMaster
[root@tcloud ~]# jps
26258 SecondaryNameNode
26019 DataNode
25862 NameNode
4921 HMaster
5386 Jps
也可以通過ip:16010/訪問Hbase的web頁面文章來源:http://www.zghlxwxcb.cn/news/detail-847734.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-847734.html
5.簡單測試
[root@tcloud ~]# hbase shell
# 無關(guān)信息不再貼出
HBase Shell
Use "help" to get list of supported commands.
Use "exit" to quit this interactive shell.
For Reference, please visit: http://hbase.apache.org/2.0/book.html#shell
Version 2.4.5, r03b8c0cf426cbae3284225b73040ec574d5bac34, Tue Jul 27 09:44:16 PDT 2021
Took 0.0021 seconds
hbase:001:0>
# (1)創(chuàng)建列族信息
hbase:001:0> create 'student','info'
Created table student
Took 2.2369 seconds
=> Hbase::Table - student
# (2)錄入數(shù)據(jù)
hbase:002:0> put 'student','1','info:name','yuanzhengme'
Took 0.4601 seconds
hbase:003:0> put 'student','1','info:gender','F'
Took 0.0267 seconds
hbase:004:0> put 'student','1','info:age','20'
Took 0.0328 seconds
# (3)查詢數(shù)據(jù)
## get命令
hbase:005:0> get 'student','1'
COLUMN CELL
info:age timestamp=2021-09-14T14:24:01.964, value=20
info:gender timestamp=2021-09-14T14:23:59.357, value=F
info:name timestamp=2021-09-14T14:23:52.578, value=yuanzhengme
1 row(s)
Took 0.3296 seconds
## scan命令
hbase:006:0> scan 'student'
ROW COLUMN+CELL
1 column=info:age, timestamp=2021-09-14T14:24:01.964, value=20
1 column=info:gender, timestamp=2021-09-14T14:23:59.357, value=F
1 column=info:name, timestamp=2021-09-14T14:23:52.578, value=yuanzhengme
1 row(s)
Took 0.0647 seconds
# (4)刪除數(shù)據(jù)
## delete
hbase:007:0> delete 'student','1','info:age'
Took 0.0541 seconds
hbase:008:0> get 'student','1'
COLUMN CELL
info:gender timestamp=2021-09-14T14:23:59.357, value=F
info:name timestamp=2021-09-14T14:23:52.578, value=yuanzhengme
1 row(s)
Took 0.2272 seconds
## deleteall
hbase:009:0> deleteall 'student','1'
Took 3.0058 seconds
hbase:010:0> get 'student','1'
COLUMN CELL
0 row(s)
Took 0.0302 seconds
# (5)刪除表 刪除表要先disable再drop
hbase:011:0> disable 'student'
Took 2.1733 seconds
hbase:012:0> drop 'student'
Took 0.7922 seconds
# (6)查詢表的歷史版本
hbase:013:0> create 'teacher', { NAME=> 'username', VERSIONS=> 5 }
Created table teacher
Took 0.8262 seconds
=> Hbase::Table - teacher
## 這里不再貼出 Took xxx seconds
hbase:014:0> put 'teacher','1','username','yuanzhengme'
hbase:015:0> put 'teacher','1','username','yuanzhengm'
hbase:016:0> put 'teacher','1','username','yuanzheng'
hbase:017:0> put 'teacher','1','username','yuanzhen'
hbase:018:0> put 'teacher','1','username','yuanzhe'
hbase:019:0> put 'teacher','1','username','yuanzh'
hbase:020:0> put 'teacher','1','username','yuanz'
hbase:021:0> put 'teacher','1','username','yuan'
## 簡單查詢 只顯示最新數(shù)據(jù)
hbase:022:0> get 'teacher','1'
COLUMN CELL
username: timestamp=2021-09-14T14:47:03.841, value=yuan
1 row(s)
Took 0.9945 seconds
## 查詢版本
hbase:023:0> get 'teacher', '1', { COLUMN=>'username', VERSIONS=>5 }
COLUMN CELL
username: timestamp=2021-09-14T14:47:03.841, value=yuan
username: timestamp=2021-09-14T14:47:02.285, value=yuanz
username: timestamp=2021-09-14T14:47:02.154, value=yuanzh
username: timestamp=2021-09-14T14:47:02.103, value=yuanzhe
username: timestamp=2021-09-14T14:47:02.026, value=yuanzhen
1 row(s)
Took 0.0193 seconds
## 查詢版本【超出表設(shè)置的版本是無效的】
hbase:024:0> get 'teacher', '1', { COLUMN=> 'username', VERSIONS=> 6 }
COLUMN CELL
username: timestamp=2021-09-14T14:47:03.841, value=yuan
username: timestamp=2021-09-14T14:47:02.285, value=yuanz
username: timestamp=2021-09-14T14:47:02.154, value=yuanzh
username: timestamp=2021-09-14T14:47:02.103, value=yuanzhe
username: timestamp=2021-09-14T14:47:02.026, value=yuanzhen
1 row(s)
Took 0.0189 seconds
## 查詢版本【可以查詢少于設(shè)置的版本數(shù)】
hbase:025:0> get 'teacher', '1', { COLUMN=> 'username', VERSIONS=> 4 }
COLUMN CELL
username: timestamp=2021-09-14T14:47:03.841, value=yuan
username: timestamp=2021-09-14T14:47:02.285, value=yuanz
username: timestamp=2021-09-14T14:47:02.154, value=yuanzh
username: timestamp=2021-09-14T14:47:02.103, value=yuanzhe
1 row(s)
Took 0.3921 seconds
# (7)退出
hbase:026:0> exit
到了這里,關(guān)于HBase【部署 01】CentOS 7.5 部署 hbase-2.4.5 單機(jī)版standalone模式(詳細(xì)安裝+配置+增刪改查測試腳本)(附開源鏡像站地址)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!