es连接mysql数据库

一、安装ElasticSearch

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

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

  1. 使用 http://localhost:9200 访问,结果如下
    es连接mysql数据库

4.当前服务只允许本机访问,想要外网访问,想要修改安装目录下config目录中的elasticsearch.yml文件,
在yml文件中加入 network.host: 0.0.0.0 ,表示所有IP都可以访问。

二、安装logstash

logstash 可以直接和数据库关联,并且自动根据数据库中的数据更新索引。

安装版本需要和elasticsearch的版本一致。

1.下载安装包,上传到自定义的安装目录即可。(下载地址:https://www.elastic.co/downloads/logstash)

2.进入安装目录的bin目录中,执行如下命令:

./logstash -e ‘input { stdin { } } output { stdout {} }’
es连接mysql数据库

3.连接mysql

停掉logstash。

下载mysql JDBC驱动jar包,(下载地址:https://www.mysql.com/products/connector/)将jar包放在logstash目录下,

在 bin目录中新建文件 logstash-mysql.conf 。

logstash-mysql.conf 文件内容

input {
    stdin {
    }
    jdbc {
      # 数据库  数据库名称为elk,表名为book_table
      jdbc_connection_string => "jdbc:mysql://localhost:3306/elk"
      # 用户名密码
      jdbc_user => "root"
      jdbc_password => "root"
      # jar包的位置
      jdbc_driver_library => "/usr/elastic/logstash-6.5.3/mysql-connector-java-8.0.13.jar"
      # mysql的Driver
      jdbc_driver_class => "com.mysql.jdbc.Driver"
      jdbc_paging_enabled => "true"
      jdbc_page_size => "50000"
      #statement_filepath => "config-mysql/book.sql"
      statement => "select * from book_table"
      schedule => "* * * * *"
	  #索引的类型
      type => "book"
    }
}
 
filter {
    json {
        source => "message"
        remove_field => ["message"]
    }
}
 
output {
    elasticsearch {
        hosts => "127.0.0.1:9200"
        # index名
		index => "elk"
		# 需要关联的数据库中有有一个id字段,对应索引的id号
        document_id => "%{id}"
    }
    stdout {
        codec => json_lines
    }
}

再次启动logstash,进入bin目录,执行命令:

./logstash -f logstash-mysql.conf
数据库中数据就被读取出来了。

上一篇:如何设置kibana界面语言


下一篇:3. Elasticsearch 索引基本操作