2017年4月26日 星期三

Hbase 安裝、設定 (Cluster)

相關軟體安裝、設定:
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
source /etc/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'



沒有留言:

張貼留言

OCS Inventory 匯出資料到 Google 試算表(依電腦設備類型)

OCS Inventory 匯出到 Google 試算表的程式是從網路上其他高手分享出來( 參考資料出處 ),並依個人需求調整。 如要取用請注意,因程式是用 python 寫的,程式段落可能會移位導致無法正常運作。 下列程式調整SELECT電腦 設備類型 為Noteboo...