Windows HBase2.2.0安裝部署踩坑
下載安裝
解壓之後根目錄,沒有什麼要修改的。
配置檔案目錄,主要修改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:
本地檔案系統:
預設情況下Hbase是寫到/tmp:
不改這個配置,資料會在重啟的時候丟失
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是一個數據庫,像MySQL一樣要先啟動:
start-hbase
如果沒有什麼錯誤應該出現上面的資訊,如果有錯誤根據錯誤資訊定位,我再windows系統中下載的hbase2.2.0在hbase根目錄下的lib目錄中添加了下面幾個jar包才啟動成功的。
根據ClassNotFound,對比的原始碼的依賴版本新增的jar包。
啟動成功之後可以通過瀏覽器訪問web介面檢視相關資訊。
然後我們可以使用客戶端連線:
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