librdkafka: monitoring-interceptor.so missing

278 views
Skip to first unread message

Yvon

unread,
Oct 4, 2017, 6:01:07 PM10/4/17
to kafka-clients
Hello, 

I am trying to run a librdkafka client on a AWS AMI. 

The following error is thrown:
dlopen() failed: monitoring-interceptor.so: cannot open shared object file: No such file or directory (plugin monitoring-interceptor)

Here is what I have done so far: 

I have installed confluent packages with the following steps: 
1) setup a yum repo for confluent packages: 
[Confluent.dist]
name=Confluent repository (dist)
gpgcheck=1
enabled=1

[Confluent]
name=Confluent repository
gpgcheck=1
enabled=1

2) them installed packages with:
sudo yum install gcc librdkafka1 librdkafka-devel cyrus-sasl-devel openssl-libs python-devel


I have noted that 'debug' version of the 'monitoring-interceptor' libs  are installed at:
find / -name *interc*.so*
/usr/lib/debug/usr/lib64/monitoring-interceptor.so.1.debug
/usr/lib/debug/usr/lib64/monitoring-interceptor.so.debug

Thanks for sharing any pointers,  

Y.

Magnus Edenhill

unread,
Oct 5, 2017, 3:02:03 AM10/5/17
to kafka-clients
Hello Yvon,

the confluent-librdkafka-plugins package was released with Confluent Platform 3.2, but it seems that you are referring to the 3.1 repositories.

Please update your yum repos to the latest Confluent Platform version as instructed here:

And then install confluent-librdkafka-plugins and try your application again.

Regards,
Magnus

Yvon

unread,
Oct 5, 2017, 8:54:28 AM10/5/17
to kafka-clients
Hello Magnus, 

I am more confused now...

I have set-up the yum repos to down 3.3 as per the instructions you have indicated and installed the Confluent open source (sudo yum install confluent-platform-oss-2.11)

Unfortunately,  there is no 'librdkafka' component to install, which is a dependency for 'confluent-librdkafka-plugins': 

Installed:
  confluent-platform-oss-2.11.noarch 0:3.3.0-1

Dependency Installed:
  confluent-camus.noarch 0:3.3.0-1                                        confluent-cli.noarch 0:3.3.0-1
  confluent-common.noarch 0:3.3.0-1                                       confluent-kafka-2.11.noarch 0:0.11.0.0-1
  confluent-kafka-connect-elasticsearch.noarch 0:3.3.0-1                  confluent-kafka-connect-hdfs.noarch 0:3.3.0-1
  confluent-kafka-connect-jdbc.noarch 0:3.3.0-1                           confluent-kafka-connect-s3.noarch 0:3.3.0-1
  confluent-kafka-connect-storage-common.noarch 0:3.3.0-1                 confluent-kafka-rest.noarch 0:3.3.0-1
  confluent-rest-utils.noarch 0:3.3.0-1                                   confluent-schema-registry.noarch 0:3.3.0-1

Complete!

What I am doing wrong? 

Thanks again 

Yvon

Magnus Edenhill

unread,
Oct 5, 2017, 10:49:27 AM10/5/17
to kafka-clients

Ouch, it seems like the dependency is wrong, and in fact not even needed.

Until we've fixed the package you can force installation by doing:
rpm -Uvh --nodeps $(repoquery --location confluent-librdkafka-plugins1)

Yvon

unread,
Oct 5, 2017, 1:58:00 PM10/5/17
to kafka-clients
Thanks Magnus for the workaround. 

It works now. 

Also,  I did not realize that the 'librdkafka.so' was installed under /usr/local/lib: that was also causing dlopen() to fails. the Once I set the LD_LIBRARY_PATH env variable, the monitoring-interceptor.so was able to load successfully. 

Yvon
Reply all
Reply to author
Forward
0 new messages