执行geodocker-geomesa官方文档遇到的bug,以及
官方文档网址:https://github.com/geodocker/geodocker-geomesa.git
1. 先克隆geodocker-accumulo-geomesa,也可以下载到本地。
git clone https://github.com/geodocker/geodocker-geomesa.git
备注:下载会更快一点。
2. 切换到geodocker-accumulo-geomesa路径。
cd geodocker-accumulo-geomesa
备注:要先查看自己geodocker-accumulo-geomesa的目录,然后切换路径。
3. 执行如下命令:
docker-compose up
4. 进入容器,执行命令如下:
dockerexec -ti geodocker-accumulo-geomesa_accumulo-master_1 /bin/sh
备注:官方文档的命令会找不到文件或路径,这是改过之后的命令。
5. 提取示例数据,执行如下命令:
cd /opt/geomesa/bin
./geomesa-accumulo
ingest -C example-csv -c example -u root -p GisPwd -s example-csv
../examples/ingest/csv/example.csv
备注:这是两条命令,分别执行。
注意:执行第二条命令会报如下错误:
可能遇到的错原因是导入脚本有问题识别zookeeper.jar出现问题,会把指向具体zookeeper.jar的软连接和原来的zookeeper.jar识别出来
解决办法:cd /opt/geomesa/bin 执行后,输入命令vi geomesa-accumulo修改
ZOOKEEPER_JAR="$(find -L$ZOOKEEPER_HOME -maxdepth 1 -type f -name *zookeeper*jar)"
为
ZOOKEEPER_JAR="$(find -L $ZOOKEEPER_HOME-maxdepth 1 -type f -name *zookeeper*jar | head -n 1)"
解决完该问题,又会出现请求超时的错误:………(default:5000)
解决办法:编辑文件 accumulo-site.xml ,添加如下内容:(该文件目录:geodocker-geomesa-master\geodocker-geomesa-master\geodocker-accumulo\fs\opt\accumulo\conf)
文件所在位置<property>
<name>instance.zookeeper.timeout</name>
<value>15000</value>
<description>timeout limit for zookeeper</description>
</property>
备注:位置自己找!!!
保存之后,执行accumulo_env.sh,命令如下:
bash accumulo_env.sh
6.问题解决之后,查看GeoServer中的数据,请转到http://localhost:9090/geoserver/web,登录用户名admin,密码:geoserver。
备注:docker-compose up执行完需要很长时间,可以重新打开一个记事本执行之后的命令。第5步超时任务没解决,也可以执行第6步。