Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Apache Kafka on Kubernetes 基礎編 ワークショップ QA 2022-01-12 / Apache Kafka Workshop QA 2022-01-12

suzukiry
January 12, 2022

Apache Kafka on Kubernetes 基礎編 ワークショップ QA 2022-01-12 / Apache Kafka Workshop QA 2022-01-12

suzukiry

January 12, 2022
Tweet

More Decks by suzukiry

Other Decks in Technology

Transcript

  1. Apache Kafka on Kubernetes基礎編
    ワークショップ QA
    2022.01.12 分

    View Slide

  2. Strimzi
    ● Apache KafkaのクラスタをKubernetes上で管理するOperator
    ○ オープンソースプロジェクト( Apache License 2.0)
    ○ Cloud Native Computing Foundation (CNCF)
    ● Strimzi で提供するもの:
    ○ Apache Kafka, Connect, Zookeeper, MirrorMaker2 の コンテナイメージ
    ○ Apache Kafka clusters, topics and users を管理するKubernetes Operators

    View Slide

  3. QA

    View Slide

  4. Note:Kafka Connect でのプロセス数はどのように管理するのですか?
    ● Kafka Connectでは、Worker、Connector、Tasksというスレッドが立ち上がり、処
    理を行います。そのうち、Taskが 実際にデータコピーを担当します。
    ● Taskの数は、tasks.maxによって指定。全クラスタノード上でいくつのTaskかを決め
    ています。
    Q.
    Worker-1
    Connector-1
    Task-1
    (Conn1)
    Task-2
    (Conn1)
    Worker-2
    Connector-2
    Task-3
    (Conn1)
    Task-1
    (Conn2)
    Worker-3
    Thread
    JVM
    Process
    https://www.slideshare.net/vitojeng/streaming-process-with-kafka-connect-and-kafka-streams-80721215

    View Slide

  5. ● Connectorで作られるタスク数の最大数
    ○ Source Connector の場合はその対象(テーブル、ファイルなど)、 Sink Connector の場合はTopic
    のPartition数を気にしながら設定すべき。
    ○ Source の場合
    ■ テーブル毎の割り当て
    ● テーブルx3・タスクx3であれば、各タスクで 1テーブルを担当する。
    ● テーブルx6・タスクx2であれば、各タスクで 3テーブルを担当する。
    ● テーブルx1・タスクx2であれば、1タスクのみ1テーブルを担当する。(つまり別の 1タスク
    は無駄になる)
    ○ Sink の場合
    ■ 対象Topicのパーティション数次第。
    ● Sink タスク(=Consumer)は Partition の数より多く持つことができない。
    ● 高スループットにしたい場合は、パーティション数 =タスク数( パーティション数<タスク
    数だとアイドルするだけ )
    ● パフォーマンスを下げて良い場合は、 パーティション数>タスク数 の設定もOK.
    分散処理の仕組み - パラメータ:tasks.max

    View Slide

  6. その他

    View Slide

  7. AMQ Streams
    ● Apache Kafka のエンタープライズ向けディストリビューション
    ○ 2018年から Kafka をサポート、Kubernetes 上でも提供
    ○ Red Hat AMQ Streams としてローンチ
    ● 提供形態
    ○ Red Hat Enterprise Linux
    ○ Red Hat OpenShift Container Platform
    Apache Kafka on Kubernetes 基礎編 ワークショップ:
    https://redhat-open.connpass.com/
      Strimzi/AMQ Streamsをハンズオンをしてみたい

    View Slide

  8. Thank you

    View Slide