kafka windowプラットフォーム学習ノート(一)

6179 ワード

ダウンロードhttp://kafka.apache.org/downloads.html 参考文献http://kafka.apache.org/documentation/
kafkaはzookeeperに依存しています。とりあえずzookeeperを起動します。kafkaは起動します。
1.D:\kafka_2.12-2.6.0\configフォルダでファイルを修正する
zookeeper.properties      dataDir=D:/Tool/zookeeper-3.4.13/tmp (        )

server.properties       log.dirs=D:\Tool\kafka_2.11-2.1.1\kafka-log, (      )
     zookeeper.connect=localhost:2181。      (       )

 Kafka     , 9092     ,
    zookeeper     :2181。
zookeeperサービスを開始します。
zookeeper-server-start.bat  ..\..\config\zookeeper.properties
zookeeperクライアントを起動します。
zookeeper-shell.bat localhost:2181
起動kafka
kafka-server-start.bat ..\..\config\server.properties
topic testを作成します
kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 3 --topic test2
あるいは、プロキシを手動で作成するのではなく、リリースされたtopicが存在しないときに自動的にtopicを作成するように構成してもいいです。
生産者の作成に関する情報
kafka-console-producer.bat --broker-list localhost:9092 --topic test2
消費者受信メッセージの作成
    
kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning
      
kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test2 --consumer-property group.id=group1
追加–consumer-property group.id=group 1で消費グループをグループ1に指定します。
topicを表示する
 ./kafka-topics.bat --list --zookeeper localhost:2181
 ./kafka-topics.bat --describe --zookeeper localhost:2181
テーマを削除
消費者の位置を見る:kafka window平台学习笔记(一)_第1张图片
 //kafka-run-class.bat kafka.tools.ConsumerOffsetChecker --zkconnect localhost:2181  --group group1
            
kafka-consumer-groups.bat --describe --bootstrap-server localhost:9092  --group group1
          ,      ,            partition ,          
php接続kafka生産と消費参考資料:https://www.cnblogs.com/lz0925/p/11280654.html
消費者グループの中の消費者数はパーティションの数を超えてはいけません。
パーティションの数が3であり、消費者の数が4である場合、消費者は何の情報も得られない。
kafkaログにメッセージの格納状況があります。
kafka-run-class.bat kafka.tools.DumpLogSegments  --files  ..\..\kafka-logs\test2-0\00000000000000000000.log  --print-data-log
消費シフトoffsetを確認してください。kafkaのbinディレクトリの下にあるkafka-consumer-groups.shコマンドはoffsetの消費状況を確認できます。注意してください。もしあなたのoffsetがkafkaクラスタ上に存在するなら、kafkaサーバのアドレスbootstrap-serverを指定します。
/kafka-consumer-groups.bat --bootstrap-server localhost:9092   --describe --group group1

指定されたoffsetに従って消費データを行う:
./kafka-console-consumer.sh --bootstrap-server master:9092 --topic mytest --consumer-property group.id=group_mytest --offset 8 --partition 0
java消費がzookeeperに入ると、group_があります。mystestという消費グループはmystestテーマの各パーティションに対する消費シフト情報を提供しています。
ls /consumers/group_mytest/offsets/mytest/0
get /consumers/group_mytest/offsets/mytest/0
まず、消費者はjavaaphiによって消費するということです。つまり「kafka.javaaphi.com nsumer.Connect」というパラメータを設定して消費します。この場合、消費者のoffsetは、zookeeperの【consumers/group]/offsets/{topic}/{partition}カタログに更新されます。
 get /kafka/consumers/zoo-consumer-group/offsets/my-topic/0
kafkaのデフォルトのapiによって消費されるなら、すなわち「org.apache.kafka.clients.com nsumer.KafkaConssumer」というパラメータを設定して消費します。その消費者のoffsetは、kafkaが持参するtopicに更新されます。次に、現在のグループの消費進捗を確認すると、kafkaが持参するツール「kafka-consumer-offset checker」によって上記の結果を説明します。
kafka-consumer-groups.bat --bootstrap-server localhost:9092   --describe --group group1
Group:消費者グループTopic:topicの名前Pid:partionのID Offset:kafka消費者が対応するパーティションで消費したメッセージ数【位置】logSize:すでにこのパーティションに書かれているメッセージ数【位置】Lag:まだどれぐらいのメッセージが読み取られていませんか?Owner:パーティションはどのbrookに作成されますか?
offset更新の方式は、どのアプリを使うかを区別しないで、大きく二つの種類に分けられます。
自動提出で、enabole.aut.co mmit=trueを設定し、更新の頻度はパラメータ【aut.com mmit.interval.ms】によって決められます。このような方法は「at most once」とも言われています。fetchはメッセージが届くとoffsetを更新できます。消費が成功するかどうかに関わらず。手動で提出し、enabole.aut.co mmit=falseを設定することを「at least once」といいます。fetchがメッセージに到着したら、消費完了後に再起動方法【consumer.com mmitSync()】を呼び出して、手動でoffsetを更新する。もし消費が失敗したら、Offsetも更新されません。このメッセージは繰り返し消費されます。
直接ノックコマンドはパラメータなしkafka window平台学习笔记(一)_第2张图片です。
以上の手順をまとめると、メッセージのプッシュがbrookに送られたログファイルを確認し、メッセージのプッシュ内容、offset、時間などの情報を確認することができます。また、メッセージ端末がメッセージを読み出すオフセットの位置も確認しても良い。kakfaの仕事原理をもっと深く知ることができます。
Kafkaはtopicを複数のpartitionに区分して記憶することによって、2つの利点がある:
メッセージ格納拡張。1つのファイルの記憶サイズは限られているが、クラスタ内の複数のファイルの記憶は、1つのtopicが保存できるメッセージの数を大きく増やすことができる。並行して読み書きする。複数のpartitionファイルを通じてメッセージを格納し、producerとconsumerが並列に読んでtopicを書くことができることを意味する。Consmerがメッセージを消費する場合、指定されたoffsetを通じて、次の読み取りたいメッセージを特定します。なお、OffsetのメンテナンスはConsmerの全権によって制御されます。Kafkaクラスタは、Consmerから着信されたoffsetに従って対応するメッセージを返すだけに責任がある。下図のように:
Kafkaは消費されたメッセージをすぐに削除しません。brookの構成によってどれぐらいの頻度で掃除するかを決めます。brookに配置された時間が到着すると、メッセージが消費されるかどうかにかかわらず、Kafkaはディスク空間を整理する。
最後に、Kafkaはメッセージのもう一つのパーティション内の消費だけが秩序化されていることを保証することができる。一つのtopicの下(複数のパーティションを持つ)すべてのメッセージ消費が秩序化されていることは保証されていません。