在虚拟机中搭建分布式软件GeoMesa-hbase

准备工作

  • 集群环境
    node01
    node02
    node03
  • 已安装软件
    zookeeper3.4.5
    hadoop3.1.2
    hbase2.2.5
    jdk 1.8

安装过程

  1. 下载安装包并解压:
    [node01] tar -zxvf geomesa-hbase_2.12-3.3.0.tar.gz
  2. 发送到其他机器:
    [node01] scp -r geomesa-hbase_2.12-3.3.0 root@node02:/opt/yjx/ [node01] scp -r geomesa-hbase_2.12-3.3.0 root@node03:/opt/yjx/
  3. 配置环境变量:
    [node01] vim /etc/profile export GEOMESA_HBASE_HOME=/opt/yjx/geomesa-hbase_2.12-3.3.0 export PATH=$GEOMESA_HBASE_HOME/bin:$PATH
    退出
    [node01]source /etc/profile
  4. 把hbase的hbase-site.xml添加到{GEOMESA_PATH}/lib/geomesa-hbase-datastore_2.12-3.3.0.jar的根目录下
    [node01 hbase/conf]zip -r /opt/yjx/geomesa-hbase_2.12-3.3.0/lib/geomesa-hbase-datastore_2.12-3.3.0.jar hbase-site.xml
  5. 拷贝geomesa-hbase运行所需jar包到hbase lib目录下
    [123]cp ${GEOMESA_HBASE_HOME}/dist/hbase/geomesa-hbase-distributed-runtime-hbase2_2.12-3.3.0.jar ${HBASE_HOME}/lib
  6. 注册coprocessor
    Geomesa使用HBase提供的coprocessor工具将处理过程移动到服务器端运行来提高查询效率,最简单的注册方式就是直接修改hbase-site.xml,增加以下内容:(这一步官网说不用注册,它会自动注册)
    vim /opt/yjx/hbase-2.2.5/conf/hbase-site.xml
<property>
    <name>hbase.coprocessor.user.region.classes</name>
  <value>org.locationtech.geomesa.hbase.coprocessor.GeoMesaCoprocessor</value>
</property>

scp /opt/yjx/hbase-2.2.5/conf/hbase-site.xml root@node03:/opt/yjx/hbase-2.2.5/conf/hbase-site.xml scp /opt/yjx/hbase-2.2.5/conf/hbase-site.xml root@node03:/opt/yjx/hbase-2.2.5/conf/hbase-site.xml
7. 测试是否安装成功
geomesa-hbase version
在这里插入图片描述
8. 初始化geomesa-hbase
bin/geomesa-hbase configure
跟着提示输入

geomesa简单使用

  • 准备数据
    在这里插入图片描述
  • 定义特征类型
    vim conf/myschema.sft
geomesa = {
sfts = {
example = {
type-name = "example"
attributes = [
{ name = "carid", type = "String", index = true }
{ name = "color", type = "String", index = false }
{ name = "double_0", type = "Double", index = false }
{ name = "double_1", type = "Double", index = false }
{ name = "time", type = "Date", index = false }
{ name = "geom", type = "Point", index = true,srid = 4326,default =
true }
]
}
}
}                      

  • 定义转换器
    vim conf/testconvertor.convert
geomesa.converters.example = {
"fields" : [
{
"name" : "carid",
"transform" : "toString($1)"
},
{
"name" : "color",
"transform" : "toString($2)"
},
{
"name" : "double_0",
"transform" : "toDouble($3)"
},
{
"name" : "double_1",
"transform" : "toDouble($4)"
},
{
"name" : "time",
"transform" : "isoDateTime($5)"
},
{
"name" : "geom",
"transform" : "point($double_0,$double_1)"
}
],
"format" : "CSV",
"id-field" : "md5(string2bytes($0))",
"options" : {
"encoding" : "UTF-8",
"error-mode" : "skip-bad-records",
"parse-mode" : "incremental",
"validators" : [
"index"
]
},
"type" : "delimited-text"
}
  • 导入数据(在geomesa-hbase_2.12-3.3.0目录下)
geomesa-hbase ingest --catalog geomesa01 \
--feature-name cars20 \
--input-format csv \
-C conf/testconvertor.convert \
-s conf/myschema.sft \
"data/data.csv"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值