Skip to main content

Set up Pulsar C++ client

To set up C++ client library in Pulsar, complete the following steps.

Step 1: Install C++ client library

Use one of the following methods to install a Pulsar C++ client.

Brew

Use Homebrew to install the latest tagged version with the library and headers:

brew install libpulsar

Deb

  1. Download any one of the Deb packages:

    wget @pulsar:deb:client@

    This package contains shared libraries libpulsar.so and libpulsarnossl.so.

    wget @pulsar:deb:client-devel@

    This package contains static libraries: libpulsar.a, libpulsarwithdeps.a, and C/C++ headers.

  2. Install the package using the following command:

    apt install ./apache-pulsar-client*.deb

Now, you can see Pulsar C++ client libraries installed under the /usr/lib directory.

RPM

  1. Download any one of the RPM packages:

    wget @pulsar:dist_rpm:client@

    This package contains shared libraries: libpulsar.so and libpulsarnossl.so.

    wget @pulsar:dist_rpm:client-debuginfo@

    This package contains debug symbols for libpulsar.so.

    wget @pulsar:dist_rpm:client-devel@

    This package contains static libraries: libpulsar.a, libpulsarwithdeps.a and C/C++ headers.

  2. Install the package using the following command:

    rpm -ivh apache-pulsar-client*.rpm

Now, you can see Pulsar C++ client libraries installed under the /usr/lib directory.

note

If you get an error like "libpulsar.so: cannot open shared object file: No such file or directory" when starting a Pulsar client, you need to run ldconfig first.

APK

apk add --allow-untrusted ./apache-pulsar-client-*.apk

Step 2: Connect to Pulsar cluster

To connect to Pulsar using client libraries, you need to specify a Pulsar protocol URL.

You can assign Pulsar protocol URLs to specific clusters and use the pulsar scheme. The following is an example of localhost with the default port 6650:

pulsar://localhost:6650

If you have multiple brokers, separate IP:port by commas:

pulsar://localhost:6550,localhost:6651,localhost:6652

If you use mTLS authentication, add +ssl in the scheme:

pulsar+ssl://pulsar.us-west.example.com:6651