Linux下librdkafkaコンパイルインストール使用学習
Kafkaはサービス側とクライアントに分けられ、サービス側クラスタは一般的にbrokersと呼ばれ、クライアントは生産者(producer)と消費者(consumer)に分けられる.
開発者は通常、kafkaからメッセージまたは消費メッセージをクライアントで生産し、異なる言語で異なるクライアントを使用します.具体的な情報はこのページを参照してください.
私が使っているのはC++開発のクライアント:librdkafka
ここでは、Realeaseの各バージョンについて説明します.
librdkafka-0.11をダウンロードします.6.tar.gzパッケージは、開発環境に行き、自分が使用しているディレクトリの下に置きます.
1、解凍
2、解凍したディレクトリに入り、インストール環境を指定します.ここではインストールディレクトリを指定しただけです.
ここでは--prefixオプションでインストールディレクトリを指定しただけで、ディレクトリは/home/luobg/study/librdkafkaです.ディレクトリを指定しなくてもいいです.デフォルトのインストールパスは/usr/local/librdkafkaです.
3、makeコンパイル
makeの後ろの-j 4は
4つのスレッドを同時にコンパイルするという意味で、ここの-jNという数字Nはそれぞれの開発環境によって異なり、一般的に4つのスレッドが妥当である.
4、インストール
すべてがうまくいけば、最後にlibrdkafka-0.11に入ることができます.6のディレクトリの下で、librdkafkaがサポートするいくつかの特性を表示します.
私の結果は次のとおりです.
sasl、sasl_のようにplaintextは、認証付きkafkaを接続するために使用する必要があります.これらのプロパティが必要な場合は、librdkafkaをコンパイルする前に、対応する依存ライブラリのインストールを行います.
librdkafkaの使用について.
C++プログラムを記述することはrdkafkacppを含む.hヘッダファイルは、インストールディレクトリのincludeディレクトリの下で、自分のプログラムをコンパイルするときにチェーンC++のライブラリ-lrdkafka++と、スレッドライブラリ-lpthreadをリンクします
Cプログラムの作成はrdkafkaを含む.hヘッダファイル、自分のプログラムをコンパイルするときはリンクCのライブラリ-lrdkafka、およびスレッドライブラリ-lpthread
具体的にはコードを使用して、他のページに記録します.
また、librdkafkaに必要なgccバージョンは比較的高く、高ければ高いほど良いはずです.そうしないと、コンパイル中に奇妙なエラーの問題が発生します.
デフォルトのパスにインストールされていない場合、rootユーザーでもない場合は、現在のユーザーのホームディレクトリの下にある必要があります.bash_profileは構成されており、使いやすいです.
1.現在のユーザーホームに戻る
2、編集bash_profile,#ここで、このファイルがなければ作成します
ここでランタイムライブラリパスLD_を編集するLIBRARY_PATH,,およびコンパイル時リンクライブラリパスLIBRARY_PATH、ヘッダファイルにパスが含まれています.最後の:$LD_を忘れないでください.LIBRARY_PATHおよび:$LIBRARY_PATH、コロン":"は変数間の区切りを識別し、クラスはWindowsの下のセミコロン";".home/luobg/study/librdkafka/libは、以前のlibrdkafkaのインストール下のlibディレクトリである.
編集完了保存終了覚えsource./.bash_profileが有効になります.
開発者は通常、kafkaからメッセージまたは消費メッセージをクライアントで生産し、異なる言語で異なるクライアントを使用します.具体的な情報はこのページを参照してください.
https://cwiki.apache.org/confluence/display/KAFKA/Clients
私が使っているのはC++開発のクライアント:librdkafka
ここでは、Realeaseの各バージョンについて説明します.
https://github.com/edenhill/librdkafka/releases
librdkafka-0.11をダウンロードします.6.tar.gzパッケージは、開発環境に行き、自分が使用しているディレクトリの下に置きます.
1、解凍
tar -xzvf librdkafka-0.11.6.tar.gz
2、解凍したディレクトリに入り、インストール環境を指定します.ここではインストールディレクトリを指定しただけです.
cd librdkafka-0.11.6
./configure --prefix=/home/luobg/study/librdkafka
ここでは--prefixオプションでインストールディレクトリを指定しただけで、ディレクトリは/home/luobg/study/librdkafkaです.ディレクトリを指定しなくてもいいです.デフォルトのインストールパスは/usr/local/librdkafkaです.
3、makeコンパイル
make -j4
makeの後ろの-j 4は
4つのスレッドを同時にコンパイルするという意味で、ここの-jNという数字Nはそれぞれの開発環境によって異なり、一般的に4つのスレッドが妥当である.
4、インストール
sudo make install
すべてがうまくいけば、最後にlibrdkafka-0.11に入ることができます.6のディレクトリの下で、librdkafkaがサポートするいくつかの特性を表示します.
./rdkafka_example -X builtin.features
私の結果は次のとおりです.
builtin.features = gzip,snappy,ssl,sasl,regex,lz4,sasl_plain,sasl_scram,plugins
sasl、sasl_のようにplaintextは、認証付きkafkaを接続するために使用する必要があります.これらのプロパティが必要な場合は、librdkafkaをコンパイルする前に、対応する依存ライブラリのインストールを行います.
librdkafkaの使用について.
C++プログラムを記述することはrdkafkacppを含む.hヘッダファイルは、インストールディレクトリのincludeディレクトリの下で、自分のプログラムをコンパイルするときにチェーンC++のライブラリ-lrdkafka++と、スレッドライブラリ-lpthreadをリンクします
Cプログラムの作成はrdkafkaを含む.hヘッダファイル、自分のプログラムをコンパイルするときはリンクCのライブラリ-lrdkafka、およびスレッドライブラリ-lpthread
具体的にはコードを使用して、他のページに記録します.
また、librdkafkaに必要なgccバージョンは比較的高く、高ければ高いほど良いはずです.そうしないと、コンパイル中に奇妙なエラーの問題が発生します.
デフォルトのパスにインストールされていない場合、rootユーザーでもない場合は、現在のユーザーのホームディレクトリの下にある必要があります.bash_profileは構成されており、使いやすいです.
1.現在のユーザーホームに戻る
cd ~
2、編集bash_profile,#ここで、このファイルがなければ作成します
vim .bash_profile
ここでランタイムライブラリパスLD_を編集するLIBRARY_PATH,,およびコンパイル時リンクライブラリパスLIBRARY_PATH、ヘッダファイルにパスが含まれています.最後の:$LD_を忘れないでください.LIBRARY_PATHおよび:$LIBRARY_PATH、コロン":"は変数間の区切りを識別し、クラスはWindowsの下のセミコロン";".home/luobg/study/librdkafka/libは、以前のlibrdkafkaのインストール下のlibディレクトリである.
#
export LD_LIBRARY_PATH=/home/luobg/study/librdkafka/lib:$LD_LIBRARY_PATH
#
export LIBRARY=/home/luobg/study/librdkafka/lib:$LIBRARY_PATH
#C++
export CPLUS_INCLUDE_PATH=/home/luobg/study/librdkafka/include:$CPLUS_INCLUDE_PATH
#C
export C_INCLUDE_PATH=/home/luobg/study/librdkafka/include:$C_INCLUDE_PATH
編集完了保存終了覚えsource./.bash_profileが有効になります.