問題タブ [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.
java - Kafka トピックとパーティション トピック
単純なトピックとパーティション トピックの違いを知りたいです。私の理解によると、負荷のバランスをとるために、トピックはパーティション化されています。各メッセージにはオフセットがあり、消費者は以前のメッセージが消費されたことを確認するために確認します。パーティションとコンシューマーの不一致は、kafka によって行われるバランス調整によって効率的に管理されます。
複数のトピックを作成する代わりにパーティションを作成すると、運用効率に影響します。
apache-kafka - Kafka Simple Consumer を使用して複数のパーティションから読み取ることは可能ですか?
Kafka Simple Consumer を使用して複数のパーティションから読み取ることは可能ですか? Simple Consumer は、次のパーティションを使用します。
https://cwiki.apache.org/confluence/display/KAFKA/0.8.0+SimpleConsumer+Example
java - Kafka トピックの作成中にエラーが発生しました:- 使用可能なブローカーよりも大きいレプリケーション ファクター
以下のコードソースを使用して、AdminCommand を介して kafka トピックを作成しようとしています
しかし、以下の例外が発生します
ただし、シェル コマンドを使用してトピックを作成できます。
java - Kafka - 特定のオフセットを持つ消費者グループの作成?
Kafka でトピックを作成した後、それらのグループを使用してトピックから読み取ろうとするだけで、任意の数のコンシューマー グループを作成できます。
実際のコンシューマー グループのメッセージ コンテンツを監視するために、追加のコンシューマー グループを作成したいと考えています。したがって、GUI では、任意のコンシューマ グループで「peek」をクリックすると、「peeker」グループのオフセットが監視対象のグループのオフセットに更新され、そのオフセットからのメッセージが表示されます。
初めて消費者グループを明示的に作成することはできないため、私は混乱しています。Zookeeper で作成されたオフセット ノードを取得するには、メッセージを読む必要があるようです。
私の質問
特定のオフセットを指す消費者グループを明示的に作成する方法はありますか、またはまだ使用されていない消費者グループの Zookeeper ノードを手動で作成して、正しいオフセット値に初期化しても問題ありませんか? それとも、この自動作成によってコンシューマー グループの割り当てプロセスが台無しになるのでしょうか?
apache-kafka - WAN 経由の Kafka プロデューサー/コンシューマー?
データセンターに Kafka クラスターがあります。WAN (インターネットを含む) を介して通信する可能性がある一連のクライアントは、クラスターとの間でリアルタイム メッセージを送受信します。
私はカフカのドキュメントから読みました:
...WAN を介してリモートの Kafka クラスターとの間で読み取りまたは書き込みを行うことは可能ですが、高レイテンシーのリンクには TCP の調整が必要になります。
通常、複数のデータセンターにまたがる単一の Kafka クラスターを実行することはお勧めできません。これは、Kafka の書き込みと Zookeeper の書き込みの両方で非常に長いレプリケーション レイテンシが発生し、ネットワークが分割されている場合は Kafka も Zookeeper も使用できなくなるためです。
- WAN 経由での生成は ZK を必要とせず、問題ありませんが、待ち時間の長い接続のために TCP を微調整することだけを考えてください。すごい!小切手。
- 高レベルのコンシューマ API には ZK 接続が必要です。
クライアントが WAN 経由で Kafka に読み書きすることは、上記の太字のクラスターと同じ制限の対象ではありませんか?
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