zoukankan      html  css  js  c++  java
  • 使用logstash同步MongoDB数据到es

    input{
      mongodb{
            codec => "json"
            uri => 'mongodb://127.0.0.1:27017/kuaibao'
            placeholder_db_dir => '/usr/local/etc/logstash-5.6.0/dbdir'
            placeholder_db_name =>'user.db'
            collection => 'user'
            generateId => 'true'
            parse_method => "simple"
        }
    }
    
    filter{
      mutate{remove_field => ["_id"]}
    }
    
    output{
     elasticsearch{
      hosts => ["http://127.0.0.1:9200"]
      index => "ordertrance"
      manage_template=>true
      document_type=>"user"
    }
    stdout {
            codec => json_lines
        }
    }
    

      

    配置如上图,遇到一个坑,卡了我两天,我去。。。。

    刚开始我的placeholder_db_dir是配置成了/usr/local/etc/logstash-5.6.0,也就是logstash的根目录,谁成想配置成这样居然不好使,各种百度各种谷歌,明明跟人家的配置都是一样的,我的就是同步不就去es。差点去世,最后鬼使神差的试着修改了一下placeholder_db_dir,居然可以了,吐血。。。

    进行到最后一步,MongoDB自定义主键无法同步,报错MongoDB Input threw an exception, restarting {:exception=>#<BSON::ObjectId::Invalid: 'zj11111111111111111111' is an invalid ObjectId.>}

    百度谷歌无果,准备使用mongo-connector试一下

  • 相关阅读:
    奇技淫巧训练之一
    基于JS模块化现状谈谈选择ES6模块的原因
    vue-cli3项目搭建配置以及性能优化
    Umi + DvaJS
    ReactFragment用法介绍
    什么是纯函数
    10.25考试
    10.23考试
    线段树合并(雨天的尾巴 题解)
    10.21考试
  • 原文地址:https://www.cnblogs.com/zjdeblog/p/11183865.html
Copyright © 2011-2022 走看看