基于NoSQL数据库的空间数据存储(二)---HBase的构建

一、问题描述

海量空间数据存储要求服务器水平扩展性强,基于Hadoop的NoSQL数据库具有水平扩展性强的特点,其高效的并行存储机制也为空间检索提供快速响应的能力。

二、方案选择

由于将数据存入Hbase中需要考虑如何存储,空间数据处理的基本单位是二维或三维坐标,HBase只支持一维行键检索。行键的设置是HBase存储和处理空间数据首要解决的问题。不同于Hilbert、Geohash等降维方法,此次使用了行键设计方法,将坐标数据转化为一维字符串。并且提出了对于表的设计。
并且本文提供了空间数据区域查询算法-窗口区域查询。

三、开发平台

虚拟机:Oracle VM VirtualBox
Linux系统: Ubuntu
Hadoop版本: Hadoop-2.6.0
HBase版本:hbase-0.98.11-hadoop2-bin.tar.gz

四、参考网站及文献

https://www.shiyanlou.com/courses/37

五、HBase的构建

1、检查必要条件

1.1在终端输入 java -version 来查看你机子上的 Java 版本

java -version

1.2、hadoop和ssh

需要注意的是伪分布模式下,HBase 的版本需要和 Hadoop版本 匹配 ,不然很可能容易出错。你可以在HBase的lib目录下看到对应的Hadoop的Jar文件版本。

在这里,我们使用了Hadoop V2.4.1版本以及HBase V0.98.11版本。

Hadoop的安装和ssh的配置在上一节有讲,如没有配置,可转到http://blog.csdn.net/jamexfx/article/details/53192740

2、hbase的安装

su hadoop
wget http://labfile.oss.aliyuncs.com/hbase-0.98.11-hadoop2-bin.tar.gz
tar zxvf hbase-0.98.11-hadoop2-bin.tar.gz
mv hbase-0.98.11-hadoop2 hbase

3、配置相关文件

3.1配置 hbase-site.xml 文件

<configuration>
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://localhost:9000/hbase</value>
    </property>
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
</configuration>

3.2设置环境变量
另外,我们需要设置一些环境变量。修改HBase下的conf目录中的hbase-env.sh文件(你的jdk路径可能不一样)

export JAVA_HOME=/usr/local/jdk1.7.0_67
export HBASE_MANAGES_ZK=true

3.3修改添加PATH

sudo vim /etc/profile
export PATH=$PATH:/usr/local/hadoop/hbase/bin

4、启动HBase—伪分布模式运行

4.1伪分布模式下,必须先确保 HDFS 已经启动。因此,我们先启动 HDFS,输入命令: ./start-all.sh
4.2使用 jps 查看目前 Hadoop 的进程

NameNode
NodeManager
DataNode
ResourceManager
SeconderNameNode

4.3HDFS 成功启动之后,我们再启动 HBase,这里和单机模式下启动 HBase 的方法一样,输入命令: ./start-hbase.sh
4.4此时再使用 jps查看,可以看到多了HBase的相关进程

NameNode
HRegionServer---
NodeManager
DataNode
HQuorumPeer
ResourceManager
HMaster---
SeconderNameNode

4.5进入 HBase Shell
通过HBase Shell用户可以方便地创建、删除以及修改表,还可以向表中添加数据、列出表中的相关相信等。
4.6停止 HBase
根据依赖关系,我们需要先关闭HBase, ./stop-hbase.sh
再关闭HDFS, ./stop-all.sh

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值