如何快速部署go-stash?5分钟入门教程带你搭建实时数据处理系统

【免费下载链接】go-stash go-stash is a high performance, free and open source server-side data processing pipeline that ingests data from Kafka, processes it, and then sends it to ElasticSearch. 【免费下载链接】go-stash 项目地址: https://gitcode.com/gh_mirrors/go/go-stash

go-stash是一款高性能、免费开源的服务器端数据处理管道工具,能够从Kafka摄取数据,进行处理后发送到ElasticSearch,为用户构建实时数据处理系统提供高效解决方案。

为什么选择go-stash?

go-stash具有显著的性能优势,其吞吐性能约为logstash的5倍,且部署方式简单,仅需一个可执行文件即可运行,极大降低了使用门槛,非常适合新手和普通用户快速搭建实时数据处理系统。

go-stash工作流程

go-stash数据处理流程

上图清晰展示了go-stash的工作流程,数据从Kafka流入,经过go-stash处理后,最终存储到ElasticSearch中,形成一个完整的实时数据处理链路。

快速安装go-stash

环境准备

在开始安装前,请确保你的环境中已经安装了Go语言环境,以便能够顺利编译go-stash。

编译安装步骤

  1. 首先,克隆go-stash仓库,在终端中执行以下命令:
git clone https://gitcode.com/gh_mirrors/go/go-stash
  1. 进入项目目录并编译:
cd go-stash/stash && go build stash.go

编译完成后,会在当前目录生成可执行文件stash

配置go-stash

配置文件示例

go-stash的配置文件为config.yaml,你可以在项目中找到相关配置示例。以下是一个基本的配置示例:

Clusters:
- Input:
    Kafka:
      Name: go-stash
      Log:
        Mode: file
      Brokers:
      - "172.16.48.41:9092"
      - "172.16.48.42:9092"
      - "172.16.48.43:9092"
      Topic: ngapplog
      Group: stash
      Conns: 3
      Consumers: 10
      Processors: 60
      MinBytes: 1048576
      MaxBytes: 10485760
      Offset: first
  Filters:
  - Action: drop
    Conditions:
      - Key: status
        Value: 503
        Type: contains
      - Key: type
        Value: "app"
        Type: match
        Op: and
  - Action: remove_field
    Fields:
    - message
    - source
    - beat
    - fields
    - input_type
    - offset
    - "@version"
    - _score
    - _type
    - clientip
    - http_host
    - request_time
  Output:
    ElasticSearch:
      Hosts:
      - "http://172.16.188.73:9200"
      - "http://172.16.188.74:9200"
      - "http://172.16.188.75:9200"
      Index: "go-stash-{{yyyy.MM.dd}}"
      MaxChunkBytes: 5242880
      GracePeriod: 10s
      Compress: false
      TimeZone: UTC

配置说明

  • Input部分:主要配置Kafka相关信息,包括 brokers 地址、消费的 topic、消费者组等参数,这些参数需要根据你的Kafka集群实际情况进行修改。
  • Filters部分:用于对数据进行过滤和处理,比如通过drop动作丢弃不符合条件的数据,通过remove_field动作移除不需要的字段。
  • Output部分:配置ElasticSearch相关信息,包括ElasticSearch集群的 hosts 地址、数据存储的索引名称等。

启动go-stash

可执行文件方式启动

在完成配置后,使用以下命令启动go-stash:

./stash -f etc/config.yaml

Docker方式启动

如果你更倾向于使用Docker,确保配置文件路径正确后,执行以下命令:

docker run -d -v `pwd`/etc:/app/etc kevinwan/go-stash

验证部署是否成功

启动go-stash后,可以观察日志输出,查看是否有错误信息。如果一切正常,go-stash将开始从Kafka消费数据并处理后发送到ElasticSearch,你可以在ElasticSearch中查看是否有数据成功写入,以此验证部署是否成功。

通过以上简单的步骤,你就可以快速部署go-stash,搭建起属于自己的实时数据处理系统,体验高效的数据处理能力。赶快尝试一下吧!

【免费下载链接】go-stash go-stash is a high performance, free and open source server-side data processing pipeline that ingests data from Kafka, processes it, and then sends it to ElasticSearch. 【免费下载链接】go-stash 项目地址: https://gitcode.com/gh_mirrors/go/go-stash

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