安装HBase数据库

 

不要以为山寨的就是低端货,君不见BigTable的山寨版HBase就发展的如火如荼;山寨也是有技术含量的,从HADOOP下面的一个子项目发展为APACHE基金会的顶级项目,如今在开源业内的影响力更是与日俱增。

 

HBase应该可以算是NoSQL产品线中的一员,最起码不属于关系型数据库。在设计上属于结构化与非结构化的集合,其最大优势在于能够弹性伸缩,使其可以通过简单的增加节点的方式,来扩展支撑能力。今天我们先快速接触一下安装和使用,以加深对其的理解。

 

1、安装HBase

 

HBase的安装很像HADOOP,也分为单机模式,伪分布模式以及分布式模式,难易度也是依次排列。单机模式咱们就不讲了,忒没技术含量,一步到位,试一试分布式模式的安装和使用呗。

 

HBase的发展非常快,目前最新稳定版已经到了0.96.4。不过据说每种hadoop版本都对应有适合的HBase版本,若版本选择不匹配,则运行过程中可能出现各种异常。三思手头上的hadoop环境版本号为0.20.2,这里选择HBase-0.90.5版本,因为这是号称唯一一个能够良好支持0.2x版本的HBase。

 

下载/解压/修改用户属主,一条龙操作如下:

  •  

# wget http://mirror.bit.edu.cn/apache/hbase/hbase-0.90.5/hbase-0.90.5.tar.gz

 

# tar xvfz hbase-0.90.5.tar.gz -C /usr/local/

 

# mv /usr/local/hbase-0.90.5/lib/hadoop-core-0.20-append-r1056497.jar /usr/local/hbase-0.90.5/lib/hadoop-core-0.20-append-r1056497.bak

 

# cp /usr/local/hadoop-0.20.2/hadoop-0.20.2-core.jar /usr/local/hbase-0.90.5/lib/

# chown grid:grid /usr/local/hbase-0.90.5 -R
 

注意前面那个cp操作,从hadoop目录中复制hadoop-0.20.2-core.jar文件到hbase目录下,替换hbase下自带的core.jar文件,据说如不进行这个替换,那么HBase在启动过程中就会报错(有可能,hbase自带的核心版本号与本地hadoop版本号不同,为避免麻烦,替换最好),我没有做测试,反正参考网上文档时,别人说让替换,我就信了。

 

接下来的操作都是在grid用户(即运行hadoop的操作系统帐户)下进行,切换至grid用户下,并将HBase目录导入到PATH环境变量,方便我们调用命令:

 
  •  

# su - grid

 

$ echo "export HBASE_HOME=/usr/local/hbase-0.90.5" >> .bash_profile 

  $ echo "export PATH=\${HBASE_HOME}/bin:\$PATH" >> .bash_profile 
 

修改hbase的环境变量文件,配置JAVA_HOME的值到正确的路径下。

 
  • $ vi /usr/local/hbase-0.90.5/conf/hbase-env.sh 
 

增加两行内容(或者说设定两个环境变量):

 
  •  

export JAVA_HOME=/usr/local/jdk1.7.0_09

  export HBASE_CLASSPATH=/usr/local/hadoop-0.20.2/conf
 

修改hbase站点配置文件,配置hbase在hdfs中的存储路径。

 
  • $ vi /usr/local/hbase-0.90.5/conf/hbase-site.xml
 

增加下列配置:

 
  •  

 

    hbase.rootdir

 

    hdfs://hdnode1:9000/hbase

 

    The directory shared by region servers.

 

 

 

    hbase.cluster.distributed

 

    true

 

    The mode the cluster will be in. 

 

 

  

 

    hbase.master  

 

    hdfs://hdnode1:60000  

 

 

 

 

    hbase.zookeeper.quorum

 

    hdnode1,hdnode2,hdnode3,hdnode4,hdnode5

 

Comma separated list of servers in the ZooKeeper Quorum. 

 

 

 

    hbase.zookeeper.property.dataDir

 

    /usr/local/hbase-0.90.5/logs/zookeeper

 

    Property from ZooKeeper's config zoo.cfg.

 

        The directory where the snapshot is stored.

 

    

 
 

编辑regionservers文件,类似hadoop中的conf/slaves文件,这里是用来指定HReginServers的服务器列表:

 
  • $ vi /usr/local/hbase-0.90.5/conf/regionservers 
 

我们把5个节点都加进去:

 
  •  

hdnode1

 

hdnode2

 

hdnode3

 

hdnode4

  hdnode5
 

将hbase-0.90.5文件夹打包并复制到其它四个节点,操作步骤如下:

 
  •  

$ tar cvfz hbase-0.95.tar.gz /usr/local/hbase-0.90.5

 

$ scp hbase-0.95.tar.gz hdnode2:~/

 

$ scp hbase-0.95.tar.gz hdnode3:~/

 

$ scp hbase-0.95.tar.gz hdnode4:~/

  $ scp hbase-0.95.tar.gz hdnode5:~/
 

各个节点分别解压这个文件到/usr/local目录。

 

 

启动hbase服务(若要停止则用stop-hbase.sh脚本):

 
  • $ /usr/local/hbase-0.90.5/bin/start-hbase.sh 
 

hdnode1节点被配置为hmaster,则该节点查询当前的进程,将能够看到:

 
  •  

[grid@hdnode1 ~]$ jps

 

13695 HMaster

 

13933 Jps

 

664 NameNode

 

818 SecondaryNameNode

 

13637 HQuorumPeer

 

13807 HRegionServer

  895 JobTracker
 

而在其它结点上,应该能够看到HReginServer和HQuorumPeer进程:

 
  •  

[grid@hdnode3 ~]$ jps

 

2974 HQuorumPeer

 

3048 HRegionServer

 

16471 DataNode

 

16529 TaskTracker

  3138 Jps
 

通过URL方式访问:http://192.168.30.203:60010/master.jsp,可以查看HBase的一些基础信息,日志等等。这样,如果过程中都没有报错,HBase就算安装好了。

 

HBase提供的接口方式非常多

 

下面我们就来逐个介绍一下。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7607759/viewspace-758458/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/7607759/viewspace-758458/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值