Schema Registry の構成オプション

Looking for Schema Management Confluent Cloud docs? You are currently viewing Confluent Platform documentation. If you are looking for Confluent Cloud docs, check out Schema Management on Confluent Cloud.

このセクションでは、Schema Registry の構成パラメーターを重要度別に整理して取り上げます。

  • 高: これらのパラメーターは、パフォーマンスに重大な影響を及ぼす可能性があります。パラメーターの値を変更する場合は注意してください。
  • 中: これらのパラメーターは、パフォーマンスにある程度の影響を及ぼす可能性があります。パラメーターにどの程度の調整が必要になるかは、具体的な環境によります。
  • 低: これらのパラメーターがパフォーマンスに影響を及ぼす範囲はそれほど大きくなく、重大でもありません。

これらのパラメーターは、Schema Registry の構成ファイルである schema-registry.properties (ローカル環境の <path-to-confluent>/etc/schema-registry/schema-registry.properties)に定義されています。

kafkastore.connection.url

リーダー選出では非推奨: リーダー選出には、kafkastore.connection.url ではなく kafkastore.bootstrap.servers を使用してください。

重要

  • ZooKeeper のリーダー選出は非推奨となっています。代わりに Kafka のリーダー選出を使用してください。
  • リーダー選出のアップグレードの詳細については、「ZooKeeper のプライマリ選出から Kafka のプライマリ選出への移行」を参照してください。
  • 5.5.0 より前(Confluent Platform 5.4.x 以前)には、Schema Registry セキュリティプラグイン をインストールして ACL を使用するように構成した場合、プラグインを ZooKeeper に接続する必要があり、そのために kafkastore.connection.url が使用されました。これは現在、Schema Registry ACL オーソライザー の追加とともに不要になっています。ACL オーソライザーがない場合は、付属しているバージョンの Confluent Platform にアップグレードしてください。

Apache Kafka® クラスターの ZooKeeper URL

  • 型: string
  • デフォルト: ""
  • 重要度: 高

kafkastore.bootstrap.servers

