問題タブ [kafka-python]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - pykafka を使用してトピックの特定のパーティションで公開する
pykafka
トピックの特定のパーティションにメッセージを公開するにはどうすればよいですか。次のコードのテスト トピックには 4 つのパーティションがあり、各メッセージをその 1 つに書き込むつもりですが、どうやらそのようには機能していないようです。
apache-kafka - Kafka 0.9.0 を使用した単一パーティション上の複数の Python コンシューマ スレッド
コンテキストとして、Python ワーカー プロセスを kafka (0.9.0) ベースのアーキテクチャに移行しようとしていますが、コンシューマ スレッドに関するパーティションの制限について混乱しています。パーティションに複数のコンシューマーがあると、同じパーティションの他のスレッドが現在のスレッドが終了するまで待機することになりますか?
apache-kafka - Kafka: マルチサーバー設定でトピックを作成中に org.apache.zookeeper.KeeperException$NoNodeException が発生する
Kafka-0.8.2.2
1 つのプロデューサー、1 つのコンシューマー、および 3 つのブローカーをすべて異なるマシンに配置して、マルチノード クラスターをセットアップしようとしています。
でトピックを作成中にproducer
、エラーが発生しましorg.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for /brokers/ids
た。完全なコンソール出力は、こちらから入手できます。Kafka Producer
のログにエラーはありません。
実行に使用しているコマンドKafka
は次のとおりです。
注: Zookeeper サービスはすべてのサーバーで実行されており、3 つのブローカーすべてで Kafka サーバーが実行されています ( Kafka サーバーが必要なのはブローカーだけですよね? )。
私のProducer.propertiesの構成は次のとおりです。
以下は、私が参照として使用していた多くの記事の一部です。
amazon-web-services - Zookeeper -Kafka: ConnectException - 接続が拒否されました
ubuntu EC2マシンで 3 つの Kafka ブローカーをセットアップしようとしています。しかし、私はConnectException
開始中に取得していzookeeper
ます。security group
インスタンスのすべてのポートec2
がすでに開いています。
以下はスタック トレースです。
以下の構成です。
Zookeeper.properties :
server.properties :
インスタンスの/etc/hostsにサーバーのパブリック IP を追加しました。変更した /etc/hosts は次のとおりです。
の一意のmyid
エントリ/tmp/zookeper/myid
も正しく入力されます。
「 MultiNode を作成する方法 - Kafka on AWS の MultiBroker クラスター」に 記載されているすべての手順に従いました。
docker - Docker の Kafka が機能しない
wurstmeister\kafka-docker
で画像 を使用しようとしていますdocker-compose
が、すべてを接続するのに実際の問題があります。
私がチェックしたすべての投稿や質問には問題がないように見えますが、率直に言って迷っています。(そして、問題に対処しようとするSOには少なくとも2つの質問があります)
問題は、 のネットワークについての私の理解不足にあると思いdocker
ます。だから問題:
Kafka の同じコンテナーから消費および生成できますが、別のコンテナーを作成しようとすると (または Python クライアントでラップトップを使用すると)、advertised.host.name
パラメーターに関連するいくつかのエラーが発生しました (画像では、このパラメーターは ですKAFKA_ADVERTISED_HOST_NAME
)
私はすでにこの変数をさまざまな方法で設定しようとしていますが、うまくいきません。
だから私は信頼できる答えを探しています(つまり、これらのパラメータを自動的に設定する方法とその意味)docker-compose.yml
これは私のものです:
アップデート
@dnephin のアドバイスに従って、start-kafka.sh
次の行を変更しました。
から削除KAFKA_ADVERTISED_HOST_NAME: "kafka"
しますdocker-compose.yml
私は標準的な方法でコンテナを開始しました:
両方のコンテナーが実行されています。
その後、私はしました:
そして、すべてがスムーズに実行されます。
IP アドレスを確認するには:
次に、2 つの異なるコンソールで実行します。
プロデューサー:
消費者:
ほとんどすぐに、警告が画面全体に飛び交い始めます。
等々
プロデューサーのコンソールで、いくつかの文章を書きました。
そしてしばらくすると、こんな返事が返ってきました。
そして、docker-compose logs
更新 2
少なくとも、docker-machine
次のように機能させました。
まず、次の名前の変数を定義しましたdocker-machine
。
次に、次のように変更docker-compose.yml
します。
最後に、 の環境でdocker-machine
、次を実行します。
しかし、ラップトップでは(つまり、仮想マシンを使用しないと機能しません)