@
HBase是什么
- HBase是基於hadoop的數據庫!
HBase支持隨機寫
-
HBase的讀寫操作還是借助HDFS完成,要完成隨機寫,根本上還是需要復合HDFS的特性!
-
HDFS只支持追加寫!
-
隨機的操作: Update+Delete 借助 追加寫+時間戳(版本號)
-
只允許客戶端查詢時返回時間戳最新的數據!
HBase支持海量數據的實時讀寫
- ①分布式
- ②索引,LSM樹
- ③kv
- ④吃內存
- ⑤列式存儲
- ⑥布隆過濾器(查詢)
HBase的安裝和配置(重點)
1.配置
- ①保證已經配置了JAVA_HOME,HADOOP_HOME環境變量
- ②編輯$HABSE_HOME/conf/habse-env.sh
修改128行:export HBASE_MANAGES_ZK=false
注釋掉46,47行! - ③配置$HABSE_HOME/conf/hbase-site.xml
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop101:9000/HBase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop102:2181,hadoop103:2181,hadoop101:2181</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/opt/module/zookeeper-3.4.10/datas</value>
</property>
2.啟動(重點)
- ①啟動hdfs,zookeeper(必須)
- ②啟動hbase
單點啟動
三台機器都啟動regionserver
命令:
xcall /opt/module/hbase/bin/hbase-daemon.sh start regionserver
選擇一台啟動master
命令:
/opt/module/hbase/bin/hbase-daemon.sh start master
群起和群停
- 類似於
hadoop-daemons.sh
,先讀取HADOOP_HOME/etc/hadoop/slaves
中所有的主機名!對這些主機,執行hadoop-daemon.sh start datanode
,再啟動NN! hbase-daemons.sh
先讀取$HABSE_HOME/conf/regionservers
中所有的主機名!
注意: hbase-daemons.sh或start-hbase.sh或stop-hbase.sh的前提是先配置要執行這些命令所在的機器的$HABSE_HOME/conf/regionservers文件!- 使用hbase-daemons.sh命令啟動所有regionserver
/opt/module/hbase/bin/hbase-daemons.sh start regionserver
- 使用hbase-daemons.sh命令啟動一個master
/opt/module/hbase/bin/hbase-daemons.sh start master
- 更簡便的方法去啟動和停止hbase集群:
/opt/module/hbase/bin/start-habse.sh
/opt/module/hbase/bin/stop-hbase.sh
集群同步
sudo ntpdate-u ntp4.aliyun.com