Broker Configuration Properties
Broker configuration properties are applied individually to each broker in a cluster. You can find and modify these properties in the redpanda.yaml
configuration file.
For information on how to edit broker properties, see Configure Broker Properties.
All broker properties require that you restart Redpanda for any update to take effect. |
Broker configuration
admin
Network address for the Admin API server.
Optional: Yes
Visibility: user
Default: 127.0.0.1:9644
admin_api_doc_dir
Path to the API specifications for the Admin API.
Optional: Yes
Visibility: user
Type: string
Default: /usr/share/redpanda/admin-api-doc
admin_api_tls
Specifies the TLS configuration for the HTTP Admin API.
Optional: Yes
Visibility: user
Default: null
crash_loop_limit
A limit on the number of consecutive times a broker can crash within one hour before its crash-tracking logic is reset. This limit prevents a broker from getting stuck in an infinite cycle of crashes.
If null
, the property is disabled and no limit is applied.
The crash-tracking logic is reset (to zero consecutive crashes) by any of the following conditions:
-
The broker shuts down cleanly.
-
One hour passes since the last crash.
-
The
redpanda.yaml
broker configuration file is updated. -
The
startup_log
file in the broker’s data_directory is manually deleted.
Units: number of consecutive crashes of a broker
Optional: No
Visibility: user
Type: integer
Accepted values: [0
, 4294967295
]
Default: 5
data_directory
Path to the directory for storing Redpanda’s streaming data files.
Optional: Yes
Visibility: user
Type: string
Default: null
developer_mode
Enabling developer_mode isn’t recommended for production use.
|
Flag to enable developer mode, which skips most of the checks performed at startup.
Optional: Yes
Visibility: tunable
Type: boolean
Default: false
emergency_disable_data_transforms
Override the cluster property data_transforms_enabled
and disable Wasm-powered data transforms. This is an emergency shutoff button.
Optional: Yes
Visibility: user
Type: boolean
Default: false
empty_seed_starts_cluster
Controls how a new cluster is formed. All brokers in a cluster must have the same value.
See how the empty_seed_starts_cluster
setting works with the seed_servers
setting to form a cluster.
For backward compatibility, true is the default. Redpanda recommends using false in production environments to prevent accidental cluster formation.
|
Optional: Yes
Visibility: user
Type: boolean
Default: true
kafka_api
IP address and port of the Kafka API endpoint that handles requests.
Optional: Yes
Visibility: user
Default: 127.0.0.1:9092
kafka_api_tls
Transport Layer Security (TLS) configuration for the Kafka API endpoint.
Optional: Yes
Visibility: user
Default: null
memory_allocation_warning_threshold
Threshold for log messages that contain a larger memory allocation than specified.
Unit: bytes
Optional: No
Visibility: tunable
Type: integer
Default: 131073
(128_kib + 1)
node_id
A number that uniquely identifies the broker within the cluster. If null
(the default value), Redpanda automatically assigns an ID. If set, it must be non-negative value.
The node_id property must not be changed after a broker joins the cluster.
|
Accepted values: [0
, 4294967295
]
Type: integer
Optional: No
Visibility: user
Default: null
rack
A label that identifies a failure zone. Apply the same label to all brokers in the same failure zone. When enable_rack_awareness is set to true
at the cluster level, the system uses the rack labels to spread partition replicas across different failure zones.
Optional: No
Visibility: user
Default: null
recovery_mode_enabled
If true
, start Redpanda in recovery mode, where user partitions are not loaded and only administrative operations are allowed.
Optional: Yes
Visibility: user
Type: boolean
Default: false
rpc_server
IP address and port for the Remote Procedure Call (RPC) server.
Optional: Yes
Visibility: user
Default: 127.0.0.1:33145
seed_servers
List of the seed servers used to join current cluster. If the seed_servers
list is empty the node will be a cluster root and it will form a new cluster.
-
When
empty_seed_starts_cluster
istrue
, Redpanda enables one broker with an emptyseed_servers
list to initiate a new cluster. The broker with an emptyseed_servers
becomes the cluster root, to which other brokers must connect to join the cluster. Brokers looking to join the cluster should have theirseed_servers
populated with the cluster root’s address, facilitating their connection to the cluster.Only one broker, the designated cluster root, should have an empty
seed_servers
list during the initial cluster bootstrapping. This ensures a single initiation point for cluster formation. -
When
empty_seed_starts_cluster
isfalse
, Redpanda requires all brokers to start with a known set of brokers listed inseed_servers
. Theseed_servers
list must not be empty and should be identical across these initial seed brokers, containing the addresses of all seed brokers. Brokers not included in theseed_servers
list use it to discover and join the cluster, allowing for expansion beyond the foundational members.The
seed_servers
list must be consistent across all seed brokers to prevent cluster fragmentation and ensure stable cluster formation.
Optional: Yes
Visibility: user
Type: array
Default: null
storage_failure_injection_config_path
Path to the configuration file used for low level storage failure injection.
Optional: No
Visibility: tunable
Type: string
Default: null
storage_failure_injection_enabled
If true
, inject low level storage failures on the write path. Do not use for production instances.
Optional: Yes
Visibility: tunable
Type: boolean
Default: false
upgrade_override_checks
Whether to violate safety checks when starting a Redpanda version newer than the cluster’s consensus version.
Optional: Yes
Visibility: tunable
Type: boolean
Default: false
verbose_logging_timeout_sec_max
Maximum duration in seconds for verbose (TRACE
or DEBUG
) logging. Values configured above this will be clamped. If null (the default) there is no limit. Can be overridden in the Admin API on a per-request basis.
Units: seconds
Optional: No
Visibility: tunable
Type: integer
Accepted values: [-17179869184
, 17179869183
]
Default: null
Schema Registry
The Schema Registry provides configuration properties to help you enable producers and consumers to share information needed to serialize and deserialize producer and consumer messages.
For information on how to edit broker properties for the Schema Registry, see Configure Broker Properties.
schema_registry_api
Specifies the listener address and port in the Schema Registry API.
Optional: Yes
Visibility: None
Default: 127.0.0.1:8081
schema_registry_api_tls
TLS configuration for Schema Registry API.
Optional: Yes
Visibility: None
Default: null
schema_registry_replication_factor
Replication factor for internal _schemas
topic. If unset, defaults to default_topic_replication
.
Optional: No
Visibility: None
Type: integer
Accepted values: [-32768
, 32767
]
Default: null
Related topics:
-
Cluster property
default_topic_replication
-
Topic property
default_topic_replication
HTTP Proxy
Redpanda HTTP Proxy allows access to your data through a REST API. For example, you can list topics or brokers, get events, produce events, subscribe to events from topics using consumer groups, and commit offsets for a consumer.
advertised_pandaproxy_api
Network address for the HTTP Proxy API server to publish to clients.
Optional: Yes
Visibility: None
Default: null
api_doc_dir
Path to the API specifications for the HTTP Proxy API.
Optional: Yes
Visibility: None
Type: string
Default: /usr/share/redpanda/proxy-api-doc
mode_mutability
Enable modifications to the read-only mode
of the Schema Registry. When set to true
, the entire Schema Registry or its subjects can be switched to READONLY
or READWRITE
. This property is useful for preventing unwanted changes to the entire Schema Registry or specific subjects.
Nullable: No
Visibility: user
Type: boolean
Default: true
client_cache_max_size
The maximum number of Kafka client connections that Redpanda can cache in the LRU (least recently used) cache. The LRU cache helps optimize resource utilization by keeping the most recently used clients in memory, facilitating quicker reconnections for frequent clients while limiting memory usage.
Optional: Yes
Visibility: None
Type: integer
Default: 10
client_keep_alive
Time, in milliseconds, that an idle client connection may remain open to the HTTP Proxy API.
Units : milliseconds
Optional: Yes
Visibility: None
Type: integer
Accepted values: [-17592186044416
, 17592186044415
]
Default: 300000
consumer_instance_timeout
How long to wait for an idle consumer before removing it. A consumer is considered idle when it’s not making requests or heartbeats.
Units: milliseconds
Optional: Yes
Visibility: None
Type: integer
Accepted values: [-17592186044416
, 17592186044415
]
Default: 300000
(5min)
HTTP Proxy Client
Configuration options for HTTP Proxy Client.
broker_tls
TLS configuration for the Kafka API servers to which the HTTP Proxy client should connect.
Optional: Yes
Visibility: None
Default: config::tls_config()
brokers
Network addresses of the Kafka API servers to which the HTTP Proxy client should connect.
Optional: Yes
Visibility: None
Type: array
Default: ["127.0.0.1:9092"]
client_identifier
Custom identifier to include in the Kafka request header for the HTTP Proxy client. This identifier can help debug or monitor client activities.
Optional: No
Visibility: None
Type: string
Default: test_client
consumer_heartbeat_interval
Interval (in milliseconds) for consumer heartbeats.
Units: milliseconds
Optional: Yes
Visibility: None
Type: integer
Accepted values: [-17592186044416
, 17592186044415
]
Default: 500
consumer_rebalance_timeout
Timeout (in milliseconds) for consumer rebalance.
Units: milliseconds
Optional: Yes
Visibility: None
Type: integer
Accepted values: [-17592186044416
, 17592186044415
]
Default: 200
consumer_request_max_bytes
Maximum bytes to fetch per request.
Units: bytes
Optional: Yes
Visibility: None
Type: integer
Accepted values: [-2147483648
, 2147483647
]
Default: 1048576
consumer_request_min_bytes
Minimum bytes to fetch per request.
Units: bytes
Optional: Yes
Visibility: None
Type: integer
Accepted values: [-2147483648
, 2147483647
]
Default: 1
consumer_request_timeout
Interval (in milliseconds) for consumer request timeout.
Units: milliseconds
Optional: Yes
Visibility: None
Type: integer
Accepted values: [-17592186044416
, 17592186044415
]
Default: 100
consumer_session_timeout
Timeout (in milliseconds) for consumer session.
Units: milliseconds
Optional: Yes
Visibility: None
Type: integer
Accepted values: [-17592186044416
, 17592186044415
]
Default: 10000
produce_ack_level
Number of acknowledgments the producer requires the leader to have received before considering a request complete.
Optional: Yes
Visibility: None
Type: integer
Accepted values: -1
,0
,1
Default: -1
produce_batch_delay
Delay (in milliseconds) to wait before sending batch.
Units: milliseconds
Optional: Yes
Visibility: None
Type: integer
Accepted values: [-17592186044416
, 17592186044415
]
Default: 100
produce_batch_record_count
Number of records to batch before sending to broker.
Optional: Yes
Visibility: None
Type: integer
Accepted values: [-2147483648
, 2147483647
]
Default: 1000
produce_batch_size_bytes
Number of bytes to batch before sending to broker.
Units: bytes
Optional: Yes
Visibility: None
Type: integer
Accepted values: [-2147483648
, 2147483647
]
Default: 1048576
produce_compression_type
Enable or disable compression by the Kafka client. Specify none
to disable compression or one of the supported types [gzip, snappy, lz4, zstd].
Optional: Yes
Visibility: None
Type: string
Accepted values: gzip
, snappy
, lz4
, zstd
Default: none
produce_shutdown_delay
Delay (in milliseconds) to allow for final flush of buffers before shutting down.
Units: milliseconds
Optional: Yes
Visibility: None
Type: integer
Accepted values: [-17592186044416
, 17592186044415
]
Default: 0
retries
Number of times to retry a request to a broker.
Optional: Yes
Visibility: None
Type: integer
Default: 5
retry_base_backoff
Delay (in milliseconds) for initial retry backoff.
Units: milliseconds
Optional: Yes
Visibility: None
Type: integer
Accepted values: [-17592186044416
, 17592186044415
]
Default: 100
sasl_mechanism
The SASL mechanism to use when connecting.
Optional: Yes
Visibility: None
Type: string
Default: null