在Windows平台下Elasticsearch同步MySql数据库

六月ゝ 毕业季﹏ 提交于 2020-04-28 23:32:18

 

我是用ElasticSearch的版本是elasticsearch-6.3.1

mysql的数据是5.7的,其实这个关系不大。

logstash版本是6.3.1

ElasticSearch的插件elasticsearch-head-master  ,现在加压好了,直接放在ElasticSearch目录下面就好了,这不强制。

这个是mysql的数据库连接驱动程序 mysql--connector-java-5.1.18.zip

因为使用了ElasticSearch这个插件所以还需要安装nondjs,因为需要用的npm

 

 

 

1:先启动ElasticSearch 

安装ElasticSearch的插件,直接双击/bin/ElasticSearch.bat ,启动成功后:http://127.0.0.1:9200/

 

 

2:安装,启动ElasticSearch插件

运行head需要借助grunt命令,因此需要安装grunt。所以先要安装nodejs,双加exe就可以了。然后cmd命令,node -v,如果出现版本号,说明安装成功。

然后安装grunt,npm install -g grunt  -cli ,如果在不行,就cd到nodejs的安装目录下执行这个命令。

grunt安装好了之后,在cd到你解压好的elasticsearch-head-master这个目录下面(和bin同级的那个目录)执行npm install,这里如果失败了请参考:https://blog.csdn.net/qq3401247010/article/details/78742524

启动 cd到你解压的head目录下,bin同级,执行npm run start ,执行成功后 :http://localhost:9100/

 

3,首先在logstash目录下面建一个lib,把你现在的mysql的连接驱动jar包放进去

建一个sql文件,我的是建jdbc.sql,里面是你要同步的数据表的sql语句,

SELECT
id,
sys_log_level,
project_name,
function_name,
sys_log_msg,
create_time
FROM
log_sys
ORDER BY
create_time DESC

 

这些东西都准备好了之后,修改logstash的配置文件,不是config文件夹下面的那个。上面的图中看得到就是logstash.conf

input {
	tcp {
		port=>5549
	}
	jdbc{
		jdbc_connection_string => "jdbc:mysql://192.168.2.104:33060/ygsc_scm?useSSL=false&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull"
		jdbc_user => "tt"
		jdbc_password => "2344WsL1JrUntER2Zns32WmGwr"
		jdbc_driver_library => "lib\mysql-connector-java-5.1.18-bin.jar"
		jdbc_driver_class => "com.mysql.jdbc.Driver"
		jdbc_paging_enabled => "true"
		jdbc_page_size => "50000"
		statement_filepath => "jdbc.sql"
		schedule => "* * * * *"
		type => "jdbc"
	}
}
output {
	elasticsearch {
		index => "testdb"
		document_type => "%{type}"
		hosts => ["localhost:9200"] 
	}
}

  

 这些logstash的准备工作都做好了之后,修改logstash 文件夹下Gemfile文件,将source改为:https://gems.ruby-china.org,然后进入logstash的bin目录,执行logstash-plugin install logstash-input-jdbc 这里如果有问题,请参考:https://blog.csdn.net/yowrhihoil/article/details/79568743,安装插件然后进入bin目录下执行logstash.bat -f  ogstash.conf,就可以启动起来了。

 

后面会把这启动项目做成服务的那种。就不用每次点击bat或者输入命令来启动了。

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!