zoukankan      html  css  js  c++  java
  • logstash数据迁移

    logstash是一个非常强大的数据迁移工具。这里主要记录今天使用到的几个简单用法。

    其中比较需要注意的是 迁移到elasticsearch的时候,output 的 elasticsearch 中的 mappings 最好自己建。虽然不自己建立logstash会自动建立,但是自动建立出来的mappings里面有些参数可能就不是我们预期想要的,导致再查询的时候出现问题。这个地方不要偷懒。

    首先配置 conf文件。

    (1)elasticsearch迁移到elasticsearch

    input {
        elasticsearch {
            hosts => ["172.19.165.221"]
            index => "v3_19q3_detail_hotel"
            size => 200
            scroll => "1m"
        }
    }
    filter {
    }
    output {
        elasticsearch {
            hosts => ["127.0.0.1"]
            index => "v4_hotel"
        }
    }

    (2)es保存到file

    input {
        elasticsearch {
            hosts => ["172.19.165.221"]
            index => "v3_19q3_detail_hotel"
            size => 100
            scroll => "1m"
        }
    }
    filter {
    }
    output {
        file {
            path => "F:/hotel/v4.json"
        }
    }

    保存json文件中数据像这样:

    image

    每一行都是一个json串。保存下来的文件一般会很大,一般的编辑器打不开,个人用VS Code打开的(因为只需要从中拿几条数据就行了)

    (3)file到es

    input {
        file {
            path => "F:/hotel/v203.json"
            start_position => "beginning"
        
            #设置编码
            codec => json {charset => "UTF-8"}
        }
    }
    filter {
    }
    output {
        elasticsearch {
            hosts => ["127.0.0.1"]
            index => "v4_hotel"
        }
    }

    conf文件配置完成后执行logstash,参照以下:

    bin/logstash -f es-es.conf

    根据个人情况需要做修改。

    需要注意的一个情况是,file到es 的情况,执行一次logstash 后,logstash似乎会缓存已经执行的数据,做第二次执行如果文件中没有数据改变时不会入库的。

    参考博客:

    https://blog.csdn.net/weixin_34268610/article/details/85072470

    https://www.cnblogs.com/yaoqingyuan/p/7293909.html

    https://blog.csdn.net/alan_liuyue/article/details/92635108


  • 相关阅读:
    Shell编程常用
    毕设问答
    《如何高效学习》
    《如何阅读一本书》(未完)
    《牧羊少年奇幻之旅》
    2019.04月总结
    上周还是合意的,且找到了一定的遵循4.6-4.12

    错误和异常
    数据结构
  • 原文地址:https://www.cnblogs.com/betterwgo/p/11958326.html
Copyright © 2011-2022 走看看