Hbase學習筆記2--Hbase集群搭建
單機版
首先去hbase官網下載需要的版本,然后解壓到相應得節(jié)點上。
https://archive.apache.org/dist/hbase/然后閱讀官方文檔,找到搭建文檔,找到配置文件屬性。
https://hbase.apache.org/2.0/book.html#quickstart
配置hbase-site.xml

啟動Hbase
start-hbase.sh打開shell腳本
hbase shell創(chuàng)建表
創(chuàng)建表必須帶有一個列族。其中cf就代表一個列族。如下查看表詳情得時候,給我們列出來的信息都是按照列族來的。
create 'psn','cf'
create 'psn1','cf1','cf2'
插入數據
列族插入數據,每次插入都要指明本次插入得列族以及字段。如果不帶cf得話,就會拋異常,無法找該列族。
put 'psn','1','cf:name','zhangsan'
hbase(main):015:0> put 'psn','1','name','zhangsan'
ERROR: org.apache.hadoop.hbase.regionserver.NoSuchColumnFamilyException:
Column family name does not exist in region psn
刪除表
刪除表需要先禁用表才能刪除:
disable 'psn'
dorp 'psn'region
接下來我們去數據目錄下,查看hbase表得存儲目錄。可以看到我們創(chuàng)建的列族在這一串亂碼文件下。這個亂碼就是region的Id。

文件持久化
當我們插入一部分數據的時候,如果沒有超過緩沖區(qū)的大小。我們就不會把數據持久化到硬盤。


此時我們可以通過如下命令,手動將數據刷新到磁盤:
flush 'psn'會發(fā)現數據已經到了硬盤。

此時我們可以通過命令來查看該文件中的數據,每個人后續(xù)生成的region和文件id都不太一樣。
hbase hfile -p -f file:///home/testuser/hbase/data/default/psn/cc5874c7dfbd07c30a5daaa59dbae4f9/cf/677b3478a3c845de876379fc7006b4f4分布式集群
配置免密操作
node1和node4免密,如下所示:
ssh-keygen
ssh-copy-id -i .ssh/id_rsa.pub node1配置hbase-env.sh
關閉hbase自身zookeeper實例。采用外部zookeeper集群。

配置hbase-site.xml
寫入自己的集群配置。
<property>
<name>hbase.rootdirname>
<value>hdfs://mycluster/hbase
property>
<property>
<name>hbase.cluster.distributedname>
<value>truevalue>
property>
<property>
<name>hbase.zookeeper.quorumname>
<value>node2,node3,node4value>
property>配置regionservers

配置backup-masters
表示備份的master。

HDFS配置
Procedure: HDFS Client Configuration
Of note, if you have made HDFS client configuration changes on your Hadoop cluster, such as configuration directives for HDFS clients, as opposed to server-side configurations, you must use one of the following methods to enable HBase to see and use these configuration changes:
1.Add a pointer to your HADOOP_CONF_DIR to the HBASE_CLASSPATH environment variable in hbase-env.sh.
2.Add a copy of hdfs-site.xml (or hadoop-site.xml) or, better, symlinks, under ${HBASE_HOME}/conf, or
3.if only a small set of HDFS client configurations, add them to hbase-site.xml.我們選擇第二種,將hadoop的hdfs-site.xml復制到hbase中進行配置。
cp /opt/bigdata/hadoop-2.6.5/etc/hadoop/hdfs-site.xml ./接下來將配置好的hbase復制到其他三個節(jié)點,并配置環(huán)境變量
scp -r hbase-2.0.5/ root@node4:/opt/bigdata/啟動Hbase集群
可以看到日志中,node1為master,node2,node3,node4為regionserver。node4也為master。

可以看到java進程中,node4節(jié)點多了一個HMaster,一個HRegionServer。
指定備用Master
同時我們可以指定備用Master,例如node3。使用如下命令:
hbase-daemon.sh start master
啟動集群shell
在任意節(jié)點啟動集群shell。
hbase shell
同時在我們的hdfs文件系統(tǒng)中也看到了我們的hbase目錄

