• Logstash 安装及简单实用(同步MySql数据到Elasticsearch)(Linux)


    1、下载logstash

    wget https://artifacts.elastic.co/downloads/logstash/logstash-6.6.0.tar.gz

    2. 解压logstash

    tar -zxvf logstash-6.6.0.tar.gz

    3. 在logstash 目录创建 mysql 文件夹

    [root@VM_0_17_centos logstash-6.6.0]# mkdir mysql

    4. 将 mysql 驱动文件和数据库查询文件 放进mysql中

    5. 在config 目录下创建 mysqltoes.conf 文件

    6. mysqltoes.conf 配置

    input {
      
      # 多张表的同步只需要设置多个jdbc的模块就行了
      jdbc {
          # mysql 数据库链接,shop为数据库名
          jdbc_connection_string => "jdbc:mysql://ip:3306/mall?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true"
          # 用户名和密码
          jdbc_user => "root"
          jdbc_password => ""
    
          # 驱动
          jdbc_driver_library => "/usr/local/logstash-6.6.0/mysql/mysql-connector-java-8.0.16.jar"
    
          # 驱动类名
          jdbc_driver_class => "com.mysql.jdbc.Driver"
    
          #是否分页
          jdbc_paging_enabled => "true"
          jdbc_page_size => "50000"
    
          #直接执行sql语句
          # statement =>"select * from t_item"
          # 执行的sql 文件路径+名称
          statement_filepath => "/usr/local/logstash-6.6.0/mysql/item.sql"
          
          # 默认列名转换为小写
          lowercase_column_names => "false"
    
          #设置监听间隔  各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新
          schedule => "* * * * *"
    
          # 索引类型
          #type => "jdbc"
        }
    
    }
    
    
    output {
      elasticsearch {
            #es的ip和端口
            hosts => ["http://ip:9200"]
            #ES索引名称(自己定义的)
                index => "mall"
            #文档类型
            document_type => "mall_item"
            #设置数据的id为数据库中的字段
            document_id => "%{iteId}"
        }
        stdout {
            codec => json_lines
        }
    
    }

    7. 启动 logstash 

      前台启动:

    [root@VM_0_17_centos bin]# ./logstash -f ../config/mysqltoes.conf

      后台启动:

    [root@VM_0_17_centos bin]# nohup  ./logstash -f ../config/mysqltoes.conf >logstash.log &

    启动成功

  • 相关阅读:
    expect 函数体 花括号
    bash 连接字符串
    Ubuntu下搭建Python开发环境
    expect
    >&2
    expect语法基础: while、for 循环、if 语句的用法示例
    bash exit
    python开发工具
    eclipse中安装adt出现了duplicate location错误怎样解决
    shell source
  • 原文地址:https://www.cnblogs.com/zyulike/p/11491971.html
Copyright © 2020-2023  润新知