Schema-Registry configuration parameters
To configure the service, use the following configuration parameters in ADCM.
|
NOTE
|
| Parameter | Description | Default value |
|---|---|---|
listener port |
Schema-Registry listener port. Specified as |
8081 |
| Parameter | Description | Default value |
|---|---|---|
LOG_DIR |
Directory for storing logs |
/var/log/schema-registry |
JMX_PORT |
Port on which Schema-Registry sends JMX metrics |
9997 |
SCHEMA_REGISTRY_HEAP_OPTS |
Heap size allocated to the Schema-Registry process |
-Xmx1024M |
SCHEMA_REGISTRY_JVM_PERFORMANCE_OPTS |
JVM options in terms of PERFORMANCE options |
-server -XX:+UseG1G -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -Djava.awt.headless=true |
SCHEMA_REGISTRY_OPTS |
JAVA environment variables for Schema-Registry |
-Djava.security.auth.login.config=/etc/schema-registry/jaas_config.conf |
| Parameter | Description | Default value |
|---|---|---|
authentication.method |
Authentication method |
BASIC |
authentication.roles |
Defines a comma-separated list of user roles. To be authorized on the Schema-Registry server, the authenticated user must belong to at least one of these roles. For more information, see Basic authentication |
admin |
authentication.realm |
Corresponds to a section in the jaas_config.file that defines how the server authenticates users and must be passed as a parameter to the JVM during server startup |
SchemaRegistry-Props |
ADSControl_user |
ADS Control user for connecting to Schema-Registry |
admin |
| Parameter | Description | Default value |
|---|---|---|
kafkastore.topic |
Durable single partition topic that acts as the durable log for the data. This topic must be compacted to avoid losing data due to retention policy |
_schemas |
debug |
Boolean indicating whether extra debugging information is generated in some error response entities |
false |
inter.instance.protocol |
Protocol used while making calls between the instances of Schema Registry |
http |
ssl.keystore.location |
Used for HTTPS. Location of the keystore file to use for SSL |
— |
ssl.keystore.password |
Used for HTTPS. The store password for the keystore file |
— |
ssl.key.password |
Password of the key contained in the keystore |
— |
ssl.truststore.location |
Used for HTTPS. Location of the truststore. Required only to authenticate HTTPS clients |
— |
ssl.truststore.password |
Password to access the truststore |
— |
kafkastore.ssl.keystore.location |
Location of the SSL keystore file |
— |
kafkastore.ssl.keystore.password |
Password to access the keystore |
— |
kafkastore.ssl.key.password |
Password of the key contained in the keystore |
— |
kafkastore.ssl.keystore.type |
File format of the keystore |
— |
kafkastore.ssl.truststore.location |
Location of the SSL truststore file |
— |
kafkastore.ssl.truststore.password |
Password to access the truststore |
— |
kafkastore.ssl.truststore.type |
File format of the truststore |
— |
kafkastore.ssl.endpoint.identification.algorithm |
Endpoint identification algorithm to validate the server hostname using the server certificate |
— |
Add key, value |
Parameters and their values entered in this field override the parameters specified in the ADCM user interface. This field also allows you to set values for all user parameters that are not displayed in the interface, but are allowed in the configuration file schema-registry.properties |
— |
The user file template jaas.conf is intended for specifying user data for connecting clients of other services to the current service (paths to keytab files, the useTicketCache parameter, and others). For more information, see Configure a custom jaas.conf.
Default value:
{% if cluster.config.basic_auth_default_config is not none %}
{{ services.schema_registry.config.basic_auth_properties_content['authentication.realm'] }} {
org.eclipse.jetty.jaas.spi.PropertyFileLoginModule required
file="{{ schema_registry_home_path }}/config/password.properties"
debug="false";
};
{% endif %}
{% if cluster.config.kerberos_client and cluster.config.kerberos_client.enable_kerberos %}
Client {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
storeKey=true
useTicketCache=false
serviceName="kafka"
keyTab="{{ cluster.config.kerberos_client.keytab_dir }}/schema-registry.service.keytab"
principal="schema-registry/{{ ansible_fqdn }}@{{ cluster.config.kerberos_client.realm }}";
};
KafkaClient {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
storeKey=true
useTicketCache=false
serviceName="kafka"
keyTab="{{ cluster.config.kerberos_client.keytab_dir }}/schema-registry.service.keytab"
principal="schema-registry/{{ ansible_fqdn }}@{{ cluster.config.kerberos_client.realm }}";
};
{%- elif cluster.config.sasl_plain_auth_default_config is not none %}
{%- set credential = cluster.config.sasl_plain_auth_default_config.sasl_plain_users_data %}
KafkaClient {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="schema-registry"
password="{{ credential['schema-registry'] }}";
};
{% endif %}
Schema-Registry component configuration parameters:
| Parameter | Description | Default value |
|---|---|---|
log4j.rootLogger |
Logging level |
INFO |
log4j.logger.kafka |
Change to adjust the general broker logging level (output to server.log and stdout). See also |
ERROR |
log4j.logger.org.apache.zookeeper |
Change to adjust ZooKeeper client logging |
ERROR |
log4j.logger.org.apache.kafka |
Change to adjust the general broker logging level (output to server.log and stdout). See also |
ERROR |
log4j.logger.org.I0Itec.zkclient |
Change to adjust ZooKeeper client logging level |
ERROR |