@
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