Apache Kafka 0.8.1.1のトピックtest
を削除する必要があります。
ここのドキュメント で表されているように、私は実行しました:
bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic test
ただし、これにより次のメッセージが表示されます。
Command must include exactly one action: --list, --describe, --create or --alter
このトピックを削除するにはどうすればよいですか?
トピックの削除が0.8.1.1で常に機能するとは限りません
削除は、次のリリース0.8.2で機能するはずです。
kafka-topics.sh --delete --zookeeper localhost:2181 --topic your_topic_name
Topic your_topic_name is marked for deletion.
Note: This will have no impact if delete.topic.enable is not set to true.
既知のバグ( https://issues.Apache.org/jira/browse/KAFKA-1397)のため、削除コマンドはKafka0.8.1.xで正式に文書化されていないようです。 )。
それでも、コマンドはコードに含まれたままで、次のように実行できます。
bin/kafka-run-class.sh kafka.admin.DeleteTopicCommand --zookeeper localhost:2181 --topic test
それまでの間、バグは修正され、削除コマンドはKafka0.8.2.0から正式に利用可能になりました。
bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic test
以下の行を$ {kafka_home} /config/server.propertiesに追加します
delete.topic.enable=true
新しい構成でkafkaサーバーを再起動します。
${kafka_home}/bin/kafka-server-start.sh ~/kafka/config/server.properties
目的のトピックを削除します。
${kafka_home}/bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic daemon12
アンドレアは正しいです。コマンドラインを使用して実行できます。
そして、私たちはまだそれをプログラムすることができます。
ZkClient zkClient = new ZkClient("localhost:2181", 10000);
zkClient.deleteRecursive(ZkUtils.getTopicPath("test2"));
実際、Kafka 0.8.1.1のトピックを削除することはお勧めしません。この方法でこのトピックを削除できますが、zookeeperのログを確認すると、削除すると混乱します。
Kafkaで1つ以上のトピックを削除する手順
1. Go to {kafka_home}/config/server.properties
2. Uncomment delete.topic.enable=true
kafka-topics.sh --delete --zookeeper localhost:2181 --topic
(テスト目的に適しています。複数のトピックを作成し、さまざまなシナリオでそれらを削除する必要がありました)
bin/kafka-topics.sh --list --zookeeper localhost:2181
トピックがリストされていない場合、すべてのトピックが正常に削除されています。トピックがリストされている場合、削除は成功しませんでした。上記の手順をもう一度試すか、コンピューターを再起動します。
特定のkafkaトピック(例:test
)をzookeeperシェルコマンド(zookeeper-Shell.sh
)から削除できます。以下のコマンドを使用してトピックを削除します
rmr {path of the topic}
例:
rmr /brokers/topics/test
この手順により、すべてのトピックとデータが削除されます
コマンド:
bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic test
残念ながら、削除するトピックのみをマークします。
削除は発生しません。
これは、Kafka構成を準備するスクリプトをテストするときに問題を引き起こします。
接続されたスレッド:
Docで述べたように here
トピック削除オプションはデフォルトで無効になっています。これを有効にするには、サーバー構成を設定しますdelete.topic.enable = true Kafkaは、現在、トピックのパーティション数の削減またはレプリケーション係数の変更をサポートしていません。
Delete.topic.enable = trueを確認してください
bin/kafka-topics.sh –delete –zookeeper localhost:2181 –topic <topic-name>
上記の回答に追加すると、zookeeperコンシューマーオフセットパスでそのトピックに関連付けられているメタデータを削除する必要があります。
bin/zookeeper-Shell.sh zookeeperhost:port
rmr /consumers/<sample-consumer-1>/offsets/<deleted-topic>
そうしないと、zookeeperに基づいたkafka監視ツールで遅延が負になります。
トピックの削除に問題がある場合は、次を使用してトピックを削除してみてください。
$KAFKA_HOME/bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic your_topic_name
コマンド。次に、削除プロセスを確認するために、通常/tmp/kafka-logs/
の下にあるkafka logsディレクトリに移動し、your_topic_name
コマンドでrm -rf your_topic_name
ファイルを削除します。
Kafka Tool
などのkafka管理ツールを使用して、プロセス全体を忘れずに監視してください。
上記のプロセスは、kafkaサーバーを再起動せずにトピックを削除します。
まず、このコマンドを実行してトピックを削除します。
$ bin/kafka-topics.sh --delete --bootstrap-server localhost:9092 --topic <topic_name>
アクティブなトピックをリストして、削除を完全に確認します。
$ bin/kafka-topics.sh --list --bootstrap-server localhost:9092
ステップ1:zookeeperに接続され、Kafkaが実行されていることを確認します
ステップ2:Kafkaトピックを削除するには、Kafka-topic(Mac)または使用する場合はKafka-topic.sh(linux/Mac)を実行し、トピックの名前でポートと--topicを追加し、-delete成功したトピックを削除するだけです。
# Delete the kafka topic
# it will delete the kafka topic
kafka-topics --zookeeper 127.0.0.1:2181 --topic name_of_topic --delete
# or
kafka-topics.sh --zookeeper 127.0.0.1:2181 --topic name_of_topic --delete