使用logstash将mysql数据导入elasticsearch中

作者:神秘网友 发布时间:2020-09-27 07:31:27

使用logstash将mysql数据导入elasticsearch中

使用logstash将mysql数据导入elasticsearch中
  1. 下载logstash-6.2.4压缩包https://pan.baidu.com/s/1tl5X4OrEUn8rYqjKq1tsnA提取码iva3
  2. 解压缩如下图解压缩后的结果使用logstash将mysql数据导入elasticsearch中
  3. 进入config文件夹创建article_template.json文件和mysql.conf文件使用logstash将mysql数据导入elasticsearch中
    1. 创建article_template.json文件,此文件是es索引的字段的格式(内容如下)
      {
          "mappings":{
              "doc":{
                  "properties":{
                      "id":{
                          "type":"text",
      					"fields": {
      						"keyword": {
      							"type": "keyword"
      						}
      					}
      
                      },
                      "qqnum":{
                          "type":"text",
      					"fields": {
      						"keyword": {
      							"type": "keyword"
      						}
      					}
                      },
                      "nick":{
                          "analyzer":"ik_max_word",
                          "search_analyzer":"ik_smart",
                          "type":"text"
                      },
      				"age":{
                         "type":"text",
      					"fields": {
      						"keyword": {
      							"type": "keyword"
      						}
      					}
                      },
      				"gender":{
                          "type":"text",
      					"fields": {
      						"keyword": {
      							"type": "keyword"
      						}
      					}
                      },
                      "auth":{
                          "type":"text",
      					"fields": {
      						"keyword": {
      							"type": "keyword"
      						}
      					}
                      },
                      "qunnum":{
                          "type":"text",
      					"fields": {
      						"keyword": {
      							"type": "keyword"
      						}
      					}
                      }
                  }
              }
          },
          "template":"groupdata1"
      }

       

    2. 创建mysql.conf文件,,,此文件是导入参数的配置使用logstash将mysql数据导入elasticsearch中
      input {
        jdbc {
          jdbc_driver_library => "D:\m2\mysql\mysql-connector-java\5.1.47\mysql-connector-java-5.1.47.jar"
          jdbc_driver_class => "com.mysql.jdbc.Driver"
          jdbc_connection_string => "jdbc:mysql://localhost:3306/GroupData1?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC"
          jdbc_user => "root"
      	jdbc_password => "123456"
      	jdbc_paging_enabled => "true"
      	jdbc_page_size => "1000000"
          #statement => "select * from tb_article where publish_time > date_add(:sql_last_value,INTERVAL 8 HOUR)"
      	statement_filepath => "C:\Users\Administrator\Documents\Navicat\MySQL\servers\bendi\gongzuoshi\toesGroupData3.sql"
      	#释放该注释表示实时同步数据
      	#不设置时只运行一次
          #schedule => "* * * * *"
          #last_run_metadata_path => "D:\Elastic\logstash-6.2.4\config\logstash_metadata"
        }
      }
      output {
       elasticsearch {
       hosts => "localhost:9200"
       #hosts => ["localhost:9200","localhost:9202","localhost:9203"]
       index => "groupdata1"
       #document_id => "%{id}"
       document_type => "doc"
        template =>"D:\elasticsearch-logstash-6.2.4\logstash-6.2.4\config\article_template.json"
        template_name =>"groupdata1"
        template_overwrite =>"true"
        }
        stdout {
        codec => json_lines
        }
      }
       
      1.  
  4. 创建mysql文件查询需要从mysql转到es的文件
  5. select ID,QQNum,Nick,Age,Gender,Auth,QunNum from(
    	select ID,QQNum,Nick,Age,Gender,Auth,QunNum  from GroupData1.Group3
    	union all select ID,QQNum,Nick,Age,Gender,Auth,QunNum  from GroupData1.Group4
    	union all select ID,QQNum,Nick,Age,Gender,Auth,QunNum  from GroupData1.Group5	
    	)t

     

  6. 进入logstash-6.2.4的bin目录执行

    logstash.bat -f ../config/mysql.conf

     

使用logstash将mysql数据导入elasticsearch中相关教程

  1. 使用PLSQL Developer连接数据库的问题解决方案

    使用PLSQL Developer连接数据库的问题解决方案 本文是根据百度经验中的文章自己修改其中的错误而来,解决windows 7 64bit 系统安装oracle client 64位,无法使用PLSQL Developer连接数据库的问题,问题的根源在于PLSQL_Developer只支持32位而不支持64位,即6

  2. 惊爆眼球数据库行业里程碑MySQL进阶最牛笔记面世

    惊爆眼球!数据库行业里程碑,MySQL进阶最牛笔记面世 另有大厂Java面试精选题、架构实战文档 整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~ 你的支持,我的动力;祝各位前程似锦,offer不断!!!

  3. 使用Android控制音乐而无需起床

    使用Android控制音乐而无需起床 Have you ever wished you could make your computer start and stop playing music without reaching for the keyboard and mouse? If you have an Android device, you can do this with just two free applications! 您是

  4. 使用简单的自制混合物蚀刻电路板

    使用简单的自制混合物蚀刻电路板 If you’ve been dabbling in DIY electronics projects but you’re not so excited about keeping strong acids around to etch your circuit boards, this simple DIY recipe uses common household chemicals in lieu of

  5. 【kubernetes集群系列(一)】Master安装(使用kubeadm)

    【kubernetes集群系列(一)】Master安装(使用kubeadm) 准备工作 1.检查centos发行版 如果不是7.6,7.7,7.8直接升级centos yum update -y kernelrpm -q kernelyum update 升级细节参考: Centos7 升级内核小版本 2.添加iptables cat EOF | sudo tee /etc/s

  6. pxe网络启动_什么是网络启动(PXE),以及如何使用它?

    pxe网络启动_什么是网络启动(PXE),以及如何使用它? pxe网络启动 Have you ever needed to troubleshoot or diagnose a problematic computer and you forgot where the utility CD is? We’ll show you how to utilize network booting (PXE) with FOG to

  7. 树莓派3 之 初次使用

    树莓派3 之 初次使用 为什么80%的码农都做不了架构师? Raspberry Pi(中文名为“树莓派”,简写为RPi,(或者RasPi / RPI) 是为学习计算机编程教育而设计,只有信用卡大小的微型电脑,其系统基于Linux。 随着Windows 10 IoT的发布,我们也将可以用上运行Windows

  8. 【Git 使用笔记】第四部分:git在公司中的开发流程

    【Git 使用笔记】第四部分:git在公司中的开发流程 为什么80%的码农都做不了架构师? 先声明几个变量 仓管A:主分支,只有master分支 仓管B:开发分支,只有各个业务开发分支 仓管B fork 于 A 如下图 为了保证 代码的稳定性,只有 仓管B中的某个分支测试完毕