カフカサービスを開始する
- kafkaサービスを開始する前に、まず飼育係を有効にする必要があります。
apache-zookeeper-3.6.0-bin\bin\zkserver
- kafakaサービスを開始すると、起動構成ファイルになります。
kafka-server-start.bat ./config/server.properties
ウィンドウはカフカを使用
- kafkaをダウンロードした後、Windowsバージョンを使用してbin \ windowディレクトリに入る場合は、ここのコマンドを使用します。Linuxシステムのbinディレクトリにある.shファイルの場合。
テーマを作成する
kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
トピックを表示
kafka-topics.bat --list --zookeeper localhost:2181
テストプロデューサー
kafka-console-producer.bat --broker-list localhost:9092 --topic test
消費者をテストする
kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning
トピックを削除
server.propertiesに設定を追加し、
delete.topic.enable = trueはデフォルトでは有効になっていません
kafka-topics --delete --topic test --zookeeper localhost:2181
データを削除する
テーマを保持する場合は、テーマの既存のデータ(ログ)のみを削除してください。これは、データ保持時間を変更することで実現できます。
kafka-configs --zookeeper localhost:2181 --entity-type topics --entity-name test --alter --add-config retention.ms=3000
//修改保留时间为三秒,但不是修改后三秒就马上删掉,kafka是采用轮训的方式,轮训到这个主题发现三秒前的数据都是删掉。时间由自己在server.properties里面设置,设置见下面。
実行出力:Completed Updating config for entity: topic 'test'.
注:保持時間を10秒に変更し、すぐに削除しないでください。Kafkaはポーリング方式であり、このトピックにポーリングすると、10秒前のデータが削除されます。
時間は、server.propertiesのlog.retention.check.interval.msオプションによって支配されます
log.retention.check.interval.msの値が1分だとすると、70秒待った後、このトピックのデータは自動的に削除されます
トピックをもう一度表示
kafka-configs.bat --zookeeper zookeeper-1.default.svc.cluster.localhost:2181 --describe --entity-type topics --entity-name test
kafka配置
グローバル戦略は、各トピックのserver.propertiesファイルで構成されます
server.properties
セグメンテーション戦略の属性
属性名 | 意味 | デフォルト値 |
---|---|---|
log.roll。{hours、ms} | ログローリングのサイクルタイム。指定されたサイクルタイムに達すると、新しいセグメントが強制的に生成されます。 | 168(7日) |
log.segment.bytes | 各セグメントの最大容量。指定された容量に達すると、新しいセグメントが強制的に生成されます | 1G(-1は無制限) |
log.retention.check.interval.ms | ログフラグメントファイルをチェックするためのサイクルタイム | 60000 |
ログ更新戦略
Kafkaのログは、最初は実際にはキャッシュ内にあり、その後、スループットを改善する戦略に従って、バッチごとにログファイルに書き込まれます。
の属性 | 解説 | デフォルト値 |
---|---|---|
log.flush.interval.messages | ログファイルに書き込まれるメッセージの数 | 10000 |
advertised.listeners | Kafkaクラスターが外部ネットワークにアクセスできないという問題の解決策、ローカルイントラネットIPをここに入力してください | PLAINTEXT://your.host.name:9092 |
log.flush.interval.ms | この時間に達すると、フラッシュが強制されます | ヌル |
log.flush.scheduler.interval.ms | 情報をフラッシュする必要があるかどうかを定期的に確認してください | 大きな価値 |
ログの保存とクリーニングの戦略
属性名 | 意味 | デフォルト値 |
---|---|---|
log.cleanup.polict | ログのクリーニングと保存には、削除と圧縮の2つの戦略しかありません。 | 削除する |
log.retention.hours | ログの保存時間。時間、分、ミリ秒を選択できます | 168(7日) |
log.retention.bytes | 削除前の最大許容ログファイル | -1 |
log.segment.delete.delay.ms | ログファイルが実際に削除されるまでの保持時間 | 60000 |
log.cleanup.interval.mins | クリーンアップ手順を呼び出す頻度 | 10 |
log.retention.check.interval.ms | 削除の条件を満たすログがあるかどうかを定期的に確認する(新しいバージョンで使用) | 300000 |
特に、ここにログのリアルタイムがあります。削除の条件が満たされると、ログは「削除」されますが、ここでの削除はログを「削除」するだけであり、ファイルにインデックスを付けることはできません。しかし、ファイル自体はまだ存在し、log.segment.delete.delay.msがこの時間を過ぎて初めて、ファイルはファイルシステムから削除されます。