1. 程式人生 > >Windows HBase2.2.0安裝部署踩坑

Windows HBase2.2.0安裝部署踩坑

下載安裝

hbase下載

hbase-home

解壓之後根目錄,沒有什麼要修改的。

hbase配置檔案目錄

配置檔案目錄,主要修改hbase-env.cmd和hbase-site.xml

hbase-env.cmd

set HBASE_MANAGES_ZK=true
set JAVA_HOME=C:\Program Files\Java\jre1.8.0_201
set HBASE_CLASSPATH=G:\datacenter\hbase-2.2.0\conf

HBASE_MANAGES_ZK值為false表示zookeeper外裝,HBASE_MANAGES_ZK的為true,表示zookeeper自帶。

這裡我們配置的是單機測試模式,所以使用HBase自帶的ZK就可以了,所以配置為true。

hbase-site.xml

<configuration>
    <property> 
		<name>hbase.master</name> 
		<value>localhost</value> 
    </property> 
    <property>  
        <name>hbase.rootdir</name>  
        <value>file:///G:/datacenter/hbdata/root</value>  
    </property>  
    <property>  
        <name>hbase.tmp.dir</name>  
        <value>G:/datacenter/hbdata/tmp</value>  
    </property>  
    <property>  
        <name>hbase.zookeeper.quorum</name>  
        <value>localhost</value>
    </property>  
    <property>  
        <name>hbase.zookeeper.property.dataDir</name>  
        <value>G:/datacenter/hbdata/zoo</value>  
    </property> 
    <!-- 外部ZK此處必須為true,不然hbase仍用自帶的zk,若啟動了外部的zookeeper,會導致衝突,hbase啟動不起來 --> 
    <property>  
        <name>hbase.cluster.distributed</name>  
        <value>false</value>  
    </property>
    <property>
    <name>hbase.master.info.port</name>
    <value>60010</value>
    </property>
</configuration>

上面最重要的是hbase.rootdir,本地測試配置本地檔案系統目錄就可以了,單機模式hbase.cluster.distributed配置為false。

hbase.rootdir

hbase.rootdir配置region server的共享目錄,用來持久化Hbase

可以配置hdfs路徑或者本地檔案系統路徑: hdfs:

hdfs://localhost:49002/hbase

本地檔案系統:

file:///G:/datacenter/hbdata/root

預設情況下Hbase是寫到/tmp:

file:///tmp/hbase-${user.name}/hbase

不改這個配置,資料會在重啟的時候丟失

hbase.cluster.distributed

配置Hbase的執行模式。false是單機模式,true是分散式模式。若為false,Hbase和Zookeeper會執行在同一個JVM裡面。預設: false

外部ZK此處必須為true,不然hbase仍用自帶的zk,若啟動了外部的zookeeper,會導致衝突,hbase啟動不起來

hbase.zookeeper.quorum

叢集的地址列表,用逗號分割。例如: "192.168.10.5,192.168.10.6,192.168.10.7"

預設是localhost,這個值對於分散式應用顯然是不可以的

ZK可以直接在hbase-site.xml配置,也可以通過在conf目錄下新增一個zoo.cfg檔案來配置ZK

hbase.zookeeper.property.clientPort

Zk客戶端連線的埠

hbase.zookeeper.property.dataDir

ZK資料儲存位置

按照zookeeper配置zoo.cfg中的dataLogDir=/home/hadoop/zookeeper-3.4.6/datalog路徑配置即可

hbase.master.info.port

hbase-ui埠,監控頁http://localhost:60010/master-status -1表示禁用ui,預設60010

hbase配置項

更多hbase配置選項。

啟動與基本命令

hbase是一個數據庫,像MySQL一樣要先啟動:

start-hbase

啟動hbase

如果沒有什麼錯誤應該出現上面的資訊,如果有錯誤根據錯誤資訊定位,我再windows系統中下載的hbase2.2.0在hbase根目錄下的lib目錄中添加了下面幾個jar包才啟動成功的。

hbase新增的jar包

根據ClassNotFound,對比的原始碼的依賴版本新增的jar包。

hbase-ui

啟動成功之後可以通過瀏覽器訪問web介面檢視相關資訊。

然後我們可以使用客戶端連線:

hbase shell

hbase-shell客戶端

可以通過hbase shell啟動客戶端與hbase資料庫進行互動。

hbase shell啟動一個客戶端連線hbase資料庫,然後我們可以執行一些新增刪除等基本操作了。

HBase基本操作

基本命令

help:檢視命令幫助

status:檢視hbase狀態

version:檢視hbase版本

list_namespace:查看錶空間

表操作

create:建立表

exists:檢查表是否存在

list:檢視所有表

alter:修改表

delete:刪除列

disable:禁用表

is_enabled:查看錶是否禁用

desc:查看錶結構

drop:刪除表

插入資料

put:插入資料

查詢

count:統計表有多少行

get:獲取資料

sc