win7 mysql同步数据到elasticsearch
安装java
先安装JDK1.8(包括)以上版本,并设置好环境变量,然后cmd输入java –version验证
elasticsearch部署和启动
win7下单实例安装elasticsearch-7.12.0很简单,下载后解压进入elasticsearch-7.12.0/bin目录,打开cmd,直接运行bin\elasticsearch.bat即可,如果启动没作用,需要先双击一下bin\elasticsearch-service-x64.exe
然后浏览器中访问es默认地址页面,证明此次ES安装成功
下载地址:https://www.elastic.co/downloads/elasticsearch
elasticsearch-head部署和启动
1第一种通过chrome安装插件的方式提供一个可操作es的图形化界面。
在chrome 浏览器中,通过“扩展程序” 添加 elasticsearch head 插件的方式,这种方式无须开启 es的跨域访问。
1、打开链接
谷歌浏览器访问http://extb.cqttech.com/search/elasticsearch%2520head
根据提示下载安装谷歌双核浏览器
2、安装下图中插件
3、点击放大镜图标使用插件
2第二种服务器Elasticsearch-head插件的安装与配置
1.安装node.js,最新版的node.js不支持win7了,所以安装了版本10
2安装后设置环境变量,然后cmd输入node –v验证
3执行 npm install -g grunt-cli 安装grunt ,安装完成后执行grunt -version查看是否安装成功,会显示安装的版本号
4下载elasticsearch-head, 下载地址:https://github.com/mobz/elasticsearch-head
5进入head下执行npm install 安装完成后执行grunt server 或者npm run start 运行head插件
logstash和logstashLogstash-input-jdbc部署
1.软件下载
官网地址:https://www.elastic.co/cn/downloads/past-releases/#logstash
2.下载后直接解压即可使用
3.启动并验证
打开cmd命令行,进入dos窗口,切换到logstash安装路径下的bin目录,执行以下命令:
logstash -e "input { stdin { } } output { stdout {} }"
正常可以看到如图打印启动成功的信息:
安装logstash-input-jdbc插件
【新版本logstash下自带logstash-input-jdbc,故不需要安装logstash-input-jdbc】
CMD命令行切换到bin目录,执行以下命令安装Logstash-input-jdbc插件:
logstash-plugin install logstash-input-jdbc
mysql java驱动文件下载
解压后把mysql-connector-java-8.0.23.jar放到logstash-7.12.0路径 下
mysql同步数据到es操作
1,在mysql中创建一个可以用于测试的数据库logstash_jdbc_test
执行以下脚本,创建一个表:
create table testtable (PersonID int, LastName varchar(255), FirstName varchar(255), City varchar(255), Date datetime(6));
往表中插入数据:
INSERT INTO testtable (PersonID, LastName, FirstName, City, Date)
VALUES ('4005','Kallis','Jaques','Cape Town','2016-05-23 16:12:03.568810');
INSERT INTO testtable (PersonID, LastName, FirstName, City, Date)
VALUES ('4004','Baron','Richard','Cape Town','2016-05-23 16:12:04.370460');
INSERT INTO testtable (PersonID, LastName, FirstName, City, Date)
VALUES ('4003','McWell','Sharon','Cape Town','2016-05-23 16:12:06.874801');
结果如下
2,将数据导入es
Logstash 配置
在logstash文件夹中,我们要有一个logstash.conf和jdbc.sql文件,该文件是要配置并运行以获取必要结果的文件
logstash.conf如下
input {
jdbc {
jdbc_connection_string => "jdbc:mysql://localhost:3306/logstash_jdbc_test?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC"
jdbc_user => "root"
jdbc_password => "123456"
jdbc_driver_library => "E:\logstash-7.12.0\mysql-connector-java-8.0.23.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_paging_enabled => "true"
jdbc_page_size => "50000"
statement_filepath => "E:\logstash-7.12.0\bin\jdbc.sql"
schedule => "* * * * *"
type => "jdbc"
}
}
filter {
json {
source => "message"
remove_field => ["message"]
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "test-migrate"
document_type => "data"
document_id => "%{person_id}"
}
stdout {
codec => json_lines
}
} jdbc.sql内容如下:
select * from testtable
将这两个文件放在logstash文件的bin下
然后进入logstash文件的 bin目录下执行cmd命令logstash.bat -f logstash.conf
即可启动监听,然后你会发现你的数据已经导入到es之中,而且insert和update的时候也会同步进去,修改mysql上的数据后也同样会同步到es
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构