环境
1.elasticsearch 环境 7.8.0版本
2.kibana 7.8.0版本
3.logstash windows版本 7.8.0版本
具体过程
1、安装logstash 到官网下载就可以,最好是跟elastic search的版本一样就可以
2、解压logstash
3、进入bin目录
4.把你Java代码中用的mysql-connector-java的jar包复制到logstash的目录中,下面的配置文件中用得到路径。
5.创建一个logstash.conf (名字可以随便起,只要启动的时候就可以,不要有中文的文件夹)
input {
jdbc {
jdbc_driver_library => "C:/Users/admin/Desktop/elasticsearch-t/logstash-7.8.0/logstash-7.8.0/mysql-connector-java/8.0.23/mysql-connector-java-8.0.23.jar"
jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
jdbc_connection_string => "jdbc:mysql://localhost:3306/hotel?useSSL=false"
jdbc_user => "root"
jdbc_password => "123456"
statement => "SELECT * FROM tb_hotel"
jdbc_paging_enabled => "true"
jdbc_page_size => "50000"
jdbc_default_timezone => "UTC"
schedule => "* * * * *"
}
}
output {
elasticsearch {
hosts => ["127.0.0.1:9200"]
index => "hotel"
document_id => "%{id}"
}
stdout {
codec => json_lines
}
}
请确保替换配置文件中的以下参数:
C:/Users/admin/Desktop/elasticsearch-t/logstash-7.8.0/logstash-7.8.0/mysql-connector-java/8.0.23/mysql-connector-java-8.0.23.jar
:指向你的MySQL驱动程序JAR文件的路径。jdbc_connection_string
:为你的MySQL数据库名称。jdbc_user
和jdbc_password
:替换为你的MySQL用户名和密码。statement
:替换为你要同步的MySQL查询语句,可以根据需要自定义。此示例使用了一个modified_at
字段,用于仅同步修改时间大于上次同步时间的数据。hotel
:替换为你要将数据存储到的Elasticsearch索引名称。- hosts:可以更换服务器中的代码和端口号,我的是Windows中启动的,所以我的是本机的地址
6.cmd进入到bin目录
在命令行中输入
logstash -f logstash.conf
后面的logstash.conf是刚才的配置文件
如果启动成功了访问http://localhost:9600
配置文件启动成功后,会自动把MySQL中的数据同步到elasticsearch中