大家好,今天突发奇想,,学习拉一下Elasticsearch,今天来跟大家分享一下,平时不熬夜得的我,最近熬夜搞这个东西,可能不是那么完美,也会有小bug,所以请大家谅解
1:安装Elasticsearch
去官网下载https://www.elastic.co/cn/downloads/elasticsearch
下面运行Elasticsearch
下载完解压即可:直接双击/bin/ElasticSearch.bat
运行成功之后,就在浏览器输入http://localhost:9200
如图所示;
二:安装elasticsearch-head
这里不做详情解说哦;
然后我们:
同样输入框:cmd 到该目录
输入命令 npm install 回车执行
输入 npm run start 启动服务
这样之后在浏览器中输入:http://localhost:9100 查看
三、安装logstash
下载地址:https://www.elastic.co/downloads/logstash
解压压缩包之后我们就连接数据库
logstash-mysql.conf 文件内容
input {
stdin {
}
#如果需要同步多个表,那么重复配置jdbc{}这一部分,只需要修改表相关的部分
jdbc {
# 数据库 数据库名称为test,表名为users
jdbc_connection_string => "jdbc:mysql://localhost:3306/elasticsearch"
# 用户名密码
jdbc_user => "root"
jdbc_password => "******"
# jar包的位置(把jar包直接放到logstash-core/lib/jars下)
jdbc_driver_library => "E:\logstash-7.4.2\logstash-core\lib\jars\mysql-connector-java-5.1.39-bin.jar"
# mysql的Driver
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_paging_enabled => "true"
jdbc_page_size => "50000"
#statement_filepath => "config-mysql/book.sql"
#这里的sql效果是:全量同步、增量更新users表。 如果需要全量同步以及更新users表,则select * from users即可。
statement => "select * from car"
#定时字段 各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新(cron表达式)
schedule => "* * * * *"
#索引的类型
type => "_doc"
}
}
filter {
json {
source => "message"
remove_field => ["message"]
}
}
output {
elasticsearch {
hosts => "127.0.0.1:9200"
# index名
index => "goods"
# 需要关联的数据库中要有一个id字段(最好就是表的主键),对应索引的id号
document_id => "%{cid}"
}
stdout {
codec => json_lines
}
}
切记,有些东西改成自己;然后这个conf放在logstash-7.4.2中bin目录下
现在我们打开cmdÿ