# Trying to extract data from MySQL

**URL:** <https://discuss.elastic.co/t/trying-to-extract-data-from-mysql/117591>\
**Category:** Elasticsearch\
**Created:** [January 30, 2018, 9:46am UTC](https://discuss.elastic.co/t/trying-to-extract-data-from-mysql/117591 "2018-01-30T09:46:07Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Hassan\_Shaitou](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/hassan_shaitou/32/103867_2.png) [@Hassan\_Shaitou](https://discuss.elastic.co/u/Hassan_Shaitou)\
**Post date:** [January 30, 2018, 9:46am UTC](https://discuss.elastic.co/t/trying-to-extract-data-from-mysql/117591/1 "2018-01-30T09:46:07Z")

</div>

I am following this tutorial: http://r2d2.cc/2015/08/05/elastic-search-on-windows-with-mysql-sql-server-2014-and-import-feeder/, I want to extract data from mysql and index them using elastic. I am using:

- ElasticSearch version: 6.2.1
- elasticsearch-jdbc-2.3.4.1-dist

My jdbc\_mysql.json:  
`{ "type":"jdbc", "jdbc":{ "url":"jdbc:mysql://localhost:3306/test", "user":"root", "sql":"SELECT * FROM test1", "index":"users", "type":"user", "autocommit":"true", "autodiscover":"true" } }`  
my jdb\_mysql.ps1:  
function Get-PSVersion {  
if (test-path variable:psversiontable) {$psversiontable.psversion} else {[version]"1.0.0.0"}  
}  
$powershell = Get-PSVersion  
if($powershell.Major -le 2 ){  
Write-Error "Oh, so sorry, this script requires Powershell 3 (due to convertto-json)"  
exit  
}  
if((Test-Path env:\JAVA\_HOME) -eq $false){  
Write-Error "Environment variable JAVA\_HOME must be set to your java home"  
exit  
}  
#curl -XDELETE "[http://localhost:9200/users](http://localhost:9200/users)"

```
$DIR = "C:\Users\elasticsearch-6.1.2\plugins\elasticsearch-jdbc-2.3.4.1\"
$FEEDER_CLASSPATH="$DIR\lib"
$FEEDER_LOGGER="file:///$DIR\bin\log4j2.xml"
 
java -cp "$FEEDER_CLASSPATH\*" -"Dlog4j.configurationFile=$FEEDER_LOGGER" "org.xbib.tools.Runner" "org.xbib.tools.JDBCImporter" jdbc_mysql.json

```

and I am getting this error:

[11:43:58,752][INFO][org.elasticsearch.org.xbib.elasticsearch.helper.client.TransportClient][pool-2-thread-1] [importer] failed to get node info for {#transport#-1}{127.0.0.1}{localhost/127.0.0.1:9300}, disconnecting...  
org.elasticsearch.transport.NodeDisconnectedException: [][localhost/127.0.0.1:9300][cluster:monitor/nodes/liveness] disconnected  
[11:43:58,752][ERROR][importer.jdbc][pool-2-thread-1] error while processing request: no cluster nodes available, check settings {autodiscover=false, client.transport.ignore\_cluster\_name=false, client.transport.nodes\_sampler\_interval=5s, client.transport.ping\_timeout=5s, cluster.name=elasticsearch, flush\_interval=5s, max\_actions\_per\_request=10000, max\_concurrent\_requests=8, max\_volume\_per\_request=10mb, name=importer, port=9300, sniff=false}  
org.elasticsearch.client.transport.NoNodeAvailableException: no cluster nodes available, check settings {autodiscover=false, client.transport.ignore\_cluster\_name=false, client.transport.nodes\_sampler\_interval=5s, client.transport.ping\_timeout=5s, cluster.name=elasticsearch, flush\_interval=5s, max\_actions\_per\_request=10000, max\_concurrent\_requests=8, max\_volume\_per\_request=10mb, name=importer, port=9300, sniff=false}  
at org.xbib.elasticsearch.helper.client.BulkTransportClient.init(BulkTransportClient.java:164) ~[elasticsearch-helper-2.3.4.0.jar:?]  
at org.xbib.elasticsearch.helper.client.ClientBuilder.toBulkTransportClient(ClientBuilder.java:113) ~[elasticsearch-helper-2.3.4.0.jar:?]  
at org.xbib.elasticsearch.jdbc.strategy.standard.StandardSink.createClient(StandardSink.java:348) ~[elasticsearch-jdbc-2.3.4.1.jar:?]  
at org.xbib.elasticsearch.jdbc.strategy.standard.StandardSink.beforeFetch(StandardSink.java:100) ~[elasticsearch-jdbc-2.3.4.1.jar:?]  
at org.xbib.elasticsearch.jdbc.strategy.standard.StandardContext.beforeFetch(StandardContext.java:183) ~[elasticsearch-jdbc-2.3.4.1.jar:?]  
at org.xbib.elasticsearch.jdbc.strategy.standard.StandardContext.execute(StandardContext.java:164) ~[elasticsearch-jdbc-2.3.4.1.jar:?]  
at org.xbib.tools.JDBCImporter.process(JDBCImporter.java:203) ~[elasticsearch-jdbc-2.3.4.1.jar:?]  
at org.xbib.tools.JDBCImporter.newRequest(JDBCImporter.java:189) [elasticsearch-jdbc-2.3.4.1.jar:?]  
at org.xbib.tools.JDBCImporter.newRequest(JDBCImporter.java:53) [elasticsearch-jdbc-2.3.4.1.jar:?]  
at org.xbib.pipeline.AbstractPipeline.call(AbstractPipeline.java:50) [elasticsearch-jdbc-2.3.4.1.jar:?]  
at org.xbib.pipeline.AbstractPipeline.call(AbstractPipeline.java:16) [elasticsearch-jdbc-2.3.4.1.jar:?]  
at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0\_161]  
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0\_161]  
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0\_161]  
at java.lang.Thread.run(Unknown Source) [?:1.8.0\_161]

