基於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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章