タグ付けされた質問 「apache-kafka」

Apache Kafkaは、高スループットのデータストリームを保存および処理するように設計された分散ストリーミングプラットフォームです。

14
Kafka 0.8.1.1のトピックを削除
testApache Kafka 0.8.1.1のトピックを削除する必要があります。 ここのドキュメントに記載されているように、私は実行しました: bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic test ただし、これにより次のメッセージが表示されます。 Command must include exactly one action: --list, --describe, --create or --alter このトピックを削除するにはどうすればよいですか?

2
RedisとKafkaの違い[クローズ]
クローズ。この質問はもっと焦点を合わせる必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てるようにします。 4か月前に閉鎖されました。 この質問を改善する Redisは、Kafkaと同じようにリアルタイムのpub-subとして使用できます。 どちらをいつ使うか迷っています。 どんなユースケースでも大いに役立ちます。

13
トピックからすべてのデータを削除したり、実行するたびにトピックを削除したりする方法はありますか?
トピックからすべてのデータを削除したり、実行するたびにトピックを削除したりする方法はありますか? KafkaConfig.scalaファイルを変更してlogRetentionHoursプロパティを変更できますか?消費者がメッセージを読むとすぐにメッセージが削除される方法はありますか? プロデューサーを使用してどこかからデータをフェッチし、コンシューマーが消費する特定のトピックにデータを送信していますが、実行するたびにそのトピックからすべてのデータを削除できますか?トピックでは毎回新しいデータのみが必要です。どういうわけかトピックを再初期化する方法はありますか?

5
道路の平均速度を計算する[終了]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 4日前休業。 データエンジニアの面接に行ってきました。インタビュアーから質問がありました。彼は私にいくつかの状況を与え、そのシステムのデータフローを設計するように頼みました。私はそれを解決しましたが、彼は私の解決策を嫌い、失敗しました。その課題を解決するためのより良いアイデアがあるかどうか知りたいのですが。 問題は: 私たちのシステムは4つのデータストリームを受信します。データには、車両ID、速度、地理位置情報の調整が含まれています。すべての車両が1分に1回データを送信します。特定の小川と特定の道路や車両などには何の関係もありません。コーディネートを受け付けて道路区間名を返す機能があります。5分あたりの道路セクションごとの平均速度を知る必要があります。最後に、結果をKafkaに書き込みます。 だから私の解決策は: 最初に、すべてのデータをカフカクラスターに1つのトピックに書き込み、緯度の最初の5〜6桁を経度の最初の5〜6桁に連結して分割します。次に、Structured Streamingによってデータを読み取り、調整ごとに道路セクション名を行ごとに追加し(そのための事前定義されたudfがあります)、道路セクション名によってデータをまとめます。 Kafkaのデータを調整の最初の5桁から6桁で分割するため、調整をセクション名に変換した後、大量のデータを正しいパーティションに転送する必要がないため、colesce()操作を利用できます。それは完全なシャッフルを引き起こしません。 次に、エグゼキューターごとの平均速度を計算します。 プロセス全体は5分ごとに発生し、追加モードでデータを最後のKafkaシンクに書き込みます。 そのため、面接担当者は私の解決策を好まなかった。誰かがそれを改善する方法や完全に異なるより良いアイデアを提案できますか?

