执行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步。

推荐阅读更多精彩内容