安裝 和 配置 HBase
一、安裝 HBase
1, 下載、(解壓or安裝)HBase 數據庫:
①(在Linux 系統下的火狐瀏覽器打開)官網: Index of /dist/hbase (apache.org)
② 解壓安裝包hbase-2.2.2-bin.tar.gz至路徑 /usr/local,命令如下:
cd ~
sudo tar -zxf ~/下載/hbase-2.2.2-bin.tar.gz -C /usr/local
③ 將解壓的文件名hbase-2.2.2改為hbase,以方便使用,命令如下:
cd /usr/local
sudo mv ./hbase-2.2.2 ./hbase
④ 下面把hbase目錄權限賦予給hadoop用戶:
cd /usr/local
sudo chown -R hadoop ./hbase
2, 配置環境變量(好處:啟動hbase就無需到/usr/local/hbase目錄下,大大的方便了hbase的使用)
■ 編輯~/.bashrc文件
vim ~/.bashrc
●編輯~/.bashrc文件時的注意事項:
① 如果沒有引入過PATH請在~/.bashrc文件尾行添加如下內容:export PATH=$PATH:/usr/local/hbase/bin
② 如果已經引入過PATH請在export PATH這行追加/usr/local/hbase/bin,這里的“:”是分隔符。如下圖:
■ 執行source命令使上述配置在當前終端立即生效,命令如下:
source ~/.bashrc
3,添加HBase權限:
cd /usr/local
sudo chown -R hadoop ./hbase #將hbase下的所有文件的所有者改為hadoop,hadoop是當前用戶的用戶名。
4,查看HBase版本,確定hbase安裝成功,命令如下:
/usr/local/hbase/bin/hbase version
(該過程遇到的bug請查看文章:HBase 安裝之后版本的驗證的bug:(錯誤的替換、找不到或無法加載主類、SLF4J) )
二、配置 HBase(重點討論單機模式和偽分布式模式)
✿ 單機模式和偽分布式模式:都需要配置 jdk、ssh、hadoop
■ 單機模式配置:
- 配置/usr/local/hbase/conf/hbase-env.sh:配置JAVA環境變量,並添加配置HBASE_MANAGES_ZK為true。(進入 hbase-env.sh 文件后,添加如下:)
vim /usr/local/hbase/conf/hbase-env.sh
(進入 hbase-env.sh 文件后,添加如下:)
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_301 export HBASE_MANAGES_ZK=true
(添加完成后保存退出即可)
- 配置/usr/local/hbase/conf/hbase-site.xml:設置屬性hbase.rootdir,用於指定HBase數據的存儲位置
- 因為如果不設置的話,hbase.rootdir默認為/tmp/hbase-${user.name},這意味着每次重啟系統都會丟失數據。咱設置為HBase安裝目錄下的hbase-tmp文件夾即(/usr/local/hbase/hbase-tmp)
(打開並編輯hbase-site.xml)
vim /usr/local/hbase/conf/hbase-site.xml
<configuration> <property> <name>hbase.rootdir</name> <value>file:///usr/local/hbase/hbase-tmp</value> </property> </configuration>
□ 測試一下:測試運行單機模式的HBase:
cd /usr/local/hbase bin/start-hbase.sh bin/hbase shell
問題:bin/hbase shell用於打開shell命令行模式 報錯:WARN [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable。
解決:警告級別的錯誤,不重要,解決:直接忽略
❀ 注意:如果在操作HBase的過程中發生錯誤,可以通過{HBASE_HOME}目錄(/usr/local/hbase)下的logs子目錄中的日志文件查看錯誤原因。 |
■ 偽分布式模式配置:
- 配置/usr/local/hbase/conf/hbase-env.sh:配置JAVA_HOME,HBASE_CLASSPATH,HBASE_MANAGES_ZK
- (HBASE_CLASSPATH設置為本機HBase安裝目錄下的conf目錄(即/usr/local/hbase/conf))
(用命令vi打開hbase-env.xml)
-
vim /usr/local/hbase/conf/hbase-env.sh
- (進入 hbase-env.sh 文件后,添加如下:)
-
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_301 export HBASE_CLASSPATH=/usr/local/hbase/conf export HBASE_MANAGES_ZK=true
- (HBASE_CLASSPATH設置為本機HBase安裝目錄下的conf目錄(即/usr/local/hbase/conf))
- 配置/usr/local/hbase/conf/hbase-site.xml:hbase.rootdir指定HBase的存儲目錄;hbase.cluster.distributed設置集群處於分布式模式;
- hbase.unsafe.stream.capability.enforce這個屬性的設置,是為了避免出現啟動錯誤。
- (用命令vi打開hbase-site.xml)
-
vim /usr/local/hbase/conf/hbase-site.xml
- (進入 hbase-site.xml 文件后,添加如下:)
-
<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:
❀ 注意:如果在操作HBase的過程中發生錯誤,可以通過{HBASE_HOME}目錄(/usr/local/hbase)下的logs子目錄中的日志文件查看錯誤原因。 |
這里啟動關閉Hadoop和HBase的順序一定是:啟動Hadoop—>啟動HBase—>關閉HBase—>關閉Hadoop
① 啟動Hadoop:
ssh localhost cd /usr/local/hadoop ./sbin/start-dfs.sh
② 啟動HBase:
cd /usr/local/hbase
bin/start-hbase.sh
✿ 啟動成功,輸入命令jps
然后再輸入命令:bin/hbase shell
看到如下圖所示即成功
③ 關閉HBase:
bin/stop-hbase.sh
參考文章:《HBase2.2.2安裝和編程實踐指南_廈大數據庫實驗室博客 (xmu.edu.cn)》