Hbase的安裝(詳細步驟)
1、前提條件
1、得安裝的有hdfs系統
2、得安裝zookeeper集群
2、准備安裝包
-
下載安裝包並上傳到node01服務器
-
安裝包下載地址:
[**https://www.apache.org/dyn/closer.lua/hbase/2.2.6/hbase-2.2.6-bin.tar.gz **
-
將安裝包上傳到node01服務器/hc/softwares路徑下,並進行解壓
[hadoop@node01 ~]$ cd /hc/soft/
[hadoop@node01 soft]$ tar -zxvf hbase-2.2.6-bin.tar.gz -C /hc/install/
3、修改Hbase配置文件
3.1、修改hbase-env.sh文件
- 修改文件
[hadoop@node01 softwares]$ cd /hc/install/hbase-2.2.6/conf
[hadoop@node01 conf]$ vim hbase-env.sh
- 修改如下兩項內容,值如下
export JAVA_HOME=/hc/install/jdk1.8.0_141
export HBASE_MANAGES_ZK=false
3.2、修改hbase-site.xml文件
- 修改文件
[hadoop@node01 conf]$ vim hbase-site.xml
- 內容如下
<configuration>
<!-- 指定hbase在HDFS上存儲的路徑 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://node01:8020/hbase</value>
</property>
<!-- 指定hbase是否分布式運行 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 指定zookeeper的地址,多個用“,”分割 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>node01,node02,node03:2181</value>
</property>
<!--指定hbase管理頁面-->
<property>
<name>hbase.master.info.port</name>
<value>60010</value>
</property>
<!-- 在分布式的情況下一定要設置,不然容易出現Hmaster起不來的情況 -->
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
</configuration>
3.3、修改regionservers文件
- 修改文件
[hadoop@node01 conf]$ vim regionservers
- 指定HBase集群的從節點;原內容清空,添加如下三行
node01
node02
node03
3.4、修改back-masters文件
- 創建back-masters配置文件,里邊包含備份HMaster節點的主機名,每個機器獨占一行,實現HMaster的高可用
[hadoop@node01 conf]$ vim backup-masters
- 將node02作為備份的HMaster節點,問價內容如下
node02
4、分發安裝包
將 node01上的HBase安裝包,拷貝到其他機器上
[hadoop@node01 conf]$ cd /hc/install
[hadoop@node01 install]$ scp -r hbase-2.2.6/ node02:/hc/install
[hadoop@node01 install]$ scp -r hbase-2.2.6/ node03:/hc/install
5、創建軟連接
- 注意:三台機器均做如下操作
- 因為HBase集群需要讀取hadoop的core-site.xml、hdfs-site.xml的配置文件信息,所以我們三台機器都要執行以下命令,在相應的目錄創建這兩個配置文件的軟連接
ln -s /hc/install/hadoop-3.1.4/etc/hadoop/core-site.xml /hc/install/hbase-2.2.6/conf/core-site.xml
ln -s /hc/install/hadoop-3.1.4/etc/hadoop/hdfs-site.xml /hc/install/hbase-2.2.6/conf/hdfs-site.xml
- 執行完后,出現如下效果,以node01為例

6、添加HBase環境變量
- 注意:三台機器均執行以下命令,添加環境變量
sudo vim /etc/profile
- 文件末尾添加如下內容
export HBASE_HOME=/hc/install/hbase-2.2.6
export PATH=$PATH:$HBASE_HOME/bin
- 重新編譯/etc/profile,讓環境變量生效
source /etc/profile
7、HBase的啟動與停止
- 需要提前啟動HDFS及ZooKeeper集群
- 如果沒開啟hdfs,請在node01運行
start-dfs.sh命令 - 如果沒開啟zookeeper,請在3個節點分別運行
zkServer.sh start命令
- 如果沒開啟hdfs,請在node01運行
- 第一台機器node01(HBase主節點)執行以下命令,啟動HBase集群
[hadoop@node01 ~]$ start-hbase.sh
-
啟動完后,jps查看HBase相關進程
node01、node02上有進程HMaster、HRegionServer
node03上有進程HRegionServer
-
警告提示:HBase啟動的時候會產生一個警告,這是因為jdk7與jdk8的問題導致的,如果linux服務器安裝jdk8就會產生這樣的一個警告

-
可以注釋掉所有機器的hbase-env.sh當中的
“HBASE_MASTER_OPTS”和“HBASE_REGIONSERVER_OPTS”配置 來解決這個問題。
不過警告不影響我們正常運行,可以不用解決
-
我們也可以執行以下命令,單節點啟動相關進程
#HMaster節點上啟動HMaster命令
hbase-daemon.sh start master
#啟動HRegionServer命令
hbase-daemon.sh start regionserver
8、訪問WEB頁面
-
瀏覽器頁面訪問

9、停止HBase集群
-
停止HBase集群的正確順序
- node01上運行,關閉hbase集群
[hadoop@node01 ~]$ stop-hbase.sh- 關閉ZooKeeper集群
- 關閉Hadoop集群
- 關閉虛擬機
- 關閉筆記本
