2018-08-12期 Hbase本地模式安裝部署
Hbase部署模式有以下三種
(1)本地模式:本地模式不依賴於HDFS存儲,將文件存儲到操作系統本地目錄,好處是我們不需要搭建HDFS集群,即可學些HBase相關命令及客戶端操作。
(2)偽分布模式:一臺機器完成Hbase所有組件的配置,需要依賴HDFS分布式存儲
(3)全分布模式:多機部署,一般情況下Hmaster和HregionServer分布在不同的服務器,需要依賴底層HDFS分布式存儲。
一、安裝介質
http://archive.apache.org/dist/hbase
hbase-0.96.2-hadoop2-bin.tar.gz
二、安裝JDK
[root@hadoop-server01 bin]# mkdir -p /usr/local/apps
[root@hadoop-server01 bin]# ll /usr/local/apps/
total 4
drwxr-xr-x. 8 uucp 143 4096 Apr 10 2015 jdk1.7.0_80
[root@hadoop-server01 bin]# pwd
/usr/local/apps/jdk1.7.0_80/bin
[root@hadoop-server01 bin]#vi /etc/profile
export JAVA_HOME=/usr/local/apps/jdk1.7.0_80
export PATH=$PATH:$JAVA_HOME/bin
[root@hadoop-server01 bin]# source /etc/profile
三、上傳安裝包並解壓
1、上傳hbase-0.96.2-hadoop2-bin.tar.gz安裝包到服務器
2、解壓安裝包
[root@hadoop-server01 ~]# tar -xvf hbase-0.96.2-hadoop2-bin.tar.gz -C /apps/hbase/
四、修改配置文件
[root@hadoop-server01 conf]# cd /apps/hbase/hbase-0.96.2-hadoop2/conf
1、修改hbase-env.sh
# The java implementation to use. Java 1.6 required.
# export JAVA_HOME=/usr/java/jdk1.6.0/
export JAVA_HOME=/usr/local/apps/jdk1.7.0_80
# Extra Java CLASSPATH elements. Optional.
2、修改hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///apps/hbase/hbase-0.96.2-hadoop2/data</value>
</property>
</configuration>
對於HBase的本地模式,只需要配置數據保存目錄即可,數據保存在操作系統本地目錄
[root@hadoop-server01 data]# mkdir -p /apps/hbase/hbase-0.96.2-hadoop2/data
五、啟動HBase服務
starting master, logging to /apps/hbase/hbase-0.96.2-hadoop2/logs/hbase-root-master-hadoop-server01.out
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/apps/hbase/hbase-0.96.2-hadoop2/lib/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/apps/hadoop-2.4.1/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
通過日誌可以看出,本地模式下只運行HMaster服務
[root@hadoop-server01 bin]# jps | grep -v Jps
3723 HMaster
通過jps命令查看確實也只有HMster服務
六、測試驗證
[root@hadoop-server01 ~]# hbase shell
2018-08-11 00:44:55,914 INFO [main] Configuration.deprecation: hadoop.native.lib is deprecated. Instead, use io.native.lib.available
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.96.2-hadoop2, r1581096, Mon Mar 24 16:03:18 PDT 2014
如上日誌,能正常訪問Hbase Shell,說明本地模式安裝成功,下面創建表來查看數據是否存在指定的本地目錄
hbase(main):001:0> create 'Fruit','Apple','Pairs','Banana'
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/apps/hbase/hbase-0.96.2-hadoop2/lib/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/apps/hadoop-2.4.1/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
0 row(s) in 0.9450 seconds
=> Hbase::Table - Fruit
hbase(main):002:0>
表創建成功
觀察目錄/apps/hbase/hbase-0.96.2-hadoop2/data/data/default下是否有我們創建的表
[root@hadoop-server01 default]# ll /apps/hbase/hbase-0.96.2-hadoop2/data/data/default
total 4
drwxr-xr-x. 5 root root 4096 Aug 11 00:47 Fruit
如上,我們創建的表以文件夾的形式存放在了操作系統本地目錄/apps/hbase/hbase-0.96.2-hadoop2/data/data/default下,說明配置的本地目錄沒有問題。
到此,HBase的本地模式搭建成功。
2018-08-12期 Hbase本地模式安裝部署