Logstash应用-同步ES(elasticsearch)到HDFS

这篇具有很好参考价值的文章主要介绍了Logstash应用-同步ES(elasticsearch)到HDFS。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Logstash应用-同步ES(elasticsearch)到HDFS,数据同步,elasticsearch,hdfs,logstash

1.场景分析

现有需求需要将elasticsearch的备份至hdfs存储,根据以上需求,使用logstash按照天级别进行数据的同步

2.重难点

  • 数据采集存在时间漂移问题,数据保存时使用的是采集时间而不是数据生成时间
  • 采用webhdfs无法对文件大小进行设置
  • 解决@timestamp时区问题

3.问题解决

3.1 安装webhdfs插件

./bin/logstash-plugin install logstash-output-webhdfs

3.2 logstash配置

input{
      elasticsearch{
        hosts => "xxxx:9200"
        index => "xxxx"
        #自定义查询
        query => '{"query": {"range": {"create_time":{"gte": 1704668760000,"lte": 1704668820000}}}}'
        size => 10000
        scroll => "5m"
        slices => 1
        user => "xxx"
        password => "xxxx"
      }
}
filter {
    date {  
        #增加@timestamp,并将记录产生时间赋值给@timestamp,时间处理默认是按照@timestamp的时间
        match => ["create_time","UNIX_MS"]
        timezone => "Asia/Shanghai"
        target => "@timestamp"
    }
    #增加一个timestamp,对@timestamp时间增加8小时
    ruby {   
       code => "event.set('timestamp', event.get('@timestamp').time.localtime + 8*60*60)"   
     } 
     #将timestamp赋值给@timestamp
     ruby {  
       code => "event.set('@timestamp',event.get('timestamp'))"  
     }
     #设置导入到hdfs的文件数量,需要增加一个字段,当然也可以用时间来控制文件数量,但是只有固定的几个数字,此处按照3个文件控制
     ruby {   
       code => "event.set('sync_bucket', event.get('created')%3)"   
     }
     #删除上处增加的临时字段timestamp  
     mutate {  
        remove_field => ["timestamp"]  
     }  
}
output {
  webhdfs {
    #高可哟集群需要配置standby
    standby_host => "xxx"
    standby_port => 9870
    host => "xxxx"
    port => 9870
    path => "/hadoop/test/part_day=%{+YYYYMMdd}/logstash-%{sync_bucket}.log"
    #按照时间控制文件生成数量,+a是上下午的意思
    #path => "/hadoop/dm_dw/on/ods/ods_cc_es_initLogPro_di/part_day=%{+YYYYMMdd}/logstash-%{+a}.log"
    user => "hadoop"
    compression => "gzip"
    idle_flush_time => 60
    codec => "jsonlines"
  }

}

logstash时间处理官网:https://www.elastic.co/guide/en/logstash/current/plugins-filters-date.html#plugins-filters-date-match
比较不错的logstash介绍网站:https://doc.yonyoucloud.com/doc/logstash-best-practice-cn/get_start/full_config.html文章来源地址https://www.toymoban.com/news/detail-792563.html

到了这里,关于Logstash应用-同步ES(elasticsearch)到HDFS的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • logstash同步mysql数据到es(三、es模板问题)

     相关问题汇总: logstash同步mysql数据到es(一、es模板问题,请求返回400) logstash同步mysql数据到es(二、jdbc_driver_library问题)_(please check user and group permissions for the p-CSDN博客 logstash同步mysql数据到es(三、es模板问题)-CSDN博客 使用docker实现logstash同步mysql到es-CSDN博客 [INFO ] 2023-12-11 09

    2024年01月17日
    浏览(79)
  • logstash同步数据从kafka到es集群

    背景:需求是这样的,原始文件是txt文件(每天300个文件),最终想要的结果是每天将txt中的数据加载到es中,开始的想法是通过logstash加载数据到es中,但是对logstash不太熟悉,不知道怎么讲程序弄成读取一个txt文件到es中以后,就将这个txt原始文件备份并且删除掉,然后就想

    2024年02月15日
    浏览(42)
  • Docker部署Logstash同步Mysql数据到ES

    页面访问 ip:9200端口,出现下面页面部署成功 成功日志

    2024年04月13日
    浏览(41)
  • Logstash同步MySQL数据到ElasticSearch

    当MySQL数据到一定的数量级,而且索引不能实现时,查询就会变得非常缓慢,所以使用ElasticSearch来查询数据。本篇博客介绍使用Logstash同步MySQL数据到ElasticSearch,再进行查询。 测试环境 Windows系统 MySQL 5.7 Logstash 7.0.1 ElasticSearch 7.0.1 Kibana 7.0.1 ELK工具下载可访问:https://www.elastic

    2024年02月01日
    浏览(42)
  • 通过logstash实现mysql与es的双向数据同步

    参考题目 一种基于MySQL和Elasticsearch的数据同步方法及系统 基于MySQL和Elasticsearch的数据同步方法 一种基于MySQL和Elasticsearch的数据同步系统 基于MySQL和Elasticsearch的数据同步技术 目录 1【理论调研】 方案1:使用Logstash实现数据同步 方案2:使用Canal实现数据同步 方案3:使用Debe

    2024年02月15日
    浏览(34)
  • 使用kettle同步全量数据到Elasticsearch(es)--elasticsearch-bulk-insert-plugin应用

    为了前端更快地进行数据检索,需要将数据存储到es中是一个很不错的选择。由于公司etl主要工具是kettle,这里介绍如何基于kettle的elasticsearch-bulk-insert-plugin插件将数据导入es。在实施过程中会遇到一些坑,这里记录解决方案。 可能会遇到的报错: 1、No elasticSearch nodes found 2、

    2024年02月01日
    浏览(69)
  • 【elasticsearch专题】:Logstash从入门到同步MySQL数据

      Elasticsearch是在数据处理生态系统中担任一个开源的分布式 搜索 和 分析 引擎的角色,专为 存储 、 检索 和分析大量的数据而打造。与此相伴的是Kibana,一个开源数据可视化平台,用于以优雅的方式展示Elasticsearch中的数据,并赋予用户创建仪表盘、图表和报告的能力。然

    2024年02月04日
    浏览(49)
  • 使用Logstash同步mysql数据到Elasticsearch(亲自踩坑)

    这篇文章主要介绍了如何使用Logstash同步mysql数据到Elasticsearch(亲自踩坑),如果帮助到了大家,希望用你毛茸茸的小手点个赞🤗;如有错误或未考虑周全的地方,希望在评论区留言🫡 Logstash官方文档提供了解决方案 一. 安装Logstash Logstash下载地址 下载版本一定要和Elastics

    2024年04月09日
    浏览(55)
  • Logstash 同步MySQL数据 至 开启HTTPS的ElasticSearch

    最近因为一些原因被迫学习了一周多的ElasticSearch,记录一下遇到的小问题。 此文件我理解为是Logstash的 * 可编译文件 *,我们通过编写此文件然后运行logstash去编译执行来让我们的数据按照自身期望的去传输。该文件主要包括input、filter和output三个部分,其中input和output是必要

    2024年02月01日
    浏览(38)
  • Es elasticsearch 十八 Logstash 数据抽取工具

    目录 基础 启动命令 简单配置文件 控制台输入输出打印 input从log文件获取数据-如分布式日志收集 监听端口 filter过滤器 Grok 正则捕获 Output 输出到es 文件输入 es输出  获取日志中字段 level 基础 从原数据 获取数据  发送到 某地方 Input{}  filter{} output{} 输入  过滤  输出 启动命

    2024年02月11日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包