HBase是建立在Hadoop文件系统之上的分布式面向列的数据库。它是一个开源项目,是横向扩展的。
HBase是一个数据模型,类似于谷歌的大表设计,可以提供快速随机访问海量结构化数据。它利用了Hadoop的文件系统(HDFS)提供的容错能力。它是Hadoop的生态系统,提供对数据的随机实时读/写访问,是Hadoop文件系统的一部分。
人们可以直接或通过HBase的存储HDFS数据。使用HBase在HDFS读取消费/随机访问数据。 HBase在Hadoop的文件系统之上,并提供了读写访问。
HBase下载地址http://www.apache.org/dyn/closer.cgi/hbase/
HBase-1.0.3安装
1.解压
cd /opt/ tar -zxvf hbase-1.0.3-bin.tar.gz
2.创建tmp文件夹作为hbase的数据目录
cd hbase-1.0.3/ mkdir tmp
3.修改配置文件hbase-site.xml,单机只需如下配置:
vim /opt/hbase-1.0.3/conf/hbase-site.xml
使用本地文件系统:
<configuration> <property> <name>hbase.rootdir</name> <value>file:///opt/hbase-1.0.3/tmp/hbase</value> </property> </configuration>
或使用hdfs文件系统:
<configuration> <property> <name>hbase.rootdir</name> <value>hdfs://HM107:9000/hbase</value> </property> </configuration>
使用hdfs文件系统时,必须配置主机名,不支持IP。如果配置IP,无法远程访问。我亲测过,最初使用的IP 192.168.1.100,远程无法访问,后来还是给服务器配置了主机名HM107,并在这里配置上主机名。
配置hbase.rootdir来指定Hbase将数据写到哪个目录。默认hbase.rootdir是指向/tmp/hbase-${user.name},会在重启后丢失数据(重启系统会清理/tmp),所以推荐修改该配置。
4.修改配置文件conf/hbase-env.sh
vim /opt/hbase-1.0.3/conf/hbase-env.sh export HBASE_MANAGES_ZK=true
说明:BASE_MANAGES_ZK 来切换zookeeper。如果未true,是让Hbase启动的时候同时也启动zookeeper。如果自己安装了zookeeper,则这里要配置成false。
我直接配置单机版,默认使用内部的zookeeper,未单独安装,所以配置成了true。
5.启动HBase之前,先确认hadoop已经启动
hadoop dfsadmin -report
6.HBase的启动和停止,集群的启动和停止则在Master节点上执行命令
bin/start-hbase.sh bin/stop-hbase.sh