相關軟體安裝、設定:
hadoop 安裝配置: http://sc8log.blogspot.tw/2017/04/hadoop-cluster.html
zookeeper 安裝、設定: http://sc8log.blogspot.tw/2017/04/zookeeper-cluster.html
下載 Hbase 套件
tar -zf hbase-1.3.1-bin.tar.gz
sudo mv hbase-1.3.1 /usr/local/hbase
修改 bash.bashrc
export HBASE_HOME=/usr/local/hbase
export PATH=$PATH:$HBASE_HOME/bin
重新載入 bash.bashrc
建立 Log 目錄
mkdir -p /usr/local/hbase/{logs,tmp,pids}
修改 conf/hbase-env.sh
export JAVA_HOME=${JAVA_HOME}
export HBASE_PID_DIR=/usr/local/hbase/pids
export HBASE_MANAGES_ZK=true //由 hbase 負責啟動、停止 zookeeper
修改 regionservers
vi $HBASE_HOME/conf/regionservers
master
slave01
slave02
slave03
修改 backup-masters
vi $HBASE_HOME/conf/backup-masters
slave03
修改 hbase-site.xml
vi $HBASE_HOME/conf/hbase-site.xml
<configuration>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master,slave01,slave02,slave03</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/usr/local/hbase/tmp</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/user/zookeeper</value>
</property>
</configuration>
清除 Log、tmp
rm -rf $HBASE_HOME/logs/*
rm -rf $HBASE_HOME/tmp/*
將 hbase 目錄複製到每台 slave
scp -r $HBASE_HOME slave01:~
scp -r $HBASE_HOME slave02:~
scp -r $HBASE_HOME slave03:~
移動 hbase 目錄(每台 slave)
sudo mv ~/hbase /usr/local/
sudo chown -R hadoop:hadoop /usr/local/hbase
sudo chmod +x /usr/local/hbase
啟動 Hbase
$HBASE_HOME/bin/start-hbase.sh
進入測試 hbase
hbase shell
運用範例:
學號 姓名 國文 英文 數學
105111111 boss 50 60 70
105111112 tom 60 70 80
105111113 max 90 95 100
建立 Table
create 'result','name','score'
寫入資料
put 'result','105111111','name','boss'
put 'result','105111111','score:chinese','50'
put 'result','105111111','score:english','60'
put 'result','105111111','score:math','70'
put 'result','105111112','name','tom'
put 'result','105111112','score:chinese','60'
put 'result','105111112','score:english','70'
put 'result','105111112','score:math','80'
put 'result','105111113','name','max'
put 'result','105111113','score:chinese','80'
put 'result','105111113','score:english','90'
put 'result','105111113','score:math','100'
查詢個人成績
get 'result','105111112'
查詢相同科目
scan 'result',{COLUMNS => 'score:english'}
查詢 result table 全部資料
scan 'result'
計算(統計不重覆的 row key 值,此範例為 3 人)
count 'result'
查看 table 結構
describe 'result'
刪除一列
delete 'result','105111112','name'
刪除相同 key 值的資料
deleteall 'result','105111112'
刪除 result table 的結構及資料
truncate 'result'
刪除 result table
disable 'result'
drop 'result'