Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

QA

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

● 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

Slide 6

Slide 6 text

その他

Slide 7

Slide 7 text

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をハンズオンをしてみたい

Slide 8

Slide 8 text

Thank you