Zookeeper における Kafka のデータ構造を完全に説明する図

Zookeeper における Kafka のデータ構造を完全に説明する図

[[421933]]

kafka_2.8.0 より前では、kafka を実行するには依然として zookeeper に依存する必要があり、「ブローカー登録情報」、「トピック情報」、「運用および保守の一時情報」、「構成情報」などの kafka 内の多くのデータが zk に保存されていました。

以下では、写真を使用して、Zookeeper における Kafka の全体像を紹介します。ぜひ集めてみることをお勧めします!!!

一枚の写真がすべてを物語る

Zookeeper における Kafka のデータ構造

1/クラスター

01- /cluster/id 永続データノード

クラスター ID 最初のブローカーが起動すると、/cluster/id が存在しないことがわかり、その cluster.id 構成が zk に書き込まれます。現在の zk がどのクラスターに属しているかをマークします。他のブローカーが後で起動すると、データが取得されます。データが自身の構成と一致していないことが判明した場合;例外がスローされ、同じクラスターに参加しません。データ例: {"version":"1","id":"0"}

2/controller_epoch 永続データノード

コントローラーの選出時間。

3/コントローラ一時データノード

現在のコントローラー ロールの BrokerId、データ例: {"version":1,"brokerid":0,"timestamp":"1624415590383"} このノードを削除すると、すぐに再選出がトリガーされます

4/ログディレクトリイベント通知

zk データには、シリアル番号永続ノードであるノード /log_dir_event_notification/ があります。 kafka でのこのノードの役割は次のとおりです: ブローカーの LogDir で例外が発生した場合 (ディスクの損傷、ファイルの読み取りおよび書き込みの失敗など)、子ノード /log_dir_event_notification/log_dir_event_serial 番号を zk に追加します。コントローラーはこのノードの変更を監視した後、ブローカーに LeaderAndIsrRequest リクエストを送信します。その後、オフラインレプリカに対していくつかのフォローアップ操作を実行します

5/isr_change_notification/log_dir_event_{シーケンス番号}

Isrが変更されると、このノードコントローラは変更を監視するように書き込まれます。

6/管理者

01 -/admin/delete_topics/{topicName} 永続ノード、削除するトピック

このノードが存在するということは、現在のトピックを削除する必要があることを意味します。

02 - /admin/reassign_partitions 永続データノード

このノードが存在する場合、データ移行が現在進行中であり、その中のデータは移行中の構成サンプル データであることを意味します。

7/ブローカー

01 -/ブローカー/seqid

/brokers/seqid: グローバルシーケンス番号にデータがありません。主にノードの dataVersion 情報をグローバル シーケンス番号として使用します。

Kafka の機能: BrokerId を自動的に生成は、主に brokerId を自動的に生成するために使用されます。クラスターが非常に大きい場合、brokerId の設定を繰り返すことはできず、1 つずつ設定するのは面倒です。ブローカーにBrokerIdを自動生成させることもできます

server.properties の設定

  1. ## Brokeridを自動生成するように設定する
  2. ブローカーID生成を有効にする= true  
  3. ## BrokerId<0 を設定します (>=0 の場合は、この構成が優先されます)
  4. ブローカーID=-1
  5. ## 構成の開始値を自動的に生成する
  6. 予約ブローカー最大ID =20000

BrokerIdの計算方法

ブローカーID = {reserved.broker.max.id} +/brokers/seqid.dataVersion

/brokers/seqid の dataVersion 値を取得するたびに、set メソッドを使用します。設定時はバージョンデータは取得されずに返されます。ノードデータを設定するたびに、バージョン情報が自動的に増加します。グローバル自動インクリメント ID が実装されます。

02 - /brokers/ids/{id} 一時データノード: オンラインブローカーID

すべてのオンラインブローカーはここにノードを登録します。オフラインになると自動的に削除されます。

03 - /brokers/topics/{topicName} 永続データノード

ストレージ トピック パーティション レプリカの割り当て情報。例: {"version":1,"partitions":{"0":[0]}}

/brokers/topics/{topicName}/{partition number}/state 永続データノード

指定されたパーティションのリーダーや isr などの情報を格納します。例: {"controller_epoch":203,"leader":0,"version":1,"leader_epoch":0,"isr":[0]}

この記事はWeChat公式アカウント「Shi Zhenzhen's Grocery Store」から転載したものです。下のQRコードからフォローできます。記事を転載する場合は、石真珍食料品店の公式アカウントまでご連絡ください。

<<:  コンテナを理解するには、まずその歴史から始めましょう

>>:  Dubbo 3.0サーバー露出の全プロセスの詳細な分析

推薦する

hostodo-年間36ドルのVPS/KVM/1gのメモリ/30gのハードディスク/1.5Tのトラフィック/ロサンゼルス

Hostodo のロサンゼルス データ センターの KVM VPS は特別プロモーション中です。VP...

Qingfeng アルゴリズムによるタイトルの不正行為で企業サイトが最近大規模な処罰を受けた件から、何を学びましたか?

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています7月28日...

事例分析:中小規模の観光ウェブサイトを最適化する方法

BaiduによるQunarへの投資、AlibabaによるQyer.comへの投資、CtripとeLo...

コア ネットワークに仮想化 (NFV) が必要な理由は何ですか?

[[225643]]通信について少しでも知っている人なら、モバイル通信ネットワークには多くのコンポー...

Weiboでフォロワーを増やす楽しみは無限大。Weiboのトップユーザーが共有する体験談

みなさんこんにちは!私はテンセント微博の福州精神公社(アカウント番号fzmj5i)の担当者です。最近...

仮想現実知覚と仮想具現化の技術的応用

過去 2 年間で、仮想現実技術の台頭はハイテクとファッションの代名詞となりました。仮想現実技術が私た...

ウェブサイト開設までの過去3年間の業務経験の概要

2008年、安定した仕事を見つけるのはとても贅沢な考えだと思ったことを覚えています。当時、会社は非常...

Yecao Cloud: 年末セールが盛り上がり、香港専用サーバーが50%オフ、トラフィック無制限のVPSが38元から

今年ももうすぐ終わりです。年末のダブル12ショッピングフェスティバルに間に合うように、3つのネットワ...

IDC MarketScape: Ivanti が世界規模の統合エンドポイント管理のリーダーに選出

Ivanti は、強力なセキュリティ機能、幅広いデバイスへの幅広いサポート、幅広いチャネルへのリーチ...

ウェブサイトの最適化はネットワークマーケティングと同じではありません

ますます多くの中小企業がオンラインマーケティングに挑戦し始めていますが、ほとんどの中小企業の経営者は...

#CheapVPS# 最適化されたVPS: 安く販売し、VPS価格の下限に挑戦

最適化された VPS の 25% オフ割引コードはここにあります: 最適化された VPS の秋のプロ...

キーワード選定はあくまでも基本レイアウトであり、最も重要なことです(パート1)

多くのウェブマスターは、自分のウェブサイトのランキングに困惑しています。同じオリジナルコンテンツと外...

ピンドゥオドゥオの失敗

Pinduoduoとテスラは対立している。ピンドゥオドゥオは8月16日午後、上海のピンドゥオドゥオ共...

在庫 | 2020 年に注目を集めるクラウド コンピューティング スタートアップ 10 社

コロナウイルスのパンデミックにより、クラウドコンピューティングの発展がさらに促進され、この分野のスタ...

inertianetworks-30USD/年/KVM/512MB RAM/15GB HDD/1TBトラフィック/ロサンゼルス

inertianetworks.com は 2009 年からホスティング サービスを提供していますが...