文章目录
准备工作
- 集群环境
node01
node02
node03 - 已安装软件
zookeeper3.4.5
hadoop3.1.2
hbase2.2.5
jdk 1.8
安装过程
- 下载安装包并解压:
[node01]tar -zxvf geomesa-hbase_2.12-3.3.0.tar.gz
- 发送到其他机器:
[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/
- 配置环境变量:
[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
- 把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
- 拷贝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
- 注册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"