Elasticsearch导入mysql数据

安装logstash

进入logstash下的bin文件夹

cd /Users/zc/Documents/logstash-7.15.2/bin

运行

sudo ./logstash -f mysql/jdbc.conf

配置

在logstash/bin文件夹下创建mysql文件夹
在这里插入图片描述
在mysql文件夹下新建jdbc.conf 和 sql.sql文件 以及导入mysql驱动
在这里插入图片描述

jdbc.conf文件

input {
    stdin {
    }
    jdbc {
      # mysql数据库连接
      jdbc_connection_string => "jdbc:mysql://localhost:3306/shopxxb2b2c?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8&useSSL=false"
      # mysqly用户名和密码
      jdbc_user => "root"
      jdbc_password => "root"
      # 驱动配置
      jdbc_driver_library => "/Users/zc/Documents/logstash-7.15.2/bin/mysql/mysql-connector-java-8.0.27.jar"
      # 驱动类名
      jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
      #设置分页,一页1000条数据
      jdbc_paging_enabled => "true"
      jdbc_page_size => "10000"
      
      
      # 执行指定的sql文件
      statement_filepath => "/Users/zc/Documents/logstash-7.15.2/bin/mysql/sql.sql"
      
      # 是否将字段名转换为小写,默认true(如果有数据序列化、反序列化需求,建议改为false);
      #lowercase_column_names => false
 
     #执行的sql语句
      #statement => "SELECT * FROM items"
      # 设置监听 各字段含义 分 时 天 月  年 ,默认全部为*代表含义:每分钟都更新
      #schedule => "* * * * *"
      #10秒刷新一次
      #schedule => "*/10 * * * * *"
      # 索引类型
      #type => "sku"
    }
}

output {
 
    elasticsearch {
        #es服务器
        hosts => ["localhost:9200"]
        #ES索引名称
        index => "test"
        #自增ID
        document_id => "%{id}"
        #索引类型
        document_type => "_doc" 
    }
    
 
    stdout {
        codec => json_lines
    }
}

sql.sql文件

select * from student

Tips

logstash的版本必须与elasticsearch版本一致

elasticsearch/logstash/kibana的安装不做赘述
elasticsearch/kibana推荐docker安装

100万条mysql数据导入elasticsearch耗时7~8分钟

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值