0

我将 Hadoop 2.7 与 geoserver 2.8.0 一起使用,但是当我尝试配置 Geomesa 1.2.0 时,我收到以下错误消息:

$ geomesa
Using GEOMESA_HOME = /usr/local/geomesa/dist/tools/geomesa-tools-1.2.0

Warning: you have not set ACCUMULO_HOME and/or HADOOP_HOME as environment variables.
GeoMesa tools will not run without the appropriate Accumulo and Hadoop jars in the tools classpath.
Please ensure that those jars are present in the classpath by running 'geomesa classpath' .
To take corrective action, please place the necessary jar files in the lib directory of geomesa-tools.

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/accumulo/core/client/TableNotFoundException
    at org.locationtech.geomesa.tools.commands.TableConfCommand.<init>(TableConfCommand.scala:32)
    at org.locationtech.geomesa.tools.Runner$.createCommand(Runner.scala:50)
    at org.locationtech.geomesa.tools.Runner$.main(Runner.scala:21)
    at org.locationtech.geomesa.tools.Runner.main(Runner.scala)
Caused by: java.lang.ClassNotFoundException: org.apache.accumulo.core.client.TableNotFoundException
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    ... 4 more

我怎样才能解决这个问题?

4

2 回答 2

0

验证类路径中是否存在相应的 jar 文件,您可以借助以下命令进行检查:- Geomesa 类路径

如果 jar 不存在,则将 jar 复制到 Geomesa 目录中,在我的情况下,它位于以下路径中:

/*/geomesa-1.2.4/dist/tools/geomesa-tools-1.2.4/lib/common/

于 2016-08-24T11:18:48.340 回答
0

GeoMesa 工具需要 Hadoop 和 Accumulo jar 才能连接到 Accumulo。

一个快速的选择是从平板服务器或另一台已经配置为 Hadoop 集群一部分的机器上运行 GeoMesa 工具。如果您使用的是另一台机器,您可以从本地集群节点 镜像$HADOOP_HOME和目录。$ACCUMULO_HOME

作为另一种选择,您可以下载目录中的install-hadoop-accumulo.sh脚本geomesa-tools/bin以下载一组 Hadoop 和 Accumulo jar。

于 2016-03-29T20:29:45.060 回答