加载kafka模块失败

Failed to load kafka module

我正在尝试下面的 nxlog kafka out 模块

Link

我收到以下错误消息

ERROR Failed to load module from /usr/local/libexec/nxlog/modules/output/om_kafka.so, /usr/local/libexec/nxlog/modules/output/om_kafka.so: undefined symbol: rd_kafka_topic_new;DSO load failed

ERROR module 'outKafka' is not declared at /usr/local/etc/nxlog/nxlog.conf:65

ERROR route tcproute is not functional without output modules, ignored at /usr/local/etc/nxlog/nxlog.conf:65

我正在使用:

Nxlog Version - nxlog-ce-2.8.1248

Kafka Version - kafka_2.9.2-0.8.1.1

Latest librdkafka

生产者和消费者的 librdkafka (rdkafka) 示例程序运行良好,所以我猜 librdkafka 的环境设置正确, 但我无法确定是什么导致了这个问题。

问题是 om_kafka.so 没有与 librdkafka 链接。 您将在 Makefile.am:

中需要它

om_kafka_la_LIBADD = $(LIBRDKAFKA) $(LIBNX)

应该正确设置 $(LIBRDKAFKA) 的值,通常这是在 configure.in 中完成的。否则你可以只使用库的完整路径(.so 或 .la 或 .a )