Hbase 基礎 - shell 與 用戶端

來源:互聯網
上載者:User

標籤:

以下內容為個人理解,僅供參考。

一、簡介

    Hbase是在HDFS上開發的面向列的分散式資料庫,適用於隨機讀/寫超大規模的資料集(通常這種資料壓力傳統RDBMS很難承受),可以在廉價的硬體上構成的叢集上管理超大規模的稀疏表,並且可以水平擴充。

 

二、基礎概念

    1、Hbase把資料存放在表中,表由行列組成,表中的行是排序的(根據ASCII順序),行鍵作為表的主鍵,對錶的資料訪問需要通過主鍵或者主鍵Range,故行鍵的設計很重要

    2、列由“列族”組成(即對列分類),不同列族的資料通常放在不同的檔案夾裡,列族不宜過多,Hbase啟動時就開啟資料檔案,並且一直保持開啟狀態(Linux 預設一個進程開啟最大檔案數為1024),不合理的設計將導致異常。定義表時必須定義一個可用的列族,使用者可根據需要增加或刪除列族,但是必須先disable。

    3、Hbase為master/slave結構,依賴於zookeeper,master 管理著多個regionServer。

 

三、安裝(standalone)

    1、必須安裝Java 1.6 或者更高版本。

    2、可用修改~/.base_profile,export JAVA_HOME指向JAVA安裝路徑,也可修改conf/hbase-env.sh 中 export JAVA_HOME=/usr/java/jdk1.6.0/

    3、預設情況下,hbase會使用/tmp/hbase-$USERID作為資料存放區目錄,有些系統重啟會清空/tmp目錄,可用通過更改hbase-site.xml來配置資料存放區目錄,如:

<configuration>        <property>            <name>hbase.rootdir</name>            <value>file:///opt/hbase_data</value>        </property></configuration>

    4、修改bin下sh檔案執行許可權,通過 ./bin/start-hbase.sh即可啟動hbase,通過tail -f 監聽./log/hbase-root-master-hbase-xx.log來查看啟動資訊。

 

四、Hbase shell

使用 ./bin/hbase shell即可進入管理hbase,使用secureCRT會導致無法刪除鍵入的錯誤命令(backspace delete鍵無法使用),筆者使用putty(v0.62)可正常使用,下面是一些樣本:

下面以建立一個stations的表,這表的行鍵是stationid,  列包含info.name(名稱)、info.countryCode(網站所屬國家代號)

1、建立一個表與顯示所有表

hbase> create ‘stations‘,‘info‘   --建立一個帶有info列族的stations表
hbase> list --顯示當前所有表

2、錄入資料(如果錄入同一行同一列則代表更新)

hbase> put ‘stations‘, ‘1001‘, ‘info:name‘, ‘HAILAR‘    --錄入1001為行鍵、HAILAR為網站名稱的記錄
hbase> put ‘stations‘, ‘1001‘, ‘info:countryCode‘, ‘CH‘   --CH代表china

  hbase> put ‘stations‘, ‘1002‘, ‘info:name‘, ‘NENJIANG‘
  hbase> put ‘stations‘, ‘1002‘, ‘info:countryCode‘, ‘CH‘

3、讀取、刪除資料

hbase> scan ‘stations‘   --讀取表中所有資料hbase> get ‘stations‘,‘1001‘  --得到行鍵為1001的所有列
hbase> get ‘stations‘,‘1002‘,‘info:name‘ --得到行鍵為1002的info:name列
hbase> delete ‘stations‘,‘1001‘,‘info:countryCode‘ --刪除1001行的info:countryCode列

 4、增加/刪除列族

hbase> disable ‘stations‘hbase> alter ‘stations‘, {NAME=>‘data‘}   --增加data列族,可以錄入以data:作為prefix的列hbase> enable ‘stations‘
hbase> describe ‘stations‘ --列出表結構

---刪除列族
hbase> disable ‘stations‘
hbase> alter ‘stations‘,{NAME=>‘data‘, METHOD=>‘delete‘} --刪除stations裡面的data列族,列族下面的列將被全部刪除

5、刪除表

hbase> disable ‘stations‘   --需要把表disablehbase> drop ‘stations‘

 通過http://hbase-master:60010/ 可查看hbase狀態資訊

 

Hbase 基礎 - shell 與 用戶端

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.