---

<div class="post-metadata">

**Author:** ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)\
**Post date:** [January 30, 2018, 9:48am UTC](https://discuss.elastic.co/t/trying-to-extract-data-from-mysql/117591/2 "2018-01-30T09:48:08Z")

</div>

Are you asking for assistance or just pasting what looks like an error?

---

<div class="post-metadata">

**Author:** ![Hassan\_Shaitou](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/hassan_shaitou/32/103867_2.png) [@Hassan\_Shaitou](https://discuss.elastic.co/u/Hassan_Shaitou)\
**Post date:** [January 30, 2018, 9:49am UTC](https://discuss.elastic.co/t/trying-to-extract-data-from-mysql/117591/3 "2018-01-30T09:49:40Z")

</div>

assistance, but I am editing it ...

---

<div class="post-metadata">

**Author:** ![Christian\_Dahlqvist](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/christian_dahlqvist/32/4617_2.png) [@Christian\_Dahlqvist](https://discuss.elastic.co/u/Christian_Dahlqvist)\
**Post date:** [January 30, 2018, 9:56am UTC](https://discuss.elastic.co/t/trying-to-extract-data-from-mysql/117591/4 "2018-01-30T09:56:19Z")

</div>

> [@Hassan\_Shaitou](#):
>
> elasticsearch-jdbc-2.3.4.1

It looks like this very old tutorial is using [the JDBC importer for Elasticsearch](https://github.com/jprante/elasticsearch-jdbc), which does not seem to support any Elasticsearch version beyond 2.3.4. Using Elasticsearch 6.x will therefore not work.

If you are looking to import data through JDBC, you may instead want to try Logstash and the [JDBC input plugin](https://www.elastic.co/guide/en/logstash/current/plugins-inputs-jdbc.html), as this will work with the latest version of Elasticsearch.

Have a look at this [blog post](https://www.elastic.co/blog/logstash-jdbc-input-plugin) about it.

---

<div class="post-metadata">

**Author:** ![Hassan\_Shaitou](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/hassan_shaitou/32/103867_2.png) [@Hassan\_Shaitou](https://discuss.elastic.co/u/Hassan_Shaitou)\
**Post date:** [January 30, 2018, 10:01am UTC](https://discuss.elastic.co/t/trying-to-extract-data-from-mysql/117591/5 "2018-01-30T10:01:33Z")

</div>

thanks for your quick response, I will check it..

---

<div class="post-metadata">

**Author:** ![Hassan\_Shaitou](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/hassan_shaitou/32/103867_2.png) [@Hassan\_Shaitou](https://discuss.elastic.co/u/Hassan_Shaitou)\
**Post date:** [January 30, 2018, 10:04am UTC](https://discuss.elastic.co/t/trying-to-extract-data-from-mysql/117591/6 "2018-01-30T10:04:50Z")

</div>

Yeah, I passed through this blog, but when I ran the first command "bin\logstash-plugin install logstash-input-jdbc" it gives the below error:

Validating logstash-input-jdbc  
Installing logstash-input-jdbc  
ERROR: Installation Aborted, message: undefined method `[]=' for #Bundler::Settings:0x621f23ac  
Did you mean? []

I am using: logstash 6.1.2 with windows 10

---

<div class="post-metadata">

**Author:** ![Christian\_Dahlqvist](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/christian_dahlqvist/32/4617_2.png) [@Christian\_Dahlqvist](https://discuss.elastic.co/u/Christian_Dahlqvist)\
**Post date:** [January 30, 2018, 10:09am UTC](https://discuss.elastic.co/t/trying-to-extract-data-from-mysql/117591/7 "2018-01-30T10:09:19Z")

</div>

The blog post is a bit old, so I believe the JDBC plugin now is bundled with Logstash by default, meaning you can just use it.

---

<div class="post-metadata">

**Author:** ![Hassan\_Shaitou](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/hassan_shaitou/32/103867_2.png) [@Hassan\_Shaitou](https://discuss.elastic.co/u/Hassan_Shaitou)\
**Post date:** [January 30, 2018, 10:09am UTC](https://discuss.elastic.co/t/trying-to-extract-data-from-mysql/117591/8 "2018-01-30T10:09:44Z")

</div>

aha, I will try then ...

---

<div class="post-metadata">

**Author:** ![Christian\_Dahlqvist](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/christian_dahlqvist/32/4617_2.png) [@Christian\_Dahlqvist](https://discuss.elastic.co/u/Christian_Dahlqvist)\
**Post date:** [January 30, 2018, 10:12am UTC](https://discuss.elastic.co/t/trying-to-extract-data-from-mysql/117591/9 "2018-01-30T10:12:17Z")

</div>

As it is a bit old, the documentation I linked to will be a better reference for how to configure it as this may have changed.

---

<div class="post-metadata">

**Author:** ![Hassan\_Shaitou](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/hassan_shaitou/32/103867_2.png) [@Hassan\_Shaitou](https://discuss.elastic.co/u/Hassan_Shaitou)\
**Post date:** [January 30, 2018, 10:24am UTC](https://discuss.elastic.co/t/trying-to-extract-data-from-mysql/117591/10 "2018-01-30T10:24:31Z")

</div>

after running "bin\logstash -f simple\_outpout.conf"

I got this error:

NoMethodError: undefined method `[]=' for #Bundler::Settings:0x32502377  
Did you mean? []  
setup! at C:/Users/logstash-6.1.2/lib/bootstrap/bundler.rb:50

 at C:\Users\logstash-6.1.2\lib\bootstrap\environment.rb:63

my conf file:

```
input {
  jdbc {
    jdbc_driver_library => "mysql-connector-java-5.1.36-bin.jar"
    jdbc_driver_class => "com.mysql.jdbc.Driver"
    jdbc_connection_string => "jdbc:mysql://localhost:3306/mydb"
    jdbc_user => "root"
    schedule => "* * * * *"
    statement => "SELECT * from test1"
  }
}
output {
    stdout { codec => json_lines }
}
```

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [February 27, 2018, 10:24am UTC](https://discuss.elastic.co/t/trying-to-extract-data-from-mysql/117591/11 "2018-02-27T10:24:58Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
