首頁  >  文章  >  後端開發  >  Confluence kafka go 軟體包與 ubuntu 22.04 相容嗎?

Confluence kafka go 軟體包與 ubuntu 22.04 相容嗎?

WBOY
WBOY轉載
2024-02-11 23:24:081226瀏覽

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 編譯器。

除了檢查cgo之外,還需要確保librdkafka可用。請參閱建置標籤

  • 預設情況下,將使用捆綁的特定於平台的 librdkafka 靜態建置。這在 mac osx 和基於 glibc 的 linux 發行版(例如 ubuntu 和 centos)上開箱即用。
  • -tags musl - 在基於 musl 的 linux 發行版(例如 alpine)上建構時必須指定。將使用 librdkafka 的捆綁靜態 musl 建置。
  • -tagsdynamic - 動態連結 librdkafka。共享的 librdkafka 函式庫必須透過其他方式手動安裝(apt-get、yum、從原始碼建置等)。

以上是Confluence kafka go 軟體包與 ubuntu 22.04 相容嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:stackoverflow.com。如有侵權,請聯絡admin@php.cn刪除