请问当前的pulsar版本是不是不支持在mac下使用??

In the current version, Pulsar uses a BookKeeper version which in turn uses RocksDB. RocksDB is compiled to work on x86 architecture and not ARM. Therefore, Pulsar can only work with x86 JDK. This is planned to be fixed in future versions of Pulsar.
这段话是不是这个意思?
感谢

可能描述当不是那么直接,这里想表达的是,在当前 Pulsar 的版本,还不支持运行在 Apple M1。

Apache Pulsar 将在 2.11 版本升级 RocksDB( 6.10.2 → 6.29.4.1),届时将原生支持在 Apple M1 上运行 Pulsar。

这里有个参考《如何在 Apple M1 上使用 Apache Pulsar》,可以帮助在 M1 芯片上运行 Pulsar。

[1 ] RocksDB 用来存储 ledger 的索引。

在这之前的 Pulsar 版本,因为依赖的 RocksDB 尚不支持 osx-arm64 架构,这会让 Bookie 在启动阶段报一个 UnsatisfiedLinkError错误,导致无法正确启动。

老版本如何使用

除此之外,我们可以分环境来说明,如何在 M1 下使用老版本 Apache Pulsar:

  1. 裸机环境(使用 arm64 JDK) :可将 lib/rocksdbjni-6.10.2.jar 替换 rocksdbjni-6.29.4.1.jar,可兼容大部分消息场景(已简单测试 2.10、2.9.3 和 2.8.2 版本)。处理 Ledger 索引、Pulsar IO 和一些客户端可能会有问题。
  2. 裸机环境(使用 x86 JDK) :可直接使用默认的 apache pulsar(推荐方案)。推荐使用 sdkman工具,通过配置 sdkman_rosetta2_compatible=true ,让本地 JDK 通过 rosetta2 来运行 Pulsar。配置步骤参考链接 [2]。
  3. Docker 环境(arm64) :可自行制作 arm64 的 pulsar 镜像,注意也可以升级下 rocksdb。也可以催促下官方的 arm64 镜像[7]。
  4. Docker 环境(模拟 x86) :推荐使用 colima 虚拟机工具来运行 x86 架构的 docker 运行时(例如 colima start --arch x86_64 --cpu 4 --memory 8 可开启一个本地的 x86 虚拟机),可支持 x86 架构的 pulsar 镜像运行。
1 Like