HBase的安裝也分為三種,單機模式、偽分布式模式、完全分布式模式;我們先來安裝單機版。
一、環境準備
1. 系統要求
-
Ubuntu 20.04/22.04 LTS
-
Java 8(必須,HBase不兼容更高版本)
-
Hadoop(單機模式不需要,偽分布式模式和分布式模式需要)
-
SSH
-
Vim編輯器
如果以上內容沒有安裝,請回到Hadoop3.3.5的安裝參考如何安裝。
2. 驗證基礎環境
java -version # 需顯示1.8.xssh localhost # 確保SSH免密登錄正常
二、HBase下載安裝
1.下載HBase
點擊下面的地址下載HBase2.5.4安裝文件HBase官網下載地址,找到hbase-2.5.4-bin.tar.gz文件,下載到本地。
2.安裝HBase
使用FinalShell工具將hbase-2.5.4-bin.tar.gz文件上傳至虛擬機目錄:/home/wll/下載
解壓安裝包hbase-2.5.4-bin.tar.gz至路徑 /usr/local,命令如下:
sudo tar -zxf /home/wll/下載/hbase-2.5.4-bin.tar.gz -C /usr/local
下面把hbase目錄權限賦予給wll用戶:
sudo chown -R wll /usr/local/hbase-2.5.4
3. 配置環境變量
將hbase2.5.4下的bin目錄添加到path中,這樣啟動hbase就無需到/usr/local/hbase目錄下,大大的方便了hbase的使用。
編輯~/.bashrc文件
vim ~/.bashrc
如果沒有引入過PATH,請在~/.bashrc文件尾行添加如下內容:?
export HBASE_HOME=/usr/local/hbase-2.5.4
export PATH=$PATH:{HBASE_HOME}/bin
如果已經引入過PATH請在export PATH這行追加/usr/local/hbase/bin,“:”是分隔符。如下圖:?
編輯完成后,再執行source命令使上述配置在當前終端立即生效,命令如下:?
source ~/.bashrc
4. 查看HBase版本
確定hbase安裝成功,命令如下
/usr/local/hbase-2.5.4/bin/hbase version
?三、HBase單機模式的配置
1. 配置文件/usr/local/hbase-2.5.4/conf/hbase-env.sh?
配置JAVA環境變量,并添加配置HBASE_MANAGES_ZK為true,用vi命令打開并編輯hbase-env.sh,命令如下:
vim /usr/local/hbase2.5.4/conf/hbase-env.sh
在hbase-env.sh?文件頭部中添加如下代碼:
export JAVA_HOME=/usr/local/jdk1.8.0_161
export HBASE_MANAGES_ZK=true #使用HBase內置ZooKeeper
?添加完成后:wq命令保存退出即可。?
2. 配置文件/usr/local/hbase-2.5.4/conf/hbase-site.xml
用vi命令打開并編輯hbase-site.xml,命令如下:
vim /usr/local/hbase-2.5.4/conf/hbase-site.xml
在啟動HBase前需要設置屬性hbase.rootdir,用于指定HBase數據的存儲位置,因為如果不設置的話,hbase.rootdir默認為/tmp/hbase-${user.name},這意味著每次重啟系統都會丟失數據。此處設置為HBase安裝目錄下的hbase-tmp文件夾即(/usr/local/hbase-2.5.4/hbase-tmp),配置如下:
<configuration><property><name>hbase.rootdir</name><value>file:///usr/local/hbase-2.5.4/hbase-tmp</value></property>
</configuration>
?3.啟動與驗證HBase
首先切換目錄至HBase安裝目錄/usr/local/hbase;再啟動HBase。命令如下:
cd /usr/local/hbase-2.5.4
bin/start-hbase.sh
bin/hbase shell
上述三條命令中,?bin/start-hbase.sh用于啟動HBase,bin/hbase shell用于打開shell命令行模式,用戶可以通過輸入shell命令操作HBase數據庫。成功啟動HBase,截圖如下:
exit退出Hbase shell命令行模式:
若想停止HBase運行,命令如下:
bin/stop-hbase.sh
?注意:如果在操作HBase的過程中發生錯誤,可以通過{HBASE_HOME}目錄(/usr/local/hbase-2.5.4)下的logs子目錄中的日志文件查看錯誤原因。
四、HBase偽分布模式的配置
1.配置/usr/local/hbase-2.5.4/conf/hbase-env.sh
用命令vim打開并編輯hbase-env.sh,命令如下:
vim /usr/local/hbase-2.5.4/conf/hbase-env.sh
配置JAVA_HOME,HBASE_CLASSPATH,HBASE_MANAGES_ZK,
HBASE_CLASSPATH設置為本機HBase安裝目錄下的conf目錄(即/usr/local/hbase-2.5.4/conf)
export JAVA_HOME=/usr/local/jdk1.8.0_161
export HBASE_CLASSPATH=/usr/local/hbase-2.5.4/conf
export HBASE_MANAGES_ZK=true
2.配置/usr/local/hbase-2.5.4/conf/hbase-site.xml
用命令vim打開并編輯hbase-site.xml,命令如下:
vim /usr/local/hbase-2.5.4/conf/hbase-site.xml
修改hbase.rootdir,指定HBase數據在HDFS上的存儲路徑;將屬性hbase.cluter.distributed設為true。若當前Hadoop集群運行在偽分布式模式下,在本機上運行,NameNode運行在9000端口。
<configuration><property><name>hbase.rootdir</name><value>hdfs://localhost:9000/hbase</value></property><property><name>hbase.cluster.distributed</name><value>true</value></property><property><name>hbase.unsafe.stream.capability.enforce</name><value>false</value></property>
</configuration>
hbase.rootdir指定HBase的存儲目錄;hbase.cluster.distributed設置集群處于分布式模式.
另外,上面配置文件中,hbase.unsafe.stream.capability.enforce這個屬性的設置,是為了避免出現啟動錯誤。也就是說,如果沒有設置hbase.unsafe.stream.capability.enforce為false,那么,在啟動HBase以后,會出現無法找到HMaster進程的錯誤。
3.測試運行HBase
第一步:啟動Hadoop集群
啟動Hadoop集群的程序在/usr/local/hadoop-3.3.5/sbin/目錄下,由于我們配置了HDDOOP環境變量,所以可以在任意目錄下輸入start-dfs.sh命令啟動hadoop集群,jps查看啟動進程。
start-dfs.sh
第二步:啟動HBase
啟動HBase的程序在/usr/local/hbase-2.5.4/bin/目錄下,由于我們配置了HBase的環境變量,所以可以在任意目錄下輸入start-hbase.sh命令啟動hadoop集群,jps查看啟動進程,hbase-shell啟動shell命令行窗口。
start-hbase.sh #啟動HBase
jps #查看啟動進程
hbase-shell #啟動hbase shell
?第三步:停止HBase運行
stop-hbase.sh
jps
若出現關閉HBase時,輸入stop-hbase.sh命令一直處于等待狀態。
解決方法:
首先停止HBase的主進程master,然后再執行停止命令。
hbase-daemon.sh stop masterstop-hbase.sh
注意:如果在操作HBase的過程中發生錯誤,可以通過{HBASE_HOME}目錄(/usr/local/hbase-2.5.4)下的logs子目錄中的日志文件查看錯誤原因。
這里啟動關閉Hadoop和HBase的順序一定是:
啟動Hadoop—>啟動HBase—>關閉HBase—>關閉Hadoop