从 Kafka 发布,坚持使用 MinIO
流数据是现代对象存储堆栈的核心组件。无论数据源是边缘设备还是在数据中心运行的应用程序,流数据都在迅速超越传统的批处理框架。
流数据包括日志文件(想想 Splunk SmartStore)、Web 或移动应用程序、自动驾驶汽车、社交网络,当然还有财务数据。数据通常是时间序列的,因此需要处理伴随而来的过滤、采样和窗口化挑战。然而,回报是巨大的,并且可以为企业提供实时引擎。
企业如何处理流数据可能会变得非常复杂,但本文将从基础开始,以最流行的流引擎之一Apache Kafka为例。
Apache Kafka 是一个开源分布式事件流平台,允许用户存储、读取和处理流数据。它读取和写入事件流,允许在分布式、高度可扩展、弹性、容错和安全的环境中流入、流出和存储大量客户数据。
Kafka支持种类繁多的数据源,通过对信息流的处理,以“主题”的形式存储起来。它还将数据转储到许多类似接收器的数据存储,例如 MySQL 和 MinIO。
为了促进数据流从源到接收器的这种移动,我们需要 Kafka Connect,这是一种用于在 Apache Kafka 和其他数据系统之间可靠地大规模传输数据的工具。

Kafka和MinIO一起可以用于入口/管理并最终存储大量数据。
以下是有关如何将两者集成的分步教程:
在 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_KEY和MINIO_SECRET_KEY:用于MinIO服务器的实际凭据。
3.安装 minio-client 并创建一个 bucket:点击链接开始使用 minio 客户端https://docs.min.io/docs/minio-client-quickstart-guide.html

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

connector.properties在s3-sink.properties插件目录中创建两个配置文件。这些是启动 kafka 连接器所必需的。
复制粘贴下面的
connector.properties

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

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

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

添加以下详细信息
credentials

8.启动卡夫卡连接器

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

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

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