Lindorm Shell是Lindorm提供的HBase用戶端工具。Lindorm Shell基於HBase Java API串連Lindorm寬表引擎,進行建立表、插入、查詢等資料操作。本文介紹如何下載Lindorm Shell並串連Lindorm寬表引擎。
前提條件
已安裝Java環境,要求安裝JDK 1.8及以上版本。
已將用戶端IP地址添加至Lindorm執行個體的白名單中,添加方法請參見設定白名單。
注意事項
通過Lindorm Shell串連Lindorm寬表引擎僅支援簡單的DDL操作和資料讀寫操作,不支援的操作請參見HBase API使用限制。
請勿使用HBase API的方式去訪問基於SQL建立的寬表,可能會出現亂碼。
推薦在Linux或者macOS作業系統使用Lindorm Shell。
在Windows系統使用Lindorm Shell時,可能會遇到報錯或缺少庫的問題,請根據報錯資訊自行在系統中添加相應的庫。
操作步驟
下載Lindorm Shell工具。
在Lindorm管理主控台左上方,選擇執行個體所屬的地區。在執行個體列表頁,單擊目標執行個體ID。
在左側導覽列單擊資料庫連接,單擊寬表引擎頁簽。
單擊HBase相容地址,然後單擊Lindorm Shell下載。
執行命令解壓Lindorm Shell壓縮包,將壓縮包解壓至目標檔案(以
alihbase-2.0.18
檔案為例)。tar zxvf hbaseue-shell.tar.gz
配置串連參數。
進入
alihbase-2.0.18/conf
目錄,開啟hbase-site.xml
檔案。vi hbase-site.xml
配置Lindorm寬表引擎的串連地址和使用者名稱密碼。
<configuration> <property> <name>hbase.zookeeper.quorum</name> <value>ld-bp17j28j2y7pm****-proxy-lindorm-pub.lindorm.rds.aliyuncs.com:30020</value> </property> <property> <name>hbase.client.username</name> <value>testuser</value> </property> <property> <name>hbase.client.password</name> <value>password</value> </property> </configuration>
參數說明:
hbase.zookeeper.quorum:Lindorm寬表引擎的使用HBase Java API訪問串連地址。
專用網路地址:適用於Lindorm Shell安裝在ECS執行個體上,且ECS執行個體與Lindorm執行個體位於同一VPC。
公網地址:適用於Lindorm Shell安裝在本地,或安裝在ECS執行個體但ECS與Lindorm執行個體不在同一VPC。
hbase.client.username和hbase.client.password:訪問Lindorm寬表引擎的使用者名稱和密碼。如果忘記密碼,可以通過寬表引擎的叢集管理系統修改密碼,具體操作請參見修改使用者密碼。
通過Lindorm Shell訪問Lindorm寬表引擎。
進入
alihbase-2.0.18/bin
目錄執行以下命令。./hbase shell
返回如下資訊表示訪問成功。
Version 2.0.18, r08b8d58a9d6ce89765d5ebe2ddff425aed644c16, Mon Feb 1 12:46:39 CST 2021 Took 0.0034 seconds
說明Shell的使用方法,請參見Lindorm Shell參考。
Lindorm Shell參考
命令參考
Shell的使用命令更多請參見Apache HBase Shell介紹。
資料定義語言 (Data Definition Language)
create:建立表。
list:展示所有表。
disable:禁用表。
is_disabled:驗證表是否被禁用。
enable:啟用表。
is_enabled:驗證表是否已啟用。
describe:展示指定表的詳細資料,包括表屬性、表結構等。
alter:修改表。
exists:用於驗證表是否存在。
drop:刪除指定表。
資料操作語言
put:用於更新特定儲存格中的值。
get:用於擷取指定行或儲存格的內容。
delete:用於刪除表中儲存格的值。
deleteall:用於刪除指定行的所有儲存格。
scan:用於掃描並返回表資料。
count:用於計算並返回表中的行數。
truncate_preserve:清空表中的資料,其內部實現是將指定的表下線和刪除,再進行重建,並且Region分區與舊錶保留一致。
進入和退出Shell環境
進入Shell環境。
bin/hbase shell
退出Shell環境。
quit
操作參考
建表並插入資料
建立表。建立時必須輸入表和列族的名稱。
create '表名', '列族名'
樣本如下:
//建立一個名稱為test,列族名為cf的表 create 'test', 'cf'
插入資料。
put '表名', 'Rowkey', '列族名:列名', '數值'
樣本如下:
put 'test', 'row1', 'cf:a', 'value1' put 'test', 'row2', 'cf:b', 'value2' put 'test', 'row3', 'cf:c', 'value3'
說明row1
為表test
的Rowkey,cf:a
表示自訂欄的列族名和列名,value1
為值。
查詢
查詢所有表的資訊。支援使用Regex來過濾表。
list list 'abc.*' list 'test'
查詢指定表的資料。
scan
是一種訪問HBase資料的方式,它非常的靈活,scan
操作可以用來掃描全表或查詢固定範圍的資料。查詢速度會比查詢單條(使用get
)資料略慢一些。執行以下語句可以查詢test表的資料。scan '表名'
樣本如下:
scan 'test'
返回結果:
ROW COLUMN+CELL row1 column=cf:a, timestamp=1421762485768, value=value1 row2 column=cf:b, timestamp=1421762491785, value=value2 row3 column=cf:c, timestamp=1421762496210, value=value3 3 row(s) in 0.0230 seconds
查詢表的單條資料。
get '表名', 'Rowkey'
樣本如下:
get 'test', 'row1'
返回結果:
COLUMN CELL cf:a timestamp=1421762485768, value=value1 1 row(s) in 0.0350 seconds
禁用和啟用表
禁用和啟用指定表。如果您想要對一張表執行刪除、修改設定或其他動作,請先使用disable命令禁用這張表。在刪除或者修改配置完成後,再使用enable命令啟用表,重新使用這張表。
disable '表名'
enable '表名'
刪除表
刪除指定表。
drop '表名'