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的图文并茂的教程,谨防自己以后忘记 。
51CTO向您推荐《Facebook实时信息系统:HBase每月存储1350亿条信息》
安装Hbase其实主要是配置好java环境以及Hadoop与Hbase的配置文件。
1.安装并配置Java环境。在Ubuntu10.04默认的源使用的OpenJDK,在某些应用上OpenJDK并不被支持(如abicloud等).我们为了省事还是安装sun java ,打开终端,输入以下命令:
(1)安装
- sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
- sudo apt-get update
- sudo apt-get install sun-java6-jre sun-java6-plugin sun-java6-fonts
- sudo apt-get install sun-java6-jdk sun-java6-plugin sun-java6-fonts
查看是否安装成功
- $ java -version
(2) 设置默认的java解释器。
- sudo update-alternatives --config java
会出现下列图面:
输入你想选择的编号。
(3)编辑java环境变量
- sudo gedit /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
- sudo apt-get install ssh
(2)设置不用登录密码
- <PRE class=wiki>$ ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ""</PRE>
- <PRE class=wiki>$ cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys</PRE>
完成后登录不用输入密码,***次需要输入回车键。
- $ ssh localhost
- $ exit
- $ ssh localhost
- $ 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权限)。
- cd hadoop-0.20.2
- gedit conf/hadoop-env.sh
将以下java环境copy进去。
- export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.22
(5)设置xml文件,需要设置conf文件夹下的三个文件core-site.xml, hdfs-site.xml, mapred-site.xml。
- gedit conf/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
- gedit conf/hdfs-site.xml
将下面内容copy进该文件
- <configuration>
- <property>
- <name>dfs.replication</name>
- <value>1</value>
- </property>
- </configuration>
保存退出,修改***一个文件
- gedit mapred-site.xml
将下面内容copy进该文件
- <configuration>
- <property>
- <name>mapred.job.tracker</name>
- <value>localhost:9001</value>
- </property>
- </configuration>
经历以上步骤,所有文件修改完毕,已经设置好Hadoop单机测试环境,下面将是启动Hadoop服务。
3.格式化Namenode并开启所有Hadoop服务,查看服务状态。
(1)格式化Namenode
- bin/hadoop namenode -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数据库对大数据量表数据进行DELETE
- MongoDB CEO谈NoSQL的大数据量处理能力
- 详解NoSQL数据库使用实例
- 细数Google HBase与BigTable区别在哪里?
【编辑推荐】