在aws linux计算机上通过yum安装librdkafka1时libsasl依赖性问题

brtdzjyr  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(628)

我正在尝试使用pip安装python汇合kafka包。我正在运行amazon linux(版本amazon linux ami release 2016.09)的aws ec2示例上尝试此操作。我只是在做:

pip install pip install confluent-kafka

但是,这会产生以下错误:

In file included from confluent_kafka/src/confluent_kafka.c:17:0:
confluent_kafka/src/confluent_kafka.h:21:32: fatal error: librdkafka/rdkafka.h: No such file or directory
 #include <librdkafka/rdkafka.h>
                                ^
compilation terminated.
error: command 'gcc' failed with exit status 1

为了解决这个问题,我做了两件事:
1) 按照此页面上的说明添加文件/etc/yum.repos.d/confluent.repo,内容如下:

[Confluent.dist]
name=Confluent repository (dist)
baseurl=http://packages.confluent.io/rpm/3.0/6
gpgcheck=1
gpgkey=http://packages.confluent.io/rpm/3.0/archive.key
enabled=1

[Confluent]
name=Confluent repository
baseurl=http://packages.confluent.io/rpm/3.0
gpgcheck=1
gpgkey=http://packages.confluent.io/rpm/3.0/archive.key
enabled=1

2) 尝试使用以下命令安装librdkafka库:

sudo yum clean all
sudo yum install -y librdkafka1 librdkafka-devel

然而,百胜指出了这个错误:

Error: Package: librdkafka1-0.9.1_confluent3.0.1-1.el7.x86_64 (Confluent.dist)
       Requires: openssl-libs
Error: Package: librdkafka1-0.9.1_confluent3.0.1-1.el7.x86_64 (Confluent.dist)
       Requires: libsasl2.so.3()(64bit)

在谷歌搜索之后,我试着:

sudo ln /usr/lib64/libsasl2.so.2 /usr/lib64/libsasl2.so.3

这没有效果。我尝试了百胜的升级,但也没有解决问题。经过大量的谷歌搜索,这篇Kafka用户群的帖子是我能找到的唯一一个远程有用的东西,但遗憾的是,它没有包含解决问题的方法。
我真的很想让kafkapython在这个示例上运行起来,所以任何建议都将不胜感激。

oxosxuxt

oxosxuxt1#

amazon linux 2016.19似乎基于rhel 6,因此您需要参考confluent docs中描述的confluent的rhel 6 yum repo,即将以下内容写入 /etc/yum.repos.d/confluent :

[Confluent.dist]
name=Confluent repository (dist)
baseurl=http://packages.confluent.io/rpm/3.1/6
gpgcheck=1
gpgkey=http://packages.confluent.io/rpm/3.1/archive.key
enabled=1

[Confluent]
name=Confluent repository
baseurl=http://packages.confluent.io/rpm/3.1
gpgcheck=1
gpgkey=http://packages.confluent.io/rpm/3.1/archive.key
enabled=1

然后:

$ sudo yum clean all
$ sudo yum install gcc librdkafka1 librdkafka-devel cyrus-sasl-devel openssl-libs python-devel
$ pip install confluent-kafka  (possibly in a virtualenv)

相关问题