問題タブ [kafka-consumer-api]

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.

0 投票する
1 に答える
12142 参照

java - Kafka トピックとパーティション トピック

単純なトピックとパーティション トピックの違いを知りたいです。私の理解によると、負荷のバランスをとるために、トピックはパーティション化されています。各メッセージにはオフセットがあり、消費者は以前のメッセージが消費されたことを確認するために確認します。パーティションとコンシューマーの不一致は、kafka によって行われるバランス調整によって効率的に管理されます。

複数のトピックを作成する代わりにパーティションを作成すると、運用効率に影響します。

0 投票する
2 に答える
10933 参照

apache-kafka - Kafka Simple Consumer を使用して複数のパーティションから読み取ることは可能ですか?

Kafka Simple Consumer を使用して複数のパーティションから読み取ることは可能ですか? Simple Consumer は、次のパーティションを使用します。

https://cwiki.apache.org/confluence/display/KAFKA/0.8.0+SimpleConsumer+Example

0 投票する
3 に答える
38083 参照

java - Kafka トピックの作成中にエラーが発生しました:- 使用可能なブローカーよりも大きいレプリケーション ファクター

以下のコードソースを使用して、AdminCommand を介して kafka トピックを作成しようとしています

しかし、以下の例外が発生します

ただし、シェル コマンドを使用してトピックを作成できます。

0 投票する
3 に答える
4388 参照

java - Kafka - 特定のオフセットを持つ消費者グループの作成?

Kafka でトピックを作成した後、それらのグループを使用してトピックから読み取ろうとするだけで、任意の数のコンシューマー グループを作成できます。

実際のコンシューマー グループのメッセージ コンテンツを監視するために、追加のコンシューマー グループを作成したいと考えています。したがって、GUI では、任意のコンシューマ グループで「peek」をクリックすると、「peeker」グループのオフセットが監視対象のグループのオフセットに更新され、そのオフセットからのメッセージが表示されます。

初めて消費者グループを明示的に作成することはできないため、私は混乱しています。Zookeeper で作成されたオフセット ノードを取得するには、メッセージを読む必要があるようです。

私の質問

特定のオフセットを指す消費者グループを明示的に作成する方法はありますか、またはまだ使用されていない消費者グループの Zookeeper ノードを手動で作成して、正しいオフセット値に初期化しても問題ありませんか? それとも、この自動作成によってコンシューマー グループの割り当てプロセスが台無しになるのでしょうか?

0 投票する
1 に答える
4527 参照

apache-kafka - WAN 経由の Kafka プロデューサー/コンシューマー?

データセンターに Kafka クラスターがあります。WAN (インターネットを含む) を介して通信する可能性がある一連のクライアントは、クラスターとの間でリアルタイム メッセージを送受信します。

私はカフカのドキュメントから読みました:

...WAN を介してリモートの Kafka クラスターとの間で読み取りまたは書き込みを行うことは可能ですが、高レイテンシーのリンクには TCP の調整が必要になります。

通常、複数のデータセンターにまたがる単一の Kafka クラスターを実行することはお勧めできません。これは、Kafka の書き込みと Zookeeper の書き込みの両方で非常に長いレプリケーション レイテンシが発生し、ネットワークが分割されている場合は Kafka も Zookeeper も使用できなくなるためです。

ここここで私が理解していることから:

  • WAN 経由での生成は ZK を必要とせず、問題ありませんが、待ち時間の長い接続のために TCP を微調整することだけを考えてください。すごい!小切手。
  • 高レベルのコンシューマ API には ZK 接続が必要です。

クライアントが WAN 経由で Kafka に読み書きすることは、上記の太字のクラスターと同じ制限の対象ではありませんか?

0 投票する
1 に答える
7214 参照

java - Kafka コンシューマー エラー - xxxx ノード名もサーブ名も指定されていないか、不明です

次のコマンドを使用してコンソール コンシューマを実行する場合

$ ~/project/libs/kafka_2.9.2-0.8.1.1/bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic customerevents --autocommit.interval.ms 100 --group customereventsgroup

次のエラーが表示されます

このコマンドは、職場のネットワークに接続している場合は正常に機能しましたが、自宅のネットワークから実行した場合は機能しませんでした。

システムのホスト名を確認すると、正しい応答が得られます

$ホスト名
HQSML-142453
$

少し読んだ後、Kafkaサーバーの構成に次のようなものがあることに気付きました

# ブローカーがプロデューサーとコンシューマーに通知するホスト名。設定されていない場合、設定されている場合
は「host.name」の # 値を使用します。
それ以外の場合は、 # java.net.InetAddress.getCanonicalHostName()から返された値を使用します。
広告された.host.name=HQSML-142453

ホスト名を含めるように更新しましたが、それは役に立たなかったようです。ここで何が問題になる可能性があるかについてのアイデア。

これはネットワーク インターフェイスに関連していることはわかっていますが、それを特定することはできません。

構成: ヨセミテ、osx jdk 7、kafka v0.8.1.1