Download the appropriate dist package from the top plugin website and unzip it. Into the bin directory, you can see a bunch of sh scripts. Create a test.sh in the bin directory:
Bin=/home/csonezp/dev/elasticsearch-jdbc-2.3.1.0/bin
Lib=/home/csonezp/dev/elasticsearch-jdbc-2.3.1.0/lib
Echo ' {
"Type": "JDBC",
"Statefile": "Statefile.json",
"JDBC": {
"url": "Jdbc:mysql://myaddr",
"User": "MyUser",
"Password": "MyPwd",
"Type": "MyType",
"Index": "Myindex",
"Schedule": "0 * * * *?",
"Metrics": {"Enabled": True
},
"SQL": [{"Statement": "SELECT * from Gd_actor_info where update_time >?", "parameter": ["$metrics. Lastexecutionst Art "]}
]
}
} ' | Java \
-CP "${lib}/*" \
-dlog4j.configurationfile=${bin}/log4j2.xml \
Org.xbib.tools.Runner \
Org.xbib.tools.JDBCImporter
Schedule is now set to execute once every minute to facilitate observing behavior. Statefile This sentence must be added. $metrics. Lastexecutionstart is the key to this script, which refers to the last time the script was executed, and can be used to compare the time and the fields in the database to determine whether to update.
Elasticsearch MySQL incremental sync three-table federated script
The above briefly said about the ES synchronization data script, but the actual situation is certainly not as simple as the script in the previous article. For example, I now have three tables, two entity tables, and an association table. The approximate implementation is as follows:
The bin directory establishes a Statefile.json file:
{
"Type": "JDBC",
"Statefile": "Statefile.json",
"JDBC": {
"url": "jdbc:mysql://",
"User": "",
"Password": "",
"Type": "Actor",
"Index": "Test",
"Schedule": "0 * * * *?",
"Metrics": {
"Lastexecutionstart": "0",
"Lastexecutionend": "0",
"Counter": "1"
},
"SQL": [{"Statement": "Select a.actor_id as _id, A.*,group_concat (b.tag_name) as Tag_name from ((Gd_actor_info as a Left join Gd_actor_tag as AB in a.actor_id = ab.actor_id) left join Gd_tag_actor as B on ab.tag_id = b.tag_id) where a.up Date_time;? or Ab.update_time >? GROUP by a.actor_id "," parameter ": [" $metrics. Lastexecutionstart "," $metrics. Lastexecutionstart "]}
]
}
}
The main lastexecutionstart is set to 0, in order for the first execution to be able to perform a full-scale backup.
In fact, the SH script information is on the top, and then write a good
ElasticSearch Latest Version 2.20 released downloads http://www.linuxidc.com/Linux/2016-02/128166.htm
Install deployment Elasticsearch full record on Linux http://www.codesec.net/Linux/2015-09/123241.htm
Elasticsearch Installation using tutorial http://www.codesec.net/Linux/2015-02/113615.htm
ElasticSearch configuration file Translation parsing http://www.codesec.net/Linux/2015-02/114244.htm
Elasticsearch Cluster Building Example http://www.codesec.net/Linux/2015-02/114243.htm
Distributed search Elasticsearch stand-alone and server environment construction http://www.codesec.net/Linux/2012-05/60787.htm
The working mechanism of Elasticsearch http://www.codesec.net/Linux/2014-11/109922.htm
Elasticsearch installation, operation and basic configuration http://www.codesec.net/Linux/2016-07/2881064151.htm
Use Elasticsearch + Logstash + Kibana to build a log centralized analytics platform Practice http://www.codesec.net/Linux/2015-12/126587.htm
Ubuntu 14.04 Build Elk Log Analysis System (Elasticsearch+logstash+kibana) http://www.codesec.net/Linux/2016-06/132618.htm
Elasticsearch1.7 upgrade to 2.3 practice summary http://www.codesec.net/Linux/2016-11/137282.htm
Elasticsearch MySQL incremental synchronization Three-table union script