接続先となる Kafka ブローカーのリスト(例: PLAINTEXT://hostname:9092,SSL://hostname2:9092)。

kafkastore.bootstrap.servers に指定されたブートストラップサーバーを含む Kafka クラスターは、Schema Registry インスタンスを調整(リーダー選出)してスキーマデータを格納する目的に使用されます。Kafka セキュリティが有効になっている場合、Schema Registry が Kafka との接続に使用するセキュリティプロトコルを指定する際にも、kafkastore.bootstrap.servers が使用されます。

  • 型: リスト
  • デフォルト: []
  • 重要度: 中

リスナー

HTTP または HTTPS で API リクエストをリッスンするリスナーのコンマ区切りリスト。リスナーが HTTPS を使用する場合は、適切な SSL 構成パラメーターも設定する必要があります。

Schema Registry の ID は ZooKeeper に格納され、ホスト名とポートから成ります。複数のリスナーが構成されている場合は、最初のリスナーのポートがその ID に使用されます。

schema.compatibility.level

スキーマの互換性タイプ。

有効な値は次のとおりです。

  • none: 新しいスキーマは、有効なスキーマであればいずれも使用できます。
  • backward: 新しいスキーマは、一番最後に登録されたスキーマによって生成されたデータを読み取ることができます。
  • backward_transitive: 新しいスキーマは、既に登録されている任意のスキーマによって生成されたデータを読み取ることができます。
  • forward: 一番最後に登録されたスキーマが、新しいスキーマによって生成されたデータを読み取ることができます。
  • forward_transitive: 既に登録されている任意のスキーマが、新しいスキーマによって生成されたデータを読み取ることができます。
  • full: 新しいスキーマには、一番最後に登録されたスキーマに対する後方互換性と前方互換性があります。
  • full_transitive: 新しいスキーマには、既に登録されている任意のスキーマに対する後方互換性と前方互換性があります。

Confluent Platform バージョン 5.5.0 以降では、非推奨となった avro-compatibility-level ではなく、schema.compatibility.level を使用してください。

  • 型: string
  • デフォルト: "backward"
  • 重要度: 高

参考

avro.compatibility.level

非推奨: Avro 互換性タイプ。

代わりに schema.compatibility.level を使用してください。

  • 型: string
  • デフォルト: "backward"
  • 重要度: 高

host.name

ZooKeeper でアドバタイズされるホスト名。Schema Registry を複数のノードで実行する場合は必ずこれを設定してください。

  • 型: string
  • デフォルト: "192.168.50.1"
  • 重要度: 高

kafkastore.ssl.key.password

キーストアに格納されるキーのパスワード。

  • 型: string
  • デフォルト: ""
  • 重要度: 高

kafkastore.ssl.keystore.location

SSL キーストアファイルの場所。

  • 型: string
  • デフォルト: ""
  • 重要度: 高

kafkastore.ssl.keystore.password

キーストアにアクセスするためのパスワード。

  • 型: string
  • デフォルト: ""
  • 重要度: 高

kafkastore.ssl.truststore.location

SSL トラストストアファイルの場所。

  • 型: string
  • デフォルト: ""
  • 重要度: 高

kafkastore.ssl.truststore.password

トラストストアにアクセスするためのパスワード。

  • 型: string
  • デフォルト: ""
  • 重要度: 高

kafkastore.topic

単一パーティションの堅牢なトピック。高い堅牢性でデータを記録するログとしての役割を果たします。保持ポリシーに起因するデータの損失を防ぐために、このトピックは圧縮されている必要があります。

  • 型: string
  • デフォルト: "_schemas"
  • 重要度: 高

kafkastore.topic.replication.factor

スキーマトピックに必要なレプリケーション係数。実際のレプリケーション係数は、この値とライブ Kafka ブローカー数のどちらか小さい方になります。

  • 型: int
  • デフォルト値: 3
  • 重要度: 高

response.mediatype.default

Accept ヘッダーで特定のタイプがリクエストされなかった場合に使用されるデフォルトの応答メディアタイプ。

  • 型: string
  • デフォルト: "application/vnd.schemaregistry.v1+json"
  • 重要度: 高

ssl.keystore.location

HTTPS に使用されます。SSL に使用するキーストアファイルの場所です。

重要

Jetty では、キーストアに格納されているキーの CN が FQDN と一致している必要があります。

  • 型: string
  • デフォルト: ""
  • 重要度: 高

ssl.keystore.password

HTTPS に使用されます。キーストアファイルのストアパスワード。

  • 型: password
  • デフォルト: ""
  • 重要度: 高

ssl.key.password

HTTPS に使用されます。キーストアファイル内のプライベートキーのパスワード。

  • 型: password
  • デフォルト: ""
  • 重要度: 高

ssl.principal.mapping.rules

HTTPS に使用されます。クライアント証明書の識別名(DN)を短い名前にマッピングするためのルールのリスト。ルールは順番に評価され、プリンシパル名と一致する最初のルールが、短い名前へのマッピングに使用されます。リスト内のそれ以降のルールはすべて無視されます。デフォルトでは、X.500 証明書の DN がプリンシパルになります。詳細については、「mTLS から SASL への認証情報の伝播」を参照してください。

Schema Registry では、confluent.schema.registry.auth.ssl.principal.mapping.rules を使用してください。

  • 型: リスト
  • デフォルト: "DEFAULT"
  • 重要度: 低

ssl.truststore.location

HTTPS に使用されます。トラストストアの場所。HTTPS クライアントの認証にのみ必要となります。

  • 型: string
  • デフォルト: ""
  • 重要度: 高

ssl.truststore.password

HTTPS に使用されます。トラストストアファイルのストアパスワード。

  • 型: password
  • デフォルト: ""
  • 重要度: 高

response.mediatype.preferred

サーバーが応答に使用する優先メディアタイプの順序指定済みリスト。優先度の高いものから順に列挙されます。

  • 型: リスト
  • デフォルト: [application/vnd.schemaregistry.v1+json, application/vnd.schemaregistry+json, application/json]
  • 重要度: 高

zookeeper.set.acl

znode が作成されて ZooKeeper の SASL 認証が構成される際に、ZooKeeper の ACL を設定するかどうか。

重要

true に設定されている場合、ZooKeeper の SASL プリンシパルは、Kafka ブローカーと同じである必要があります。

  • 型: boolean
  • デフォルト: false
  • 重要度: 高

kafkastore.init.timeout.ms

Kafka ストアの初期化(スキーマデータを格納する Kafka トピックの作成を含む)のタイムアウト。

  • 型: int
  • デフォルト: 60000
  • 重要度: 中

kafkastore.security.protocol

Kafka (基盤となる永続ストレージ)との接続時に使用するセキュリティプロトコル。PLAINTEXTSASL_PLAINTEXTSSLSASL_SSL のいずれかの値を使用できます。

  • 型: string
  • デフォルト: "PLAINTEXT"
  • 重要度: 中

kafkastore.ssl.enabled.protocols

SSL 接続に有効なプロトコル。

  • 型: string
  • デフォルト: "TLSv1.2,TLSv1.1,TLSv1"
  • 重要度: 中

kafkastore.ssl.keystore.type

キーストアのファイルフォーマット。

  • 型: string
  • デフォルト: "JKS"
  • 重要度: 中

kafkastore.ssl.protocol

使用する SSL プロトコル。

  • 型: string
  • デフォルト: "TLS"
  • 重要度: 中

kafkastore.ssl.provider

SSL に使用するセキュリティプロバイダーの名前。

  • 型: string
  • デフォルト: ""
  • 重要度: 中

kafkastore.ssl.truststore.type

トラストストアのファイルフォーマット。

  • 型: string
  • デフォルト: "JKS"
  • 重要度: 中

kafkastore.timeout.ms

Kafka ストアに対する操作のタイムアウト。

  • 型: int
  • デフォルト: 500
  • 重要度: 中

leader.eligibility

true の場合、このノードはプライマリの選出に参加できます。マルチコロケーション構成のセカンダリデータセンターのクラスターでは、オフにしてください。

  • 型: boolean
  • デフォルト: true
  • 重要度: 中

kafkastore.sasl.kerberos.service.name

Kafka クライアントが実行される際の Kerberos プリンシパル名。JAAS 構成ファイルまたはここで定義できます。

  • 型: string
  • デフォルト: ""
  • 重要度: 中

kafkastore.sasl.mechanism

Kafka の接続に使用される SASL メカニズム。GSSAPI がデフォルトです。

  • 型: string
  • デフォルト: "GSSAPI"
  • 重要度: 中

access.control.allow.methods

Jetty の Access-Control-Allow-Origin ヘッダーに、特定のメソッドの値を設定します。

  • 型: string
  • デフォルト: ""
  • 重要度: 低

ssl.keystore.type

HTTPS に使用されます。キーストアのファイルの種類です。

  • 型: string
  • デフォルト: "JKS"
  • 重要度: 中

ssl.truststore.type

HTTPS に使用されます。トラストストアファイルの種類。

  • 型: string
  • デフォルト: "JKS"
  • 重要度: 中

ssl.protocol

HTTPS に使用されます。SslContextFactory の生成に使用する SSL プロトコルです。

  • 型: string
  • デフォルト: "TLS"
  • 重要度: 中

ssl.provider

HTTPS に使用されます。SSL セキュリティプロバイダーの名前です。Jetty のデフォルトを使用する場合は空白にします。

  • 型: string
  • デフォルト: ""(Jetty のデフォルト)
  • 重要度: 中

ssl.client.auth

非推奨: HTTPS に使用します。サーバーのトラストストアを介した認証を HTTPS クライアントに要求するかどうか。代わりに ssl.client.authentication を使用してください。

  • 型: boolean
  • デフォルト: false
  • 重要度: 中

ssl.client.authentication

HTTPS に使用されます。サーバーのトラストストアを使用した認証を HTTPS クライアントに要求するかどうかを指定します。

指定可能な値は、NONE、REQUESTED、REQUIRED のいずれかです。NONE を指定した場合、SSL クライアント認証が無効になります。REQUESTED を指定した場合、SSL クライアント認証はリクエストされますが、必須ではありません。REQUIRED を指定した場合、SSL HTTPS クライアントは、サーバーのトラストストアを使用して認証を行う必要があります。この構成は、非推奨となった ssl.client.auth をオーバーライドします。

  • 型: string
  • デフォルト: NONE
  • 重要度: 中

ssl.enabled.protocols

HTTPS に使用されます。SSL 接続で有効なプロトコルのリスト。コンマ区切りリストです。Jetty のデフォルトを使用する場合は空白にします。

  • 型: リスト
  • デフォルト: ""(Jetty のデフォルト)
  • 重要度: 中

access.control.allow.origin

Jetty の Access-Control-Allow-Origin ヘッダーの値を設定します。

  • 型: string
  • デフォルト: ""
  • 重要度: 低

response.http.headers.config

Confluent Platform コンポーネントの HTTP 応答で返す HTTP ヘッダーを選択する目的で使用します。複数の値は、[action][header name]:[header value] 形式のコンマ区切り文字列で指定します。ここで [action] は、setaddsetDateaddDate のいずれかになります。ヘッダーの値にコンマが含まれている場合は、その値を引用符で囲む必要があります。その例を次に示します。

response.http.headers.config="add Cache-Control: no-cache, no-store, must-revalidate", add X-XSS-Protection: 1; mode=block, add Strict-Transport-Security: max-age=31536000; includeSubDomains, add X-Content-Type-Options: nosniff
  • 型: string
  • デフォルト: ""
  • 重要度: 低

confluent.schema.registry.auth.ssl.principal.mapping.rules

クライアント証明書の識別名(DN)を短い名前にマッピングするためのルールのリスト。ルールは順番に評価され、プリンシパル名と一致する最初のルールが、短い名前へのマッピングに使用されます。リスト内のそれ以降のルールはすべて無視されます。デフォルトでは、X.500 証明書の DN がプリンシパルになります。

  • 型: リスト
  • デフォルト: DEFAULT
  • 重要度: 低

debug

一部のエラー応答エンティティで、追加のデバッグ情報を生成するかどうかを示すブール値。

  • 型: boolean
  • デフォルト: false
  • 重要度: 低

kafkastore.ssl.cipher.suites

SSL に使用される暗号スイートのリスト。

  • 型: string
  • デフォルト: ""
  • 重要度: 低

kafkastore.ssl.endpoint.identification.algorithm

サーバー証明書を使用してサーバーホスト名を検証するエンドポイント識別アルゴリズムです。

  • 型: string
  • デフォルト: https
  • 重要度: 低

kafkastore.ssl.keymanager.algorithm

SSL 接続のキーマネージャーファクトリで使用されるアルゴリズム。

  • 型: string
  • デフォルト: "SunX509"
  • 重要度: 低

kafkastore.ssl.trustmanager.algorithm

SSL 接続のトラストマネージャーファクトリで使用されるアルゴリズムです。

  • 型: string
  • デフォルト: "PKIX"
  • 重要度: 低

kafkastore.zk.session.timeout.ms

ZooKeeper セッションのタイムアウト。

  • 型: int
  • デフォルト: 30000
  • 重要度: 低

metric.reporters

Metrics Reporter として使用するクラスのリスト。MetricReporter インターフェイスを実装することで、新しいメトリック作成の通知を受けるクラスをプラグインすることができます。JMX 統計情報を登録するための JmxReporter が必ず含まれます。

  • 型: リスト
  • デフォルト: []
  • 重要度: 低

metrics.jmx.prefix

デフォルトの JMX レポーターのメトリック名に適用するプレフィックス。

  • 型: string
  • デフォルト: "kafka.schema.registry"
  • 重要度: 低

metrics.num.samples

メトリクスの計算用に維持されるサンプルの数。

  • 型: int
  • デフォルト: 2
  • 重要度: 低

metrics.sample.window.ms

メトリクスシステムは、サンプル数(構成可能)を一定のウィンドウサイズにわたって維持します。そのウィンドウのサイズを制御するのが、この構成です。たとえば、計測ごとに 2 つのサンプルが 30 秒間維持されます。ウィンドウの期限が切れると、最も古いウィンドウが消去されて上書きされます。

  • 型: long
  • デフォルト: 30000
  • 重要度: 低

port

非推奨: 新しい接続をリッスンするポート。

代わりに リスナー を使用してください。

  • 型: int
  • デフォルト: 8081
  • 重要度: 低

proxy.host

Schema Registry インスタンスへの接続に使用されるプロキシサーバーのホスト名または IP アドレス。

  • 型: string
  • デフォルト: ""
  • 重要度: 低

proxy.port

Schema Registry インスタンスへの接続に使用されるプロキシサーバーのポート番号。

  • 型: string
  • デフォルト: ""
  • 重要度: 低

request.logger.name

NCSA 共通ログフォーマットのリクエストログを書き込む SLF4J ロガーの名前。

  • 型: string
  • デフォルト: "io.confluent.rest-utils.requests"
  • 重要度: 低

inter.instance.protocol

Schema Registry インスタンス間の呼び出し中に使用されるプロトコルです。指定したプロトコルが、セカンダリノードからプライマリノードへの、書き込みや削除を目的とした呼び出しに使用されます。デフォルト値は通常 http です。https が設定された場合、ssl.keystoressl.truststore の構成が呼び出し中に使用されます。(非推奨となった schema.registry.inter.instance.protocol の代わりに使用します。)

  • 型: string
  • デフォルト: "http"
  • 重要度: 低

schema.registry.inter.instance.protocol

非推奨: Schema Registry インスタンス間の呼び出し中に使用されるプロトコル。指定したプロトコルが、セカンダリノードからプライマリノードへの、書き込みや削除を目的とした呼び出しに使用されます。デフォルト値は通常 http です。https が設定された場合、ssl.keystoressl.truststore の構成が呼び出し中に使用されます。

代わりに inter.instance.protocol を使用してください。

  • 型: string
  • デフォルト: ""
  • 重要度: 低

resource.extension.class

SchemaRegistryResourceExtension インターフェイスの有効な実装に対する完全修飾クラス名。ユーザー定義リソース(フィルターなど)を挿入する際に使用できます。一般に、ログ記録、セキュリティなど、カスタム機能を追加する際に使用されます。(非推奨となった schema.registry.resource.extension.class の代わりに、resource.extension.class を使用してください。)

  • 型: リスト
  • デフォルト: []
  • 重要度: 低

schema.registry.group.id

Schema Registry のクラスター ID の名前は、Schema Registry のグループ ID から取得されます。

  • 型: string
  • デフォルト: "schema-registry"
  • 重要度: 低

schema.registry.resource.extension.class

非推奨: SchemaRegistryResourceExtension インターフェイスの有効な実装に対する完全修飾クラス名。ユーザー定義リソース(フィルターなど)を挿入する際に使用できます。一般に、ログ記録、セキュリティなど、カスタム機能を追加する際に使用されます。

代わりに resource.extension.class を使用してください。

  • 型: string
  • デフォルト: ""
  • 重要度: 低

schema.registry.zk.namespace

非推奨: Schema Registry クラスターが複数ある場合のための schema.registry.zk.namespace が最初からあった場合には、schema.registry.group.id を構成します。

重要

Schema Registry のメタデータを格納するための ZooKeeper 名前空間として使用される文字列です。同じ Schema Registry サービスに属している Schema Registry インスタンスは、ZooKeeper 名前空間が同じである必要があります。

  • 型: string
  • デフォルト: "schema_registry"
  • 重要度: 低

shutdown.graceful.ms

シャットダウンのリクエスト後、未処理のリクエストの完了を待機する時間。

  • 型: int
  • デフォルト: 1000
  • 重要度: 低

ssl.keymanager.algorithm

HTTPS に使用されます。SSL 接続のキーマネージャーファクトリで使用されるアルゴリズムです。Jetty のデフォルトを使用する場合は空白にします。

  • 型: string
  • デフォルト: ""(Jetty のデフォルト)
  • 重要度: 低

ssl.trustmanager.algorithm

HTTPS に使用されます。SSL 接続のトラストマネージャーファクトリで使用されるアルゴリズムです。Jetty のデフォルトを使用する場合は空白にします。

  • 型: string
  • デフォルト: ""(Jetty のデフォルト)
  • 重要度: 低

ssl.cipher.suites

HTTPS に使用されます。SSL 暗号スイートのリストです。コンマ区切りリストです。Jetty のデフォルトを使用する場合は空白にします。

  • 型: リスト
  • デフォルト: ""(Jetty のデフォルト)
  • 重要度: 低

ssl.endpoint.identification.algorithm

HTTPS に使用されます。サーバー証明書を使用してサーバーホスト名を検証するエンドポイント識別アルゴリズムです。Jetty のデフォルトを使用する場合は空白にします。

  • 型: string
  • デフォルト: ""(Jetty のデフォルト)
  • 重要度: 低

kafkastore.sasl.kerberos.kinit.cmd

Kerberos の kinit コマンドパス。

  • 型: string
  • デフォルト: "/usr/bin/kinit"
  • 重要度: 低

kafkastore.sasl.kerberos.min.time.before.relogin

更新試行から次の更新試行までのログイン時間。

  • 型: long
  • デフォルト: 60000
  • 重要度: 低

kafkastore.sasl.kerberos.ticket.renew.jitter

更新時間に追加されたランダムジッターのパーセンテージ。

  • 型: double
  • デフォルト: 0.05
  • 重要度: 低

kafkastore.sasl.kerberos.ticket.renew.window.factor

最後の更新からチケットの有効期限までの時間が指定のウィンドウ係数に達するまでの間、ログインスレッドはスリープ状態になります。この時間の経過後、チケットの更新が試行されます。

  • 型: double
  • デフォルト: 0.8
  • 重要度: 低

kafkastore.group.id

KafkaStore コンシューマーの group.id をオーバーライドするには、この設定を使用します。セキュリティが有効にされているときは、Schema Registry コンシューマーの group.id に対する安定性を確保するうえで、この設定が重要となります。

この構成がない場合、group.idschema-registry-<host>-<port> になります。

  • 型: string
  • デフォルト: ""
  • 重要度: 低

Schema Registry セキュリティプラグインのライセンス

Schema Registry セキュリティプラグイン には、Confluent Platform エンタープライズライセンスが必要です。

confluent.license など、プラグインの構成方法については、「Schema Registry セキュリティプラグインのインストールと構成」の 構成オプション を参照してください。