我正在尝试将mysql服务器中的mysql表导入到我的MAC OSX Mavericks上的elasticsearch。
PUT请求。
网址:localhost:9200 / _river / my_jdbc_river / _meta
原始数据:
{
"type" : "jdbc",
"jdbc" : {
"url" : "jdbc:mysql://localhost:3306/<databaseName>",
"user" : "<MysqlUserName>",
"password" : "<MysqlUserPass",
"sql" : "select * from <TableName>"
}
}
我在终端的elasticsearch日志中收到以下错误:
[2014-08-26 15:38:39,300][ERROR][org.xbib.elasticsearch.river.jdbc.strategy.simple.SimpleRiverSource] while opening read connection: jdbc:mysql://localhost:3306/xcollector No suitable driver found for jdbc:mysql://localhost:3306/xcollector
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/xcollector
at java.sql.DriverManager.getConnection(DriverManager.java:596)
at java.sql.DriverManager.getConnection(DriverManager.java:215)
at org.xbib.elasticsearch.river.jdbc.strategy.simple.SimpleRiverSource.getConnectionForReading(SimpleRiverSource.java:196)
at org.xbib.elasticsearch.river.jdbc.strategy.simple.SimpleRiverSource.execute(SimpleRiverSource.java:315)
at org.xbib.elasticsearch.river.jdbc.strategy.simple.SimpleRiverSource.fetch(SimpleRiverSource.java:287)
at org.xbib.elasticsearch.plugin.feeder.jdbc.JDBCFeeder.fetch(JDBCFeeder.java:335)
at org.xbib.elasticsearch.plugin.feeder.jdbc.JDBCFeeder.executeTask(JDBCFeeder.java:179)
at org.xbib.elasticsearch.plugin.feeder.AbstractFeeder.newRequest(AbstractFeeder.java:362)
at org.xbib.elasticsearch.plugin.feeder.AbstractFeeder.newRequest(AbstractFeeder.java:53)
at org.xbib.pipeline.AbstractPipeline.call(AbstractPipeline.java:87)
at org.xbib.pipeline.AbstractPipeline.call(AbstractPipeline.java:14)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
我已经关注谷歌的很多帖子试图找到问题的原因,有没有人知道我错过了什么?
如果有人知道这个程序是否可以更自动地部署,就像拥有某种包管理器一样(如node.js的npm)。
提前致谢,
答案 0 :(得分:3)
因此,您的问题的线索是您必须创建文件夹&#34;插件&#34;和&#34; jdbc&#34;在步骤4中,安装mysql river插件时会创建这两个文件夹。我可以看到你的错误消息中正确安装了mysql river插件 - 它正在运行但是找不到jdbc驱动程序。
在驱动器上查找正确的文件夹 - $ ES_HOME应包含以下文件夹:
bin
config
data
lib
logs
plugins
如果没有,那么$ ES_HOME设置不正确。将您的jdbc驱动程序按照指示复制到正确的文件夹中,您应该能够解决此问题。