zoukankan      html  css  js  c++  java
  • elasticsearch + logstash + kinaba 数据库自动同步es

    1、前置准备

    创建mysql.conf

    input {
        stdin{
        }
        jdbc {
            # mysql 数据库连接
            jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/es?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC"
            jdbc_user => "root"
            jdbc_password => "root"
            # 驱动配置
            jdbc_driver_library => "/usr/local/data/logstash/driver/mysql-connector-java-8.0.19.jar"
            jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
            jdbc_paging_enabled => "true"
            jdbc_page_size => "50000"
            # 执行的sql文件
            statement_filepath => "/usr/local/data/logstash/mysqlconfig/blog.sql"
             # 设置监听 各字段含义 分 时 天 月  年 ,默认全部为*代表含义:每分钟都更新
            schedule => "* * * * *"
            # 索引类型
            type => "blog"
        }
    }
     
     
    output {
        elasticsearch {
            #es服务器
            hosts => ["localhost:9200"]
            # es索引名称
            index => "sl_blog"
            #id自增长
            document_id => "%{id}"
        }
        
        stdout {
            codec => json_lines
        }
    }

    创建blog.sql

    select * from t_blog

    将mysql驱动包添加到指定文件夹

    /usr/local/data/logstash/driver/mysql-connector-java-8.0.19.jar

    创建测试数据库

    # 创建数据库
    create database es;
    use es;
    # 创建表
    CREATE TABLE `t_blog` (
      `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
      `title` varchar(32) DEFAULT NULL,
      `create_time` datetime DEFAULT NULL,
      `content` varchar(2000) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    # 添加数据
    INSERT INTO `t_blog` VALUES ('1', '中国', '2019-04-24 15:22:30', '中国当自强');
    INSERT INTO `t_blog` VALUES ('2', 'myblog', '2019-04-24 15:22:50', 'my blog content');
    INSERT INTO `t_blog` VALUES ('3', '上海', '2019-04-24 15:23:08', '中国上海');
    INSERT INTO `t_blog` VALUES ('4', '成都', '2020-01-03 01:48:15', '四川省会');

    2、执行

    logstash -f ../mysql/mysql.conf

    3、访问kinaba验证es数据

  • 相关阅读:
    Laravel
    Laravel
    Laravel
    Http状态信息
    BeautifuSoup的使用
    js中select标签中的option选择
    正则表达式
    利用vi编辑器创建和编辑正文文件(二)
    利用vi编辑器创建和编辑正文文件(一)
    认证、权限与频率组件
  • 原文地址:https://www.cnblogs.com/liweixml/p/15246839.html
Copyright © 2011-2022 走看看