Apache Druid - docker 为 arm 架构构建

Apache Druid - docker build for arm architecture

我正在尝试 运行 Apache Druid on M1 Mac with an ARM 64 processor as docker containers。这工作正常,因为它通过仿真 运行s。但是我遇到了两个问题。

  1. druid 容器(特别是 broker)不断崩溃,退出代码为 137。我能够通过将 docker 内存分配增加到 8 GB 来使其工作,但这不是理想。
  2. 整个德鲁伊设置非常缓慢。整个集群需要很长时间才能启动,即使启动后,在摄取和查询期间也很慢。

我想知道是否有为 ARM64 配置构建的 docker 映像或 dockerfile/instructions 从源构建它。

关于#1 - 是的,我也点了这个。服务的默认配置需要大约 7GB 内存才能作为容器集群运行。

关于 #2 - Druid 被设计为 运行 在集群上。 运行 在单台计算机上可以让您测试功能,但它不能表示您在集群上 运行 时可以预期的性能。如果您只是测试功能,我会建议单个服务器执行。有些配置使用的资源非常少。在此处查看纳米和微型快速入门选项:https://druid.apache.org/docs/latest/operations/single-server.html

以下是构建 docker 图像的说明:https://github.com/apache/druid/tree/master/distribution/docker

可能为时已晚,但我已尝试为 arm64 和 amd64 archs 构建德鲁伊图像。

https://github.com/arm64-compat/apache-druid

这些不是生产就绪图像,仅有助于在 M1 芯片 Macbook 上进行本地开发。即使我正在测试这些图像,arm64 图像的性能也比 qemu 模拟图像好得多。

我正在使用 druid-operator 在我的本地设置上使用 CRD 部署一个小型集群。