【问题标题】:Java noclassdeffounderror while running the river plugin for elasticsearch运行弹性搜索的河流插件时出现Java noclassdeffounderror
【发布时间】:2014-01-22 15:46:43
【问题描述】:

我已经成功安装了elasticsearch,我尝试了快速入门指南为jdbc安装elasticsearch river插件,但是当我尝试开始获取sql表时,我一直遇到这个错误,有人能解释一下吗出错?谢谢。

CreationException[Guice 创建错误:\n\n1) 注入构造函数时出错,java.util.ServiceConfigurationError: org.xbib.elasticsearch.river.jdbc.RiverMouth: Provider org.xbib.elasticsearch.river.jdbc.strategy.simple .SimpleRiverMouth 无法实例化:java.lang.NoClassDefFoundError: org/elasticsearch/ElasticsearchTimeoutException\n at org.xbib.elasticsearch.river.jdbc.JDBCRiver.(Unknown Source)\n while locating org.xbib.elasticsearch.river.jdbc .JDBCRiver\n 同时定位 org.elasticsearch.river.River\n\n1 错误];嵌套:ServiceConfigurationError[org.xbib.elasticsearch.river.jdbc.RiverMouth:提供者 org.xbib.elasticsearch.river.jdbc.strategy.simple.SimpleRiverMouth 无法实例化:java.lang.NoClassDefFoundError:org/elasticsearch/ElasticsearchTimeoutException];嵌套:NoClassDefFoundError[org/elasticsearch/ElasticsearchTimeoutException];嵌套:ClassNotFoundException[org.elasticsearch.ElasticsearchTimeoutException];

我怀疑这是一个类路径问题,但随后 elasticsearch 再次正确启动。下面是执行路径:

/usr/bin/java -Xms256m -Xmx1g -Xss256k -Djava.awt.headless=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -Delasticsearch -Des.pidfile=/var/run/elasticsearch/elasticsearch.pid -Des.path.home=/usr/share/elasticsearch -cp :/usr/share/elasticsearch/lib/elasticsearch-0.90.10.jar:/usr/share/elasticsearch/lib/*:/usr/share/elasticsearch/lib/sigar/* -Des.default.path.home=/usr/share/elasticsearch -Des.default.path.logs=/var/log/elasticsearch -Des.default.path.data=/var/lib/elasticsearch -Des.default.path.work=/tmp/elasticsearch -Des.default.path.conf=/etc/elasticsearch org.elasticsearch.bootstrap.ElasticSearch

================================================ ==========================

【问题讨论】:

    标签: elasticsearch elasticsearch-jdbc-river


    【解决方案1】:

    您正在混合版本。 您提到的插件是在 1.0.0.RC1 elasticsearch 节点中运行的。

    【讨论】:

    • 哇,感谢您的快速回答,是的,这正是问题所在。但是现在我有另一个问题,日志显示批量插入,但是当我在生成的索引上运行 _status 时,它没有显示插入的文档(当有几千个文档时,max_docs 只显示 1)。
    • 很难说没有更多细节。什么给了http://localhost:9200/_search?q=*
    • 好的,它确实只返回了 5 行,而不是日志报告的大约 5000 行,此外,我将索引指定为:“index”:{“index”:“te_places”, "type": "jdbc" } 但结果却显示为:"_index": "jdbc", "_type": "jdbc",确实很奇特。
    • 我怀疑这与_mapping有关,我仍在尝试找出type_mapping和索引应该出现在jdbc json对象内部还是外部的位置......
    • 我建议您打开一个包含完整详细信息的新问题
    猜你喜欢
    • 2014-10-30
    • 1970-01-01
    • 2023-02-06
    • 1970-01-01
    • 2011-11-19
    • 2015-09-14
    • 2015-11-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多