ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

linux 下安装并运行logstash 且导入mysql数据到Elasticsearch

2019-04-02 16:52:36  阅读:299  来源: 互联网

标签:jdbc linux 查询 Elasticsearch mysql true logstash 连接池


先找到官方下载地址:[https://artifacts.elastic.co/downloads/logstash/logstash-6.2.2.tar.gz][1]


  [1]: https://artifacts.elastic.co/downloads/logstash/logstash-6.2.2.tar.gz

这里请酌情修改:
然后解压 :tar -zxvf logstash-6.2.2.tar.gz

之后进入解压后的文件夹:cd logstash-6.2.2
创建配置文件: logstash_test.conf

 

  input {
      jdbc {
        #驱动绝对路径
        jdbc_driver_library => "/root/mysql-connector-java-5.1.43-bin.jar"
        #驱动类名
        jdbc_driver_class => "com.mysql.jdbc.Driver"
        #连接池配置, mysql数据库连接 DAHLIA 为数据库名
        jdbc_connection_string => "jdbc:mysql://10.15.206.203:3306/DAHLIA"
        #连接池配置, 使用前是否验证连接
        jdbc_validate_connection => true
        #连接池配置, 数据库用户名
        jdbc_user => "foo"
        #连接池配置, 数据库密码
        jdbc_password => "bar"
        #连接池配置, 是否启用分页, 启用后,需要使用 jdbc_page_size 设置每次查询的结果集大小
        jdbc_paging_enabled => true
        #连接池配置, 每次查询的结果集大小, 必须设置 jdbc_paging_enabled 为 true 才有效
        jdbc_page_size => "1000"
        #查询结果集的语句
        statement => "select * from tablename where id >:sql_last_value"
        #使用增量列值,而不是时间戳; 默认值为false
        use_column_value => true
        #当设置 use_column_value 为true时(不跟踪时间戳查询), 将跟踪此列值
        tracking_column => "id"
        #不设置时,默认值为 numeric; 可选 numeric, timestamp
        tracking_column_type => "numeric"
        #每分钟执行一次
        schedule => "* * * * *"
      }
    }
    
    
    filter {
        mutate {
            #删除默认message字段
            remove_field => ["@version"]
            #把数据写入到 source 字段
            source => "message"
        }
    }
    
    output {
        elasticsearch {
            hosts => ["127.0.0.1:9200"]
            index => "news_info_shadow"
            document_id => "%{id}"
        }
        stdout { codec => rubydebug }
    }

然后启动:

bin/logstash -f logstash_test.conf

这里是非后台运行:如果遇见修改分页增量创建索引配置没生效,需要删除 $HOME/.logstash_jdbc_last_run 这个文件

statement 参数可以替换为 statement_filepath, 从文件中执行sql查询; 参照


本机启动多个logstash时,需要--path.data参数:  logstash --path.data /path/to -f path/to/shipper.conf

jdbc_paging_enabled jdbc_page_size 控制是否开启查询分页, 及分页大小; 默认100000, 根据机器内存抉择


 

标签:jdbc,linux,查询,Elasticsearch,mysql,true,logstash,连接池
来源: https://blog.csdn.net/zhanqixuan22/article/details/88975062

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有