2
メッセージの処理が失敗した場合、同じメッセージを再度消費します
Confluent.Kafka .NETクライアントバージョン1.3.0を使用しています。私はドキュメントに従っています: var consumerConfig = new ConsumerConfig { BootstrapServers = "server1, server2", AutoOffsetReset = AutoOffsetReset.Earliest, EnableAutoCommit = true, EnableAutoOffsetStore = false, GroupId = this.groupId, SecurityProtocol = SecurityProtocol.SaslPlaintext, SaslMechanism = SaslMechanism.Plain, SaslUsername = this.kafkaUsername, SaslPassword = this.kafkaPassword, }; using (var consumer = new ConsumerBuilder<Ignore, string>(consumerConfig).Build()) { var cancellationToken = new CancellationTokenSource(); …

2
Faust Pythonパッケージを使用してkafkaトピックをWebエンドポイントに接続する方法
トピックを聞くための機能とWebエンドポイントのための機能の2つの機能を持つシンプルなアプリがあります。サーバー側のイベントストリーミング(SSE)、つまりtext / event-streamを作成して、クライアント側でEventSourceを使用してリッスンできるようにしたいと考えています。 今のところ、次のコードがあり、各関数が特定の作業を行っています。 import faust from faust.web import Response app = faust.App("app1", broker="kafka://localhost:29092", value_serializer="raw") test_topic = app.topic("test") @app.agent(test_topic) async def test_topic_agent(stream): async for value in stream: print(f"test_topic_agent RECEIVED -- {value!r}") yield value @app.page("/") async def index(self, request): return self.text("yey") 今、私はこのコードのようなものをインデックスに入れたいが、faustを使用している: import asyncio from aiohttp import web from aiohttp.web import …

2
Kafka:FETCH_SESSION_ID_NOT_FOUNDを継続的に取得しています
FETCH_SESSION_ID_NOT_FOUNDを継続的に取得しています。なぜそうなったのかはわかりません。誰も私にここで私を喜ばせますか?問題は何であり、消費者とブローカーに何が影響しますか? Kafkaサーバーログ: INFO [2019-10-18 12:09:00,709] [ReplicaFetcherThread-1-8][] org.apache.kafka.clients.FetchSessionHandler - [ReplicaFetcher replicaId=6, leaderId=8, fetcherId=1] Node 8 was unable to process the fetch request with (sessionId=258818904, epoch=2233): FETCH_SESSION_ID_NOT_FOUND. INFO [2019-10-18 12:09:01,078] [ReplicaFetcherThread-44-10][] org.apache.kafka.clients.FetchSessionHandler - [ReplicaFetcher replicaId=6, leaderId=10, fetcherId=44] Node 10 was unable to process the fetch request with (sessionId=518415741, epoch=4416): FETCH_SESSION_ID_NOT_FOUND. INFO [2019-10-18 …

1
Kafkaは、グローバルストアを追加するためのユースケースをストリーミングします
kafkaストリームでトポロジを定義するときに、グローバルステートストアを追加できます。ソーストピックとが必要になりますProcessorSupplier。プロセッサーはレコードを受け取り、それらをストアに追加する前に理論的に変換できます。ただし、復元の場合、レコードはソーストピック(変更ログ)からグローバル状態ストアに直接挿入され、プロセッサで行われる最終的な変換はスキップされます。 +-------------+ +-------------+ +---------------+ | | | | | global | |source topic -------------> processor +--------------> state | |(changelog) | | | | store | +-------------+ +-------------+ +---------------+ | ^ | | +---------------------------------------------------------+ record directly inserted during restoration StreamsBuilder#addGlobalStore(StoreBuilder storeBuilder、String topic、Consumed consumer、ProcessorSupplier stateUpdateSupplier)グローバルStateStoreをトポロジに追加します。 ドキュメントに従って 注:変換されたレコードをグローバルステートストアに挿入するためにプロセッサを使用しないでください。このストアは、ソーストピックを変更ログとして使用し、復元時にソースから直接レコードを挿入します。このProcessorNodeは、StateStoreを最新の状態に保つために使用する必要があります。 並行して、主要なバグが現在カフカバグトラッカーで開かれています。ドキュメントに記載されている内容を正確に説明するトピックから状態を復元する場合、addGlobalStoreで提供されるKAFKA-7663カスタムプロセッサは使用されませんが、受け入れられたバグのようです。 KAFKA-7663が本当にバグかどうか疑問に思っています。ドキュメントによると、このように設計されているようです。その場合、ユースケースを理解するのに苦労します。 誰かがこの低レベルAPIの主な使用例を説明できますか?私が考えることができる唯一のことは、たとえばプロセッサでいくつかのログ操作を行うなどの副作用を処理することです。 おまけの質問:ソーストピックがグローバルストアの変更ログとして機能する場合、保存期間が切れたためにトピックからレコードが削除されると、グローバルステートストアから削除されますか?または、変更ログからストアを完全に復元した後にのみ、ストアで削除が行われますか?

2
カフカストリームのべき等性と1回限りの違い
有効にすることで正確に1回のトランザクションを達成できることを理解した文書を調べていました idempotence=true べき等性:べき等プロデューサーは、単一のトピックに対してプロデューサーに対して一度だけ有効にします。基本的に、各単一メッセージ送信にはより厳しい保証があり、エラーが発生した場合に重複することはありません それで、すでにべき等性がある場合、カフカストリームで正確に一度だけ別のプロパティが必要なのはなぜですか?べき等と1回だけの違い 正確に1回限りのプロパティが通常のカフカプロデューサーで利用できないのはなぜですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.