GeoMesa系列2-安装使用

本次安装基于HDP,已默认已安装好HDFS、HBase2.0.1。

1、下载安装包,解压(后期可下载源码编译开发)

wget https://github.com/locationtech/geomesa/releases/download/geomesa-3.2.0/geomesa-hbase_2.11-3.2.0-bin.tar.gz
tar -zxvf geomesa-hbase_2.11-3.2.0-bin.tar.gz

2、修改配置,启动GeoMesa

2.1 停止hbase

安装GeoMesa过程中,需要修改HBase部分配置(以下为HBase停止和启动命令)

sudo -u hbase /usr/hdp/3.0.1.0-187/hbase-2.0.1/bin/hbase-daemon.sh stop master
sudo -u hbase /usr/hdp/3.0.1.0-187/hbase-2.0.1/bin/hbase-daemon.sh stop regionserver
sudo -u hbase /usr/hdp/3.0.1.0-187/hbase-2.0.1/bin/hbase-daemon.sh start master
sudo -u hbase /usr/hdp/3.0.1.0-187/hbase-2.0.1/bin/hbase-daemon.sh start regionserver

2.2 GeoMesa配置

1、编辑/etc/profile文件,声明GEOMESA_HBASE_HOME、HADOOP_HOME、HBASE_HOME

export HADOOP_HOME=/usr/hdp/3.0.1.0-187/hadoop
export HBASE_HOME=/usr/hdp/3.0.1.0-187/hbase-2.0.1
export GEOMESA_HBASE_HOME=/usr/hdp/3.0.1.0-187/geomesa
export CLASSPATH=$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$HADOOP_HOME:$HBASE_HOME:$GEOMESA_HBASE_HOME:$PATH

编辑完成后,source /etc/profile,使之生效。

2、GeoMesa使用HBase的自定义过滤器来执行CQL查询,为了允许GeoMesa使用过滤器,需要将geomesa-hbase-distributed-runtime_2.11-2.0.0.jar拷贝到${HBase_HOME}/lib目录下

cp dist/hbase/geomesa-hbase-distributed-runtime-hbase2_2.11-3.2.0.jar /usr/hdp/3.0.1.0-187/hbase-2.0.1/lib/

3、Geomesa使用HBase提供的coprocessor工具将处理过程移动到服务器端运行来提高查询效率,为了不手动对每个表添加协处理器,这里直接在配置文件hbase-site.xml中添加。

<configuration>
  <property>
    <name>hbase.coprocessor.user.region.classes</name>
    <value>org.locationtech.geomesa.hbase.server.coprocessor.GeoMesaCoprocessor</value>
  </property>
</configuration>

4、启动HBase服务。GeoMesa是一个命令行工具,没有对应服务。至此,GeoMesa已配置完成。

3、测试

1、下载、编译GeoMesa提供的工具包,测试功能是否正常可用。

git clone https://github.com/geomesa/geomesa-tutorials.git
mvn clean install -pl geomesa-tutorials-hbase/geomesa-tutorials-hbase-quickstart -am

2、执行

java -cp geomesa-tutorials-hbase-quickstart-4.0.0-SNAPSHOT.jar \ org.geomesa.example.hbase.HBaseQuickStart --hbase.zookeepers manager  --hbase.catalog \ geomesa_hbase
​
命令行查询:
bin/geomesa-hbase export -c geomesa_hbase -f gdelt-quickstart -q "BBOX(geom, -120.0,30.0,-75.0,55.0) and dtg DURING 2017-12-31T00:00:00+00:00/2018-01-02T00:00:00+00:00"
​
bin/geomesa-hbase export -c geomesa_hbase -f gdelt-quickstart -q "BBOX(geom, -120.0,30.0,-75.0,55.0) and dtg DURING 2017-12-31T00:00:00+00:00/2018-01-02T00:00:00+00:00" -a GLOBALEVENTID,dtg,geom -m 10 -o output.csv
​
bin/geomesa-hbase export -c geomesa_hbase -f gdelt-quickstart -q "EventCode='051'"
​
bin/geomesa-hbase export -c geomesa_hbase -f gdelt-quickstart -q "EventCode='051' and dtg DURING 2017-12-31T00:00:00+00:00/2018-01-02T00:00:00+00:00 "
​
bin/geomesa-hbase export -c geomesa_hbase -f gdelt-quickstart -q "EventCode='051' and WITHIN(geom, POLYGON((-6.4101 55.597244,-6.4101 50.947156,0.656067 50.947156,0.656067 55.597244,-6.4101 55.597244))) " 

测试效果如图,则GeoMesa安装成功。

 HBase中默认创建了5张表,每个表大小基本一致(这里可以看出,GeoMesa存储时,数据会存储多份,产生数据冗余)

导入大量数据,再查看表大小,这时数据冗余比较明显,只能配合HBase表压缩缓解该问题,或者建表时,只建需要的索引类型:

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值