从 Kafka 发布,坚持使用 MinIO

从 Kafka 发布,坚持使用 MinIO

流数据是现代对象存储堆栈的核心组件。无论数据源是边缘设备还是在数据中心运行的应用程序,流数据都在迅速超越传统的批处理框架。

流数据包括日志文件(想想 Splunk SmartStore)、Web 或移动应用程序、自动驾驶汽车、社交网络,当然还有财务数据。数据通常是时间序列的,因此需要处理伴随而来的过滤、采样和窗口化挑战。然而,回报是巨大的,并且可以为企业提供实时引擎。

企业如何处理流数据可能会变得非常复杂,但本文将从基础开始,以最流行的流引擎之一Apache Kafka为例。

Apache Kafka 是一个开源分布式事件流平台,允许用户存储、读取和处理流数据。它读取和写入事件流,允许在分布式、高度可扩展、弹性、容错和安全的环境中流入、流出和存储大量客户数据。

Kafka支持种类繁多的数据源,通过对信息流的处理,以“主题”的形式存储起来。它还将数据转储到许多类似接收器的数据存储,例如 MySQL 和 MinIO。

为了促进数据流从源到接收器的这种移动,我们需要 Kafka Connect,这是一种用于在 Apache Kafka 和其他数据系统之间可靠地大规模传输数据的工具。

1_oO2iHF3jivWG29kgPDwUTA.jpeg

KafkaMinIO一起可以用于入口/管理并最终存储大量数据。

以下是有关如何将两者集成的分步教程:

  1. 在 Ubuntu 20.04 上安装并运行 Apacha Kafka:点击链接直到第 4 步将 kafka 作为 systemd 服务运行。https://www.digitalocean.com/community/tutorials/how-to-install-apache-kafka-on-ubuntu-20-04

2.在 Ubuntu 20.04 上安装并运行 Minio:

  • 创建用户和组以运行MinIO服务器 sudo useradd minio -user -m
    sudo passwd minio -user

  • 将 Minio 作为 systemd 服务运行:要以分布式模式运行 MinIO,请点击链接https://github.com/minio/minio-service/tree/master/linux-systemd/distributed不要忘记配置以下内容: MINIO_VOLUMES:使用卷挂载的实际路径
    MINIO_OPTS =” — address :9000":MinIO 服务器端口
    MINIO_ACCESS_KEYMINIO_SECRET_KEY:用于MinIO服务器的实际凭据。

3.安装 minio-client 并创建一个 bucket:点击链接开始使用 minio 客户端https://docs.min.io/docs/minio-client-quickstart-guide.html

image (4).png

4.将 Kafka 与 Minio 集成:使用 Confluent S3 插件将Kafka消息流式传输到MinIO存储桶。

image-1.png

connector.propertiess3-sink.properties插件目录中创建两个配置文件。这些是启动 kafka 连接器所必需的。

  • 复制粘贴下面的 connector.properties

image-4 (1).png

  • 复制粘贴下面的s3-sink.properties

image-5 (1).png

5.创建Kafka Topic:创建名为 的Kafka Topic minio_topic这与我们在文件中设置的主题相同s3-sink.properties

image-6 (1).png

6.配置 MinIO 凭据:这是连接到 MinIO 服务器所必需的。

image-7.png

  • 添加以下详细信息credentials

image-8.png

8.启动卡夫卡连接器

image-9.png

9.发布数据到Kafka主题: 由于定义的flush size设置为3,一旦topic minio_topic中有3条消息,s3-sink.properties插件就会将数据刷新到MinIO 。

image-10.png

10.验证MinIO服务器上的数据

image-11.png

11.登录MinIO控制台重新验证。

image-12.png


上一篇 下一篇