第3章 スタートガイド
Streams for Apache Kafka は、Kafka コンポーネントのインストールアーティファクトを含む ZIP ファイルで配布されています。
Kafka Bridge には個別のインストールファイルがあります。Kafka Bridge のインストールおよび使用に関する詳細は、Streams for Apache Kafka Bridge の使用 を参照してください。
3.1. インストール環境
Streams for Apache Kafka は Red Hat Enterprise Linux 上で実行されます。ホスト (ノード) は、物理マシンまたは仮想マシン (VM) にすることができます。Kafka コンポーネントをインストールするには、Streams for Apache Kafka に付属のインストールファイルを使用します。Kafka は、シングルノード環境または複数ノード環境にインストールできます。
- シングルノード環境
- シングルノード Kafka クラスターは、Kafka コンポーネントのインスタンスを単一のホスト上で実行します。この設定は、実稼働環境には適していません。
- マルチノード環境
- マルチノード Kafka クラスターは、Kafka コンポーネントのインスタンスを複数のホスト上で実行します。
Kafka と他の Kafka コンポーネント (Kafka Connect など) を別のホストで実行することを推奨します。この方法でコンポーネントを実行すると、各コンポーネントの保守とアップグレードが容易になります。
Kafka クライアントは、bootstrap.servers
設定プロパティーを使用して Kafka クラスターへの接続を確立します。たとえば、Kafka Connect を使用している場合、Kafka Connect 設定プロパティーには、Kafka ブローカーが実行されているホストのホスト名とポートを指定する bootstrap.servers
値が含まれている必要があります。Kafka クラスターが複数の Kafka ブローカーを持つ複数のホストで実行されている場合は、ブローカーごとにホスト名とポートを指定します。各 Kafka ブローカーは、node.id
によって識別されます。
3.1.1. データストレージに関する留意事項
Streams for Apache Kafka のパフォーマンスを最適化するには、効率的なデータストレージインフラストラクチャーが不可欠です。
ブロックストレージが必要です。NFS などのファイルストレージは、Kafka では機能しません。
ブロックストレージには、以下のいずれかのオプションを選択します。
- Amazon Elastic Block Store (EBS) などのクラウドベースのブロックストレージソリューション
- ローカルストレージ
- ファイバーチャネル や iSCSI などのプロトコルがアクセスする SAN (ストレージエリアネットワーク) ボリューム
3.1.2. ファイルシステム
Kafka は、メッセージの保存にファイルシステムを使用します。Streams for Apache Kafka は、Kafka で一般的に使用される XFS および ext4 ファイルシステムと互換性があります。ファイルシステムを選択して設定するときは、デプロイメントの基盤となるアーキテクチャーと要件を考慮してください。
詳細は、Kafka ドキュメントの Filesystem Selection を参照してください。
3.1.3. Apache Kafka および ZooKeeper ストレージ
Apache Kafka と ZooKeeper には別々のディスクを使用します。
Kafka は、複数のディスクまたはボリュームのデータストレージ設定である JBOD (Just a Bunch of Disks) ストレージをサポートします。JBOD は、Kafka ブローカーのデータストレージを増やします。また、パフォーマンスを向上することもできます。
ソリッドステートドライブ (SSD) は必須ではありませんが、複数のトピックに対してデータが非同期的に送受信される大規模なクラスターで Kafka のパフォーマンスを向上させることができます。SSD は、高速で低レイテンシーのデータアクセスが必要な ZooKeeper で特に有効です。
Kafka と ZooKeeper の両方にデータレプリケーションが組み込まれているため、レプリケーションされたストレージのプロビジョニングは必要ありません。