windows 安装logstach进行同步mysql到Elasticsearch

工作需要,要同步mysql数据到Elasticsearch,比较好的方案是使用logstach,还需要安装一个logstash-input-jdbc插件来进行同步

先从官网下载logstach,注意版本一定要一致,不然不支持

windows 安装logstach进行同步mysql到Elasticsearch_第1张图片

 

下载后解压,进入bin目录

新建一个logstash.conf文件,文件名随意取,启动正确到自己文件名就行。我这里是新建了一个mysql文件夹,再新建的一个mysql.conf

如果出现以下错误,有可能是这些问题:mysql.cnf文件编码格式很严格,必须是UTF-8无BOM模式编码的,而且内容对空格等要求也很严格,换行后的文件内容必须是tab的空格,键盘空格键不行(自己测试的)

windows 安装logstach进行同步mysql到Elasticsearch_第2张图片

如果新建的文件不是,可以使用notpad++进行转换

windows 安装logstach进行同步mysql到Elasticsearch_第3张图片

mysql.conf配置:

input {
	jdbc {
		jdbc_driver_library => "D:\repository\mysql\mysql-connector-java\5.1.40\mysql-connector-java-5.1.40.jar"
		jdbc_driver_class => "com.mysql.jdbc.Driver"
		jdbc_connection_string => "jdbc:mysql://xxx.xxx.xxx.xx:3306/mypinyu?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false"
		jdbc_user => "root"
		jdbc_password => "Goodlan@123"
		# 定时器 多久执行一次SQL,默认是一分钟
		schedule => "* * * * *"
		#是否清除 last_run_metadata_path 的记录,如果为真那么每次都相当于从头开始查询所有的数据库记录
		clean_run => "false"
		#或者以下方式指定sql文件 :sql_last_value为1970-01-01 00:00:00
		statement => "SELECT * FROM sys_user"  
		# 执行的sql 文件路径+名称
		#statement_filepath => "C:\Users\admin\Desktop\logstash-5.0.2\bin\mysql\jdbc.sql"
		jdbc_paging_enabled => "true"
		jdbc_page_size => "100000"
		# 索引类型
		type => "jdbc"
	}
    stdin{
    }
} 

#filter { json { source => "message" remove_field => ["message"] } }
 
output {
	elasticsearch { 
		hosts => "localhost:9200"
		index=> "mypinyu"
		document_id => "%{id}"
	}
    stdout{
		# JSON格式输出
        codec => "json_lines"
    }
}

hosts:elasticsearch的地址

index:同步数据过来的索引名称

安装logstash-input-jdbc:

进入logstach/bin目录

命令:.\logstash-plugin.bat install logstash-input-jdbc

出现以下内容标识安装成功

windows 安装logstach进行同步mysql到Elasticsearch_第4张图片

启动logstach:

可以直接输入命令,也可以创建文件的方式

命令输入:logstash -f C:\Users\admin\Desktop\logstash-5.0.2\bin\mysql\mysql.conf

我是新建了一个run.bat文件来启动,方便点

run.bat文件内容就是  logstash -f C:\Users\admin\Desktop\logstash-5.0.2\bin\mysql\mysql.conf

双击run.bat

数据同步:

windows 安装logstach进行同步mysql到Elasticsearch_第5张图片

 

同步方式可以增量同步,也可以全量

自己配置即可。

到此完成mysql和elasticsearch的数据同步

 

你可能感兴趣的:(java,mysql,Elasticsearch)