Kafka データを SingleStore に自動で継続的にレプリケーションする方法
常時稼働のアプリケーションには、自動フェイルオーバー機能とリアルタイムのデータアクセスが欠かせません。CData Sync を使えば、SingleStore インスタンスにKafka のデータをリアルタイムで統合できます。すべてのデータを1カ所に集約し、アーカイブ、レポーティング、分析、機械学習、AI などさまざまな用途に活用できます。
SingleStore を同期先として設定する
CData Sync を使って、Kafka のデータ を SingleStore にレプリケーションできます。同期先を追加するには、接続タブに移動します。
- 接続の追加をクリックします。
- 同期先タブを選択し、SingleStore コネクタを探します。
- 該当行の末尾にある接続の設定アイコンをクリックして、新しい接続ページを開きます。接続の設定アイコンが表示されていない場合は、コネクタのダウンロードアイコンをクリックして SingleStore コネクタをインストールします。新しいコネクタのインストールについて詳しくは、ヘルプドキュメントの「接続」セクションをご覧ください。
- SingleStore に接続するには、必要な接続プロパティを入力し、認証スキームを選択します(以下を参照):
- Server:SingleStore データベースをホストしているサーバーのホスト名または IP アドレスを入力します。
- Port:SingleStore データベースをホストしているサーバーのポート番号を入力します。
- Database(オプション):SingleStore サーバーに接続する際のデフォルトデータベースを入力します。設定しない場合は、すべてのデータベースのテーブルが利用可能になります。
標準認証で接続する
標準認証を使用する場合は、以下を設定します:
- User:SingleStore サーバーで認証するためのユーザー名を入力します。
- Password:SingleStore サーバーで認証するためのパスワードを入力します。
統合セキュリティで接続する
標準のユーザー名とパスワードの代わりに、IntegratedSecurity を True に設定して、Windows 認証を介して信頼できるユーザーをサーバーに認証させることができます。
SSL 認証で接続する
SSL 認証を使用して、安全なセッションで SingleStore データに接続できます。以下の接続プロパティを設定してデータに接続します:
- SSLClientCert:クライアント証明書の証明書ストア名を設定します。双方向 SSL(トラストストアとキーストアがクライアントとサーバーの両方に保持される場合)で使用されます。
- SSLClientCertPassword:クライアント証明書ストアがパスワードで保護されている場合は、ストアのパスワードを設定します。
- SSLClientCertSubject:TLS/SSL クライアント証明書のサブジェクトを入力します。ストア内の証明書を特定するために使用されます。
- SSLClientCertType:クライアントストアの証明書タイプを入力します。
- SSLServerCert:サーバーから受け入れる証明書を入力します。
SSH 認証で接続する
SSH を使用すると、リモートマシンに安全にログインできます。SSH 経由で SingleStore データにアクセスするには、以下の接続プロパティを設定します:
- SSHClientCert:クライアント証明書の証明書ストア名を設定します。
- SSHClientCertPassword:クライアント証明書ストアがパスワードで保護されている場合は、ストアのパスワードを設定します。
- SSHClientCertSubject:TLS/SSL クライアント証明書のサブジェクト。ストア内の証明書を特定するために使用されます。
- SSHClientCertType:クライアントストアの証明書タイプ。
- SSHPassword:SSH サーバーで認証するためのパスワード。
- SSHPort:SSH 操作に使用するポート。
- SSHServer:認証先の SSH 認証サーバー。
- SSHServerFingerPrint:接続先ホストの検証に使用される SSH サーバーのフィンガープリント。
- SSHUser:SSH サーバーで認証するためのユーザー名を設定します。
- 接続が確立されたら、作成およびテストをクリックして接続を作成、テスト、保存します。
これで SingleStore に接続され、データソースとしても同期先としても使用できるようになりました。
NOTE:ラベル機能を使って、データソースや同期先にラベルを追加できます。
この記事では、Kafka のデータ を SingleStore にロードし、同期先として活用する方法をご紹介します。
Kafka への接続を設定する
Kafka への接続は、接続タブから設定できます。Kafka アカウントへの接続を追加するには、接続タブに移動します。
- 接続の追加をクリックします。
- データソース(Kafka)を選択します。
- 接続プロパティを設定します。
Apache Kafka 接続プロパティの取得・設定方法
それでは、Apache Kafka に接続していきましょう。.NET ベースのエディションは、Confluent.Kafka およびlibrdkafka ライブラリに依存して機能します。 これらのアセンブリはインストーラーにバンドルされており、CData 製品と一緒に自動的にインストールされます。 別のインストール方法をご利用の場合は、NuGet から依存関係のあるConfluent.Kafka 2.6.0をインストールしてください。
Apache Kafka サーバーのアドレスを指定するには、BootstrapServers パラメータを使用します。
デフォルトでは、CData 製品はデータソースとPLAINTEXT で通信しており、これはすべてのデータが暗号化なしで送信されることを意味します。 通信を暗号化したい場合は、以下の設定を行ってください:
- UseSSL をtrue に設定し、CData 製品がSSL 暗号化を使用するように構成します
- SSLServerCert およびSSLServerCertType を設定して、サーバー証明書をロードします
Apache Kafka への認証
続いて、認証方法を設定しましょう。Apache Kafka データソースでは、以下の認証方法をサポートしています:
- Anonymous
- Plain
- SCRAM ログインモジュール
- SSL クライアント証明書
- Kerberos
Anonymous 認証
Apache Kafka の特定のオンプレミスデプロイメントでは、認証接続プロパティを設定することなくApache Kafka に接続できます。 このような接続はanonymous(匿名)と呼ばれます。
匿名認証を行うには、以下のプロパティを設定してください。
- AuthScheme:None
その他の認証方法については、ヘルプドキュメントをご確認ください。
- Kafka に接続をクリックして、接続が正しく設定されていることを確認します。
- 作成およびテストをクリックして変更を保存します。
レプリケーションクエリの設定
CData Sync では、ポイント&クリック操作と SQL クエリの両方でレプリケーションを制御できます。レプリケーションを設定するには、ジョブタブに移動し、ジョブを追加をクリックします。レプリケーションのデータソースと同期先を選択します。
テーブル全体をレプリケーションする
テーブル全体をレプリケーションするには、ジョブのタスクタブでタスクを追加をクリックし、SingleStore にレプリケーションしたい Kafka テーブルをリストから選択して、再度タスクを追加をクリックします。
レプリケーションのカスタマイズ
タスクのカラムタブとクエリタブを使って、レプリケーションをカスタマイズできます。カラムタブでは、レプリケーションするカラムの指定、同期先でのカラム名の変更、レプリケーション前のデータ操作などが可能です。クエリタブでは、SQL クエリを使ってフィルタ、グループ化、ソートを追加できます。
レプリケーションのスケジュール
ジョブの概要タブを選択し、スケジュールの下にある設定をクリックします。10分ごとから月1回まで、指定した間隔でジョブを自動実行するようにスケジュールできます。
レプリケーションジョブを設定したら、変更を保存をクリックします。Kafka のデータ から SingleStore へのレプリケーションを管理するジョブをいくつでも設定できます。
レプリケーションジョブの実行
ジョブに必要なすべての設定が完了したら、レプリケーションしたい Kafka テーブルを選択し、実行をクリックします。レプリケーションが正常に完了すると、ジョブの実行時間とレプリケーションされた行数を示す通知が表示されます。
無料トライアル & 詳細情報
Kafka のデータ を SingleStore にレプリケーションする方法をご覧いただきました。CData Sync ページで詳細をご確認いただき、30日間の無料トライアルをダウンロードして、エンタープライズデータの統合を始めましょう。
ご不明な点がございましたら、サポートチームがいつでもお手伝いいたします。