Hadoop Geomesa配置Erorr

Hadoop Geomesa配置Erorr,hadoop,geoserver,geomesa,Hadoop,Geoserver,Geomesa,我在geoserver 2.8.0中使用Hadoop 2.7,但在尝试配置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 no

我在geoserver 2.8.0中使用Hadoop 2.7,但在尝试配置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
$geomesa
使用GEOMESA_HOME=/usr/local/GEOMESA/dist/tools/GEOMESA-tools-1.2.0
警告:您尚未将ACCUMULO_HOME和/或HADOOP_HOME设置为环境变量。
如果工具类路径中没有适当的Accumulo和Hadoop JAR,GeoMesa工具将无法运行。
请通过运行“geomesa classpath”确保类路径中存在这些JAR。
要采取纠正措施,请将必要的jar文件放在geomesa tools的lib目录中。
线程“main”java.lang.NoClassDefFoundError中的异常:org/apache/accumulo/core/client/TableNotFoundException
在org.locationtech.geomesa.tools.commands.TableConfCommand.(TableConfCommand.scala:32)
位于org.locationtech.geomesa.tools.Runner$.createCommand(Runner.scala:50)
位于org.locationtech.geomesa.tools.Runner$.main(Runner.scala:21)
位于org.locationtech.geomesa.tools.Runner.main(Runner.scala)
原因:java.lang.ClassNotFoundException:org.apache.accumulo.core.client.TableNotFoundException
在java.net.URLClassLoader$1.run(URLClassLoader.java:366)
在java.net.URLClassLoader$1.run(URLClassLoader.java:355)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.net.URLClassLoader.findClass(URLClassLoader.java:354)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:425)
位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 4更多

如何修复此问题?

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

一个快速选项是从平板电脑服务器或已配置为Hadoop集群一部分的另一台机器上运行GeoMesa工具。如果您正在使用另一台计算机,则可以从本地群集节点镜像
$HADOOP\u HOME
$ACCUMULO\u HOME
目录


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

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

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

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