卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章35419本站已运行396

Confluence kafka go 软件包与 ubuntu 22.04 兼容吗?

confluence kafka go 软件包与 ubuntu 22.04 兼容吗?

php小编子墨,你好!关于Confluence kafka go 软件包与 ubuntu 22.04 的兼容性问题,经过我们的调查和测试,我们很高兴地告诉你,Confluence kafka go 软件包与 ubuntu 22.04 是兼容的。这意味着你可以在 ubuntu 22.04 上使用 Confluence kafka go 软件包,无需担心兼容性问题。这个软件包提供了丰富的功能和特性,能够帮助你更好地处理和管理 kafka 消息队列。如果你对这个软件包有任何问题或疑问,我们随时都可以提供帮助和支持。希望这个回答对你有所帮助!

问题内容

我在 ubuntu 20.04 中使用 confluence kafka 包作为 golang 中的数据流服务器,现在我将操作系统更改为 ubuntu 22.04。

现在我收到这些错误:

- kafka.producer/producer.go:18:26: undefined: kafka.Producer
- kafka.producer/producer.go:35:17: undefined: kafka.ConfigMap
- kafka.producer/producer.go:40:30: undefined: kafka.NewProducer
- kafka.producer/producer.go:133:50: undefined: kafka.Message
- kafka.producer/producer.go:134:27: undefined: kafka.TopicPartition
- kafka.producer/producer.go:136:23: undefined: kafka.PartitionAny

但是segmentio包在相同的代码中运行良好。问题是我想使用 confluence 包,因为它具有订阅和取消订阅功能,我觉得它比 segemntio 包更有优势。

有人知道如何解决这个错误吗?

解决方法

由于 github.com/confluenceinc/confluence-kafka-go/v2/kafka 包使用 librdkafka c 库顶部的绑定,因此您必须首先确保 cgo 配置正确。

常见的检查内容是:

  1. 确保 cgo 已启用 (cgo_enabled="1"):

    $ go env CGO_ENABLED
    0
    $ go env -w CGO_ENABLED="1"
  2. 确保 c 编译器可用。运行 go env cc 查看使用的是哪个 c 编译器。

  3. 除了检查cgo之外,还需要确保librdkafka可用。请参阅构建标签:

    • 默认情况下,将使用捆绑的特定于平台的 librdkafka 静态构建。这在 mac osx 和基于 glibc 的 linux 发行版(例如 ubuntu 和 centos)上开箱即用。
    • -tags musl - 在基于 musl 的 linux 发行版(例如 alpine)上构建时必须指定。将使用 librdkafka 的捆绑静态 musl 构建。
    • -tagsdynamic - 动态链接 librdkafka。共享的 librdkafka 库必须通过其他方式手动安装(apt-get、yum、从源代码构建等)。
卓越飞翔博客
上一篇: golang中封装模型的常用函数如何实现?
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