下载安装

  • 一定要对应ES版本(5.x,6.x,7.x)
  • win下不用安装解压即用 , 解压目录不能带有空格和中文 , 否则会有奇奇怪怪的报错无法运行
  • win下要给logstash文件夹赋予管理员权限 , 否则执行的时候会读取不到文件

    下载地址:https://github.com/elastic/logstash/releases



    解压出来文件夹内容

编写脚本

  • 在mysql2es文件夹中创建脚本 , 方便后续使用修改
  • 在mysql2es文件夹中放一个MySQL的驱动jar包 , 后续会使用
input {
jdbc {
# mysql 连接地址
jdbc_connection_string => "jdbc:mysql://10.0.5.167:3306/law?useUnicode=true&characterEncoding=utf-8&useSSL=false"
# 用户名 密码
jdbc_user => "1234"
jdbc_password => "4321"
# mysql 驱动jar包的绝对路径,不要有中文目录不要有空格
jdbc_driver_library => ".\mysql2es\mysql-connector-java-8.0.20.jar"
# mysql 驱动Class
jdbc_driver_class => "com.mysql.jdbc.Driver"
# 是否开启分页 true开启
jdbc_paging_enabled => "true"
# 分页大小 10000条一页
jdbc_page_size => "10000"
# sql语句的配置文件路径,如果sql语句比较长,那么写在文件里指定路径
#statement_filepath => ""
# sql语句 select * 字段就全部添加到ES里了,如果要指定指定字段 select id,name ...
statement => "SELECT * FROM A"
#定时字段 各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新(测试结果,不同的话请留言指出)
schedule => "* * * * *"
}
} output {
elasticsearch {
#ES IP地址与端口
hosts => "esIP地址:端口号"
#ES索引名称(自己定义的)
index => "xxx"
#自增ID编号 这里是固定语法 %{} 里面写mysql表那个字段就用那个字段作为ES _id 的值
document_id => "%{id}"
# ES 下的 type
document_type => "xxx"
}
# 控制台输出输入流和输出流
stdout {
#以JSON格式输出
codec => json_lines
}
}

从MySQL表中查询出字段 , 对应ES索引中的结构 , 导入数据


执行脚本

  • 用管理员cmd窗口进入logstash下的bin目录
  • 执行命令 logstash -f ../mysql2es/mysql.conf
  • 等待执行完毕 , 关闭cmd窗口

logstash从MySQL导入数据到ES的更多相关文章

  1. Logstash同步mysql数据库信息到ES

    @font-face{ font-family:"Times New Roman"; } @font-face{ font-family:"宋体"; } @fo ...

  2. 安装配置elasticsearch、安装elasticsearch-analysis-ik插件、mysql导入数据到elasticsearch、安装yii2-elasticsearch及使用

    一.安装elasticsearch 获取elasticsearch的rpm:wget https://download.elastic.co/elasticsearch/release/org/ela ...

  3. 使用Sqoop从MySQL导入数据到Hive和HBase 及近期感悟

    使用Sqoop从MySQL导入数据到Hive和HBase 及近期感悟 Sqoop 大数据 Hive HBase ETL 使用Sqoop从MySQL导入数据到Hive和HBase 及近期感悟 基础环境 ...

  4. mysql导入数据到oracle中

    mysql导入数据到oracle中. 建立Oracle表: CREATE TABLE "GG_USER" ( "USERID" BYTE) NOT NULL, ...

  5. mysql导入数据load data infile用法

    mysql导入数据load data infile用法 基本语法: load data [low_priority] [local] infile 'file_name txt' [replace | ...

  6. 使用sqoop从mysql导入数据到hive

      目录 前言 一.使用的导入命令 二.遇到的问题及解决 1. 用文本字段进行分区的问题 2. Hadoop历史服务器Hadoop JobHistory没开启的问题 3. 连接元数据存储数据库报错 4 ...

  7. MYSQL导入数据出现The MySQL server is running with the --secure-file-priv

    MYSQL导入数据出现The MySQL server is running with the --secure-file-priv option so it cannot execute this ...

  8. MySQL导入数据遇到Error Number: 1467 Failed to read auto-increment value from storage engine错误

    MySQL导入数据遇到Error Number: 1467 Failed to read auto-increment value from storage engine错误 创建表的语句 CREAT ...

  9. 三十三、MySQL 导入数据

    MySQL 导入数据 本章节我们为大家介绍几种简单的 MySQL 导出的数据的命令. 1.mysql 命令导入 使用 mysql 命令导入语法格式为: mysql -u用户名 -p密码 < 要导 ...

  10. 教程 | 使用Sqoop从MySQL导入数据到Hive和HBase

    基础环境 sqoop:sqoop-1.4.5+cdh5.3.6+78, hive:hive-0.13.1+cdh5.3.6+397, hbase:hbase-0.98.6+cdh5.3.6+115 S ...

随机推荐

  1. mybatis -plus基础

  2. antd DatePicker限制日期的选择

    import React from 'react'; import ReactDOM from 'react-dom'; import {Input,DatePicker,Form,Col,Butto ...

  3. Java方法之什么是方法?

    方法详解 何谓方法? System.out.println(),那么它是什么呢? 1.System:类 2.out:对象 3.println():方法 Java方法是语句的集合,它们在一起执行一个功能 ...

  4. 在Tomcat中部署Web项目的操作方法(必看篇)

    在这里介绍在Tomcat中部署web项目的三种方式: 1.部署解包的webapp目录 2.打包的war文件 3.Manager Web应用程序 一:部署解包的webapp目录 将Web项目部署到Tom ...

  5. UE4.27 新版本像素流送插件配置

    UE4.27 像素流送新版插件部署命令 以下内容参考自UE5官方文档:https://docs.unrealengine.com/5.0/en-US/unreal-engine-pixel-strea ...

  6. 第八章 mysql的主从复制

    mysql的主从复制 一 主从复制搭建 1. 准备三台主机  (这个是多实例) 3307 master3308 salve13309 salve2 2. master 节点设置 [mysqld] lo ...

  7. 记录aop失效问题

    例子:转账demo 使用技术:基于注解的方式实现,aop也是通过注解实现(Spring) 出现问题:aop已经写好,但是没有生效 原因:1.切入点是否正确(不是本问题) 2.基于注解方式实现,没有配置 ...

  8. Kubernetes--用kubeadm搭建集群环境

    架构 k8s的组件架构图 OCI (Open Container Initiative) 开放容器标准.是一个轻量级,开放的治理结构(项目),在 Linux 基金会的支持下成立,致力于围绕容器格式和运 ...

  9. HFSS 报错汇总

    多层pcb,背地共面波导微带线: 建模时如下结构:Top+diel1+diel2+diel3+diel4+diel5,参考层都应该在diel内部,否则会出现如下报错: [warning] Port r ...

  10. SQL-建表注释

    ddl 是对表结构的操作 create(创建)命令.alter(修改)命令.drop(删除)dml 是对表数据的操作 insert(插入)命令.update(更新)命令.delete(删除) alte ...