logstash同步mysql数据到es

一、安装ElasticSearch

1.官网下载ElasticSearch,解压即可。(下载地址:https://www.elastic.co/downloads/elasticsearch)

2.进入安装目录下bin目录中,使用命令 ./elasticsearch 启动,启动输出信息结尾出现started 关键字,表示启动成功,使用./elasticsearch -d 命令使服务后台启动,程序默认端口为9200。

  1. 使用 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
如下图所示:
在这里插入图片描述
如果找不到文件,请检查命令路径,以及文件名称。
运行成功:
在这里插入图片描述

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值