同步mysql数据到ElasticSearch

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zch3210/article/details/88696495

一、安装logstash

1 下载logstash

注意下载的版本要和你的elasticsearch的版本号一致

Logstash下载:https://www.elastic.co/downloads/logstash

2 在logstash文件目录下创建一个文件夹,命名随意,如config_mysql

2.1新建mysql.conf文件

input {
    jdbc {
	    #数据库
        jdbc_connection_string => "jdbc:mysql://localhost:3306/test"
		#用户名密码
		jdbc_user => "root"
        jdbc_password => ""
		#jar包的位置
        jdbc_driver_library => "C:\es\logstash-6.6.2\config_mysql\mysql-connector-java-5.1.38.jar"
        jdbc_driver_class => "com.mysql.jdbc.Driver"
        jdbc_paging_enabled => "true"
        jdbc_page_size => "50000"
		#jdbc的位置
        statement_filepath => "C:\es\logstash-6.6.2\config_mysql\jdbc.sql"
        schedule => "* * * * *"
        type => "jdbc"
    }
}

filter {
    json {
        source => "message"
        remove_field => ["message"]
    }
}

output {
    elasticsearch {
        hosts => ["localhost:9200"]
		# index名
        index => "person"
		# 需要关联的数据库中有有一个id字段,对应索引的id号
        document_id => "%{person_id}"
    }
    stdout {
        codec => json_lines
    }
}

2.2 新建jdbc文件

select * from testtable

2.3 加入mysql的驱动 mysql-connector-java-5.1.38.jar

2.4 同步的数据表如下

3 启动logstash

logstash.bat -f ../config_mysql/mysql.conf,启动完成后,稍等片刻,我们就可以看到同步的数据了

猜你喜欢

转载自blog.csdn.net/zch3210/article/details/88696495