# Migrating nested data from mysql to elasticsearch

**URL:** <https://discuss.elastic.co/t/migrating-nested-data-from-mysql-to-elasticsearch/201953>\
**Category:** Logstash\
**Created:** [October 2, 2019, 12:54pm UTC](https://discuss.elastic.co/t/migrating-nested-data-from-mysql-to-elasticsearch/201953 "2019-10-02T12:54:05Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![saifrehman](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/saifrehman/32/56971_2.png) [@saifrehman](https://discuss.elastic.co/u/saifrehman)\
**Post date:** [October 2, 2019, 12:54pm UTC](https://discuss.elastic.co/t/migrating-nested-data-from-mysql-to-elasticsearch/201953/1 "2019-10-02T12:54:06Z")

</div>

> I have got following error when i run my script.
> 
> ilsa@ILSA-LAPTOP-01:/usr/share/logstash$ sudo bin/logstash -f /etc/logstash/conf.d/mysql.conf

WARNING: Could not find logstash.yml which is typically located in $LS\_HOME/config or /etc/logstash. You can specify the path using --path.settings. Continuing using the defaults  
Could not find log4j2 configuration at path /usr/share/logstash/config/log4j2.properties. Using default config which logs errors to the console  
[WARN] 2019-10-02 17:43:44.099 [LogStash::Runner] multilocal - Ignoring the 'pipelines.yml' file because modules or command line options are specified  
[INFO] 2019-10-02 17:43:44.119 [LogStash::Runner] runner - Starting Logstash {"logstash.version"=\>"6.8.3"}  
[ERROR] 2019-10-02 17:43:53.552 [Converge PipelineAction::Create] ruby - Invalid setting for ruby filter plugin:

filter {  
ruby {  
# This setting must be a path  
# File does not exist or cannot be opened sampleRuby.rb  
path =\> "sampleRuby.rb"  
...  
}  
}  
[ERROR] 2019-10-02 17:43:53.562 [Converge PipelineAction::Create] agent - Failed to execute action {:action=\>LogStash::PipelineAction::Create/pipeline\_id:main, :exception=\>"LogStash::ConfigurationError", :message=\>"Something is wrong with your configuration.", :backtrace=\>["/usr/share/logstash/logstash-core/lib/logstash/config/mixin.rb:86:in `config_init'", "/usr/share/logstash/logstash-core/lib/logstash/filters/base.rb:126:in `initialize'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-filter-ruby-3.1.5/lib/logstash/filters/ruby.rb:48:in `initialize'", "org/logstash/plugins/PluginFactoryExt.java:78:in `filter\_delegator'", "org/logstash/plugins/PluginFactoryExt.java:248:in `plugin'", "org/logstash/plugins/PluginFactoryExt.java:184:in `plugin'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:71:in `plugin'", "(eval):12:in `initialize'", "org/jruby/RubyKernel.java:1061:in `eval'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:49:in `initialize'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:90:in `initialize'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline_action/create.rb:43:in `block in execute'", "/usr/share/logstash/logstash-core/lib/logstash/agent.rb:96:in `block in exclusive'", "org/jruby/ext/thread/Mutex.java:165:in `synchronize'", "/usr/share/logstash/logstash-core/lib/logstash/agent.rb:96:in `exclusive'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline_action/create.rb:39:in `execute'", "/usr/share/logstash/logstash-core/lib/logstash/agent.rb:334:in `block in converge\_state'"]}  
[INFO] 2019-10-02 17:43:53.972 [Api Webserver] agent - Successfully started Logstash API endpoint {:port=\>9600}  
[INFO] 2019-10-02 17:43:58.876 [LogStash::Runner] runner - Logstash shut down.

here is my config file.

> Blockquote

input{  
jdbc {  
jdbc\_connection\_string =\> "jdbc:mysql://172.17.0.3:3306/pro\_fayvo\_db"  
jdbc\_user =\> "test"  
jdbc\_password =\> "test"  
jdbc\_driver\_library =\> "/home/ilsa/mysql-connector-java-5.1.36-bin.jar"  
jdbc\_driver\_class =\> "com.mysql.jdbc.Driver"  
statement =\> "select u.email,u.username,u.created\_at,up.text\_content from users u join user\_posts up ON up.user\_id = u.id limit 0, 10"  
}  
}

filter {  
ruby {  
path =\> 'sampleRuby.rb'  
}  
}

output {  
stdout { codec =\> rubydebug }  
elasticsearch {  
"hosts" =\> "localhost:9200"  
"index" =\> "user\_posts"  
"document\_type" =\> "user\_post"  
}  
}

Thanks in advance

---

<div class="post-metadata">

**Author:** ![saifrehman](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/saifrehman/32/56971_2.png) [@saifrehman](https://discuss.elastic.co/u/saifrehman)\
**Post date:** [October 2, 2019, 1:05pm UTC](https://discuss.elastic.co/t/migrating-nested-data-from-mysql-to-elasticsearch/201953/2 "2019-10-02T13:05:50Z")

</div>

I have solved the issue by providing the full path in filter . It should be as follow.

> filter {  
> ruby {  
> path =\> '/etc/logstash/conf.d/sampleRuby.rb'  
> }  
> }

---

<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:** [October 30, 2019, 1:06pm UTC](https://discuss.elastic.co/t/migrating-nested-data-from-mysql-to-elasticsearch/201953/3 "2019-10-30T13:06:08Z")

</div>

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