HBase是一个分布式的、面向列的开源数据库,该技术来源于Chang et al所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库.另一个不同的是HBase基于列的而不是基于行的模式。HBase使用和Bigtable非常相同的数据模型。用户存储数据行在一个表里。一个数据行拥有一个可选择的键和任意数量的列。表是疏松的存储的,因此用户可以给行定义各种不同的列。HBase主要用于需要随机访问,实时读写你的大数据(Big Data)。

本文主要介绍在Ubuntu10.04环境下安装配置单机版原生的HBase。在网络上找到的文章要么语焉不详,要么ungeliable.于是记录一下自己的安装配置过程,做个STEP BY STEP的图文并茂的教程,谨防自己以后忘记 。

向您推荐《Facebook实时信息系统:HBase每月存储1350亿条信息》

安装Hbase其实主要是配置好java环境以及Hadoop与Hbase的配置文件。

1.安装并配置Java环境。在Ubuntu10.04默认的源使用的OpenJDK,在某些应用上OpenJDK并不被支持(如abicloud等).我们为了省事还是安装sun java ,打开终端,输入以下命令:

(1)安装

    sudoadd-apt-repository"debhttp://archive.canonical.com/lucidpartner" sudoapt-getupdate sudoapt-getinstallsun-java6-jresun-java6-pluginsun-java6-fonts sudoapt-getinstallsun-java6-jdksun-java6-pluginsun-java6-fonts

查看是否安装成功

    $java-version

(2) 设置默认的java解释器。

    sudoupdate-alternatives--configjava

会出现下列图面:

输入你想选择的编号。

(3)编辑java环境变量

    sudogedit/etc/environment

在弹出的environment文件中添加下列两行:

CLASSPATH=.:/usr/lib/jvm/java-6-sun/lib JAVA_HOME=/usr/lib/jvm/java-6-sun

保存退出,行文至此,java环境已经配置好。

2.安装并配置Hadoop。虽说我安装的是单机版的Hbase,但是由于Hadoop本来就是分布系统,使用SSH通讯。

(1)安装ssh

    sudoapt-getinstallssh

(2)设置不用登录密码

    <PREclass=wiki>$ssh-keygen-trsa-f~/.ssh/id_rsa-P""</PRE> <PREclass=wiki>$cp~/.ssh/id_rsa.pub~/.ssh/authorized_keys</PRE>

完成后登录不用输入密码,***次需要输入回车键。

    $sshlocalhost $exit $sshlocalhost $exit

(3)下载解压Hadoop,到http://hadoop.apache.org/common/releases.html#Download下载stable版本0.20.2.并解压到/Home路径

(4)修改hadoop-env.sh 。在本人机器上解压路径是/home/viki/hadoop-0.20.2,进入刚才所解压的文件夹,修改之(需要root权限)。

    cdhadoop-0.20.2 geditconf/hadoop-env.sh

将以下java环境copy进去。

    exportJAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.22

(5)设置xml文件,需要设置conf文件夹下的三个文件core-site.xml, hdfs-site.xml, mapred-site.xml。

    geditconf/core-site.xml

将下面内容copy进该文件中:

    <configuration> <property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/var/hadoop/hadoop-\${user.name}</value> </property> </configuration>

保存退出,继续修改另外一个文件hdfs-site.xml

    geditconf/hdfs-site.xml

将下面内容copy进该文件

    <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>

保存退出,修改***一个文件

    geditmapred-site.xml

将下面内容copy进该文件

    <configuration> <property> <name>mapred.job.tracker</name> <value>localhost:9001</value> </property> </configuration>

经历以上步骤,所有文件修改完毕,已经设置好Hadoop单机测试环境,下面将是启动Hadoop服务。

3.格式化Namenode并开启所有Hadoop服务,查看服务状态。

(1)格式化Namenode

    bin/hadoopnamenode-format

会出现下面画面:

(2)启动所有Hadoop服务

    bin/start-all.sh

会出现下面画面:

(3)查看服务状态。

管理页面:http://localhost:50030/jobtracker.jsp

原文链接:http://www.cnblogs.com/ventlam/archive/2010/11/24/hadoop.html

    Facebook实时信息系统:HBase每月存储1350亿条信息SQL Server数据库对大数据量表数据进行DELETEMongoDB CEO谈NoSQL的大数据量处理能力详解NoSQL数据库使用实例细数Google HBase与BigTable区别在哪里?

【编辑推荐】