HBase是一个基于Hadoop的分布式的、面向列的开源数据库,它以Google的BigTable为原型。 高可用性、高性能、列存储、可伸缩、实时读写。 完全分布式安装HBase是在完全分布式安装好Hadoop的基础上进行的。 HBase的版本和Hadoop的版本需要匹配得上,尽量不要选
HBase是一个基于Hadoop的分布式的、面向列的开源数据库,它以Google的BigTable为原型。
高可用性、高性能、列存储、可伸缩、实时读写。
完全分布式安装HBase是在完全分布式安装好Hadoop的基础上进行的。
HBase的版本和Hadoop的版本需要匹配得上,尽量不要选择最新的版本,应该选稳定版本的。
我这里用的是Hadoop-0.20.2和HBase-0.90.5。
以下操作在hadoop的namenode主节点上进行,在主节点上配置好之后,再复制到各个从节点。
1、下载并安装HBase
1)我这里把hbase-0.90.5.tar.gz放到/home/coder/目录下。
2)解压hbase-0.90.5.tar.gz到/home/coder/hbase-0.90.5/
[coder@h1 ~]$ tar -zxvf hbase-0.90.5.tar.gz
2、配置hbase-env.sh文件
该文件在hbase-0.90.5/conf/目录下。
1)配置JDK安装目录
# The java implementation to use. Java 1.6 required. export JAVA_HOME=/usr/java/jdk1.6.0_37
2)配置Hadoop安装目录
# Extra Java CLASSPATH elements. Optional. export HBASE_CLASSPATH=/home/coder/hadoop-0.20.2/conf
3)配置由HBase负责启动和关闭zookeeper
# Tell HBase whether it should manage it's own instance of Zookeeper or not. export HBASE_MANAGES_ZK=true
3、配置hbase-site.xml文件
该文件在hbase-0.90.5/conf/目录下,文件内容配置如下:
/** * Copyright 2010 The Apache Software Foundation * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ hbase.rootdirhdfs://h1:9000/hbasehbase.cluster.distributedtruehbase.masterh1:60000hbase.zookeeper.quorumh2,h3hbase.zookeeper.property.dataDir/home/coder/hbase-0.90.5/zookeeper
4、配置regionservers文件
该文件在hadoop-0.90.5/conf/目录下,我这里配置了两个从节点h2和h3作为Region服务器,美国空间,该文件内容如下:
h2 h3
5、替换HBase的hadoop核心jar包
进入到hbase-0.90.5/lib/目录下。
1)将原来的hadoop-core-0.20-append-r1056497.jar做个备份,或者直接删掉
[coder@h1 lib]$ mv hadoop-core-0.20-append-r1056497.jar hadoop-core-0.20-append-r1056497.jar.bak
2)将Hadoop安装目录中的hadoop-0.20.2-core.jar复制到hbase-0.90.5/lib/目录中
[coder@h1 lib]$ cp /home/coder/hadoop-0.20.2/hadoop-0.20.2-core.har /home/coder/hbase-0.90.5/lib/
6、到这里,最简单HBase配置已经ok了。现在需要把配置好的Hbase复制到其他节点,执行如下命令:
[coder@h1 ~]$ scp -r hbase-0.90.5 h2:/home/coder/ [coder@h1 ~]$ scp -r hbase-0.90.5 h3:/home/coder/
7、先启动Hadoop,再启动HBase。
1)启动hadoop,进入hadoop安装目录,执行:
[coder@h1 hadoop-0.20.2]$ bin/start-all.sh
2)启动HBase,进入HBase安装目录,虚拟主机,执行:
[coder@h1 hbase-0.90.5]$ bin/start-hbase.sh
3)查看是否启动成功:
主节点h1:
[coder@h1 hbase-0.90.5]$ jps 2167 NameNode 2777 Jps 2300 SecondaryNameNode 2657 HMaster 2376 JobTracker [coder@h1 hbase-0.90.5]$
从节点h2:
[coder@h2 ~]$ jps 2051 DataNode 2342 HRegionServer 2279 HQuorumPeer 2105 TaskTracker 2905 Jps [coder@h2 ~]$
从节点h3:
[coder@h3 ~]$ jps 2353 HRegionServer 2116 TaskTracker 2933 Jps 2292 HQuorumPeer 2062 DataNode [coder@h3 ~]$
8、HBase的shell模式
1)进入shell模式
[coder@h1 hbase-0.90.5]$ bin/hbase shell HBase Shell; enter 'help<RETURN>' for list of supported commands. Type to leave the HBase Shell Version 0.90.5, r1212209, Fri Dec 9 05:40:36 UTC 2011 hbase(main):001:0>
2)使用status命令查看HBase的运行状况
hbase(main):001:0> status 2 servers, 0 dead, 1.0000 average load hbase(main):002:0>
3)退出shell
hbase(main):002:0> exit
9、HBase用户界面
1)master界面,通过:60010/master.jsp访问,192.168.0.129是我主节点ip
2)zookeeper页面,通过master页面中master属性提供的zookeeper链接进入。
3)用户表页面,也可以通过master页面的相应链接进入。
4)Region服务器页面,也可以通过master页面的Region Servers信息提供的链接进入。
9、停止HBase
在主节点上执行
[coder@h1 hbase-0.90.5]$ bin/stop-hbase.sh
,香港服务器