一、安装ElasticSearch
1.官网下载ElasticSearch,解压即可。(下载地址:https://www.elastic.co/downloads/elasticsearch)
2.进入安装目录下bin目录中,使用命令 ./elasticsearch 启动,启动输出信息结尾出现started 关键字,表示启动成功,使用./elasticsearch -d 命令使服务后台启动,程序默认端口为9200。
- 使用 http://localhost:9200 访问,结果如下
4.当前服务只允许本机访问,想要外网访问,想要修改安装目录下config目录中的elasticsearch.yml文件,
在yml文件中加入 network.host: 0.0.0.0 ,表示所有IP都可以访问。
二、安装logstash
Logstash是一款轻量级的日志搜集处理框架,可以方便的把分散的、多样化的日志搜集起来,并进行自定义的处理,然后传输到指定的位置,比如某个服务器或者文件
logstash 可以直接和数据库关联,并且自动根据数据库中的数据更新索引。
安装版本需要和elasticsearch的版本一致。
1、下载logstash
地址: https://www.elastic.co/cn/downloads/logstash
2、下载: mysql-connector-java.jar
在logstash目录下创建一个mysql目录,把驱动文件放进去。
2、修改配置文件
在安装目录下,创建新的配置文件,命名为:mysqltoes.conf
这个文件名可以换成其他的,启动时脚本命令改成对应的就可以了。
在文件中加入以下内容:
input {
# 多张表的同步只需要设置多个jdbc的模块就行了
jdbc {
# mysql 数据库链接,shop为数据库名
jdbc_connection_string => "jdbc:mysql://数据库IP地址:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC"
# 用户名和密码
jdbc_user => "root"
jdbc_password => ""
# 驱动
jdbc_driver_library => "E:/DevelopEnvironment/Logstash/logstash-7.2.0/mysql/mysql-connector-java-8.0.16.jar"
# 驱动类名
jdbc_driver_class => "com.mysql.jdbc.Driver"
#是否分页
jdbc_paging_enabled => "true"
jdbc_page_size => "50000"
#直接执行sql语句
statement =>"select * from employee"
# 执行的sql 文件路径+名称
# statement_filepath => "/hw/elasticsearch/logstash-6.2.4/bin/test.sql"
#设置监听间隔 各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新
schedule => "* * * * *"
# 索引类型
#type => "jdbc"
}
}
output {
elasticsearch {
#es的ip和端口
hosts => ["http://ip:9200"]
#ES索引名称(自己定义的)
index => "blog"
#文档类型
document_type => "log"
#设置数据的id为数据库中的字段
document_id => "%{id}"
}
stdout {
codec => json_lines
}
}
需要配置好:
数据库地址、数据库账号密码、数据库驱动路径、查询语句、定时扫描时间
es地址、索引、类型、主键字段
配置好后,打开cmd窗口进入mysql文件夹,敲入启动命令:
logstash -f mysqltoes.conf如下图所示:如果找不到文件,请检查命令路径,以及文件名称。
运行成功: