尝试使用Kafka数据存储运行Geomesa快速入门时出现Java错误

时间:2019-04-30 15:54:57

标签: java apache-kafka geomesa

我想发现GeoMesa技术。

我尝试在GeoMesa的官方网站上运行“快速入门”。

我使用由docker-compose安装的Kafka Data sore(端口9092用于Kafka代理,9000用于Kafka管理器,2181用于Zookeeper服务器),以及版本{ {1}}的GeoMesa。

就像写在GeoMesa的教程上一样,我运行以下命令行:

从GitHub获取教程:

2.4.0-SNAPSHOT

使用Maven编译:

git clone https://github.com/geomesa/geomesa-tutorials.git
cd geomesa-tutorials

使用地址mvn clean install -pl geomesa-tutorials-kafka/geomesa-tutorials-kafka-quickstart -am (对于Kafka代理)和localhost:9092(对于Zookeeper服务器)运行应用程序:

localhost:2181

当我运行最后一个命令行时,控制台上会抛出错误:

  

java.lang.IncompatibleClassChangeError:方法org.locationtech.geomesa.security.AuthorizationsProvider.apply(Ljava / util / Map; Ljava / util / List;)Lorg / locationtech / geomesa / security / AuthorizationsProvider;必须为InterfaceMethodref常量       在org.locationtech.geomesa.security.package $ .getAuthorizationsProvider(package.scala:57)       在org.locationtech.geomesa.kafka.data.KafkaDataStoreFactory $ .buildAuthProvider(KafkaDataStoreFactory.scala:194)       在org.locationtech.geomesa.kafka.data.KafkaDataStoreFactory $ .buildConfig(KafkaDataStoreFactory.scala:175)       在org.locationtech.geomesa.kafka.data.KafkaDataStoreFactory.createDataStore(KafkaDataStoreFactory.scala:46)       在org.locationtech.geomesa.kafka.data.KafkaDataStoreFactory.createDataStore(KafkaDataStoreFactory.scala:37)       在org.geotools.data.DataAccessFinder.getDataStore(DataAccessFinder.java:121)       在org.geotools.data.DataStoreFinder.getDataStore(DataStoreFinder.java:71)       在org.geomesa.example.quickstart.GeoMesaQuickStart.createDataStore(GeoMesaQuickStart.java:105)       在org.geomesa.example.kafka.KafkaQuickStart.createDataStore(KafkaQuickStart.java:68)       在org.geomesa.example.quickstart.GeoMesaQuickStart.run(GeoMesaQuickStart.java:79)       在org.geomesa.example.kafka.KafkaQuickStart.main(KafkaQuickStart.java:133)

我怀疑错误来自此方法java -cp geomesa-tutorials-kafka/geomesa-tutorials-kafka-quickstart/target/geomesa-tutorials-kafka-quickstart-2.4.0-SNAPSHOT.jar org.geomesa.example.kafka.KafkaQuickStart --kafka.brokers localhost:9092 --kafka.zookeepers localhost:2181

我尝试使用由Docker映像安装的Redis服务器进行相同的快速入门,并且得到了完全相同的错误。

1 个答案:

答案 0 :(得分:0)

  

命令行java --version'给我以下输出:openjdk 11.0.2 2019-01-15。我没有Java 8版本吗?

根据链接到的文档,先决条件之一是使用Java 8运行GeoMesa。