# Broker Configuration Properties

> For the complete documentation index, see [llms.txt](https://docs.redpanda.com/llms.txt). Component-specific: [streaming-full.txt](https://docs.redpanda.com/streaming-full.txt)

---
title: Broker Configuration Properties
latest-operator-version: v26.1.4
# EOL = End-of-Life (support lifecycle status)
page-is-nearing-eol: "false"
page-is-past-eol: "true"
page-eol-date: December 22, 2024
latest-console-tag: v3.7.3
latest-connect-version: 4.93.0
docname: node-properties
page-component-name: streaming
page-version: "23.3"
page-component-version: "23.3"
page-component-title: Streaming
page-relative-src-path: node-properties.adoc
page-edit-url: https://github.com/redpanda-data/docs/edit/v/23.3/modules/reference/pages/node-properties.adoc
description: Broker configuration properties list.
page-git-created-date: "2023-05-05"
page-git-modified-date: "2023-12-22"
support-status: past end-of-life
---

<!-- Source: https://docs.redpanda.com/streaming/23.3/reference/node-properties.md -->

Broker configuration properties are applied individually to each broker in a cluster.

> ❗ **IMPORTANT**
>
> After you change a broker-level property setting, you must restart the broker for the change to take effect.

To learn how to set these properties from studying a sample configuration file, see the [broker configuration sample](https://docs.redpanda.com/streaming/23.3/reference/node-configuration-sample/).

* * *

## [](#required-properties)Required properties

> ⚠️ **CAUTION**
>
> You must include this property in your configuration for Redpanda to start.

### [](#data_directory)data_directory

Path to the directory for storing Redpanda’s streaming data files.

* * *

## [](#optional-properties)Optional properties

### [](#admin)admin

IP address and port of the admin server.

**Default**: 127.0.0.1:9644

* * *

### [](#admin_api_doc_dir)admin_api_doc_dir

Path to the admin API documentation directory.

**Default**: /usr/share/redpanda/admin-api-doc

* * *

### [](#admin_api_tls)admin_api_tls

TLS configuration for the Admin API.

**Default**: null

* * *

### [](#advertised_kafka_api)advertised_kafka_api

Addresses of Kafka API published to clients.

**Default**: empty array

* * *

### [](#advertised_rpc_api)advertised_rpc_api

Address of the RPC endpoint published to other cluster members.

**Default**: null

* * *

### [](#cloud_storage_cache_directory)cloud_storage_cache_directory

The directory where the cache archive is stored. This property is mandatory when [cloud\_storage\_enabled](https://docs.redpanda.com/streaming/23.3/reference/cluster-properties/#cloud_storage_enabled) is set to `true`.

**Default**: null

* * *

### [](#coproc_supervisor_server)coproc_supervisor_server

IP address and port for supervisor service.

**Default**: 127.0.0.1:43189

* * *

### [](#crash_loop_limit)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 broker configuration file, `redpanda.yaml`, is updated.

-   The `startup_log` file in the broker’s [data\_directory](#data_directory) is manually deleted.


**Units**: number of consecutive crashes of a broker

**Default**: 5

* * *

### [](#dashboard_dir)dashboard_dir

Path to the directory where the HTTP dashboard is located.

**Default**: null

* * *

### [](#developer_mode)developer_mode

> ⚠️ **CAUTION**
>
> Enabling `developer_mode` isn’t recommended for production use.

Flag to enable developer mode, which skips most of the checks performed at startup.

**Default**: false

* * *

### [](#empty_seed_starts_cluster)empty_seed_starts_cluster

Controls how a new cluster is formed. This property must have the same value in all brokers in a cluster.

If `true`, an empty [seed\_servers](#seed_servers) list denotes that this broker should form a cluster. At most, one broker in the cluster should be configured with an empty seed\_servers list. If no such configured broker exists, or if configured to be `false`, then all brokers denoted by the seed\_servers list must be identical in their configurations, and those brokers form the initial cluster.

> 💡 **TIP**
>
> This is set to `true` by default for backward compatibility, but Redpanda recommends setting `empty_seed_starts_cluster` to `false`.

**Default**: true

* * *

### [](#kafka_api)kafka_api

IP address and port of the Kafka API endpoint that handles requests.

**Default**: 127.0.0.1:9092

* * *

### [](#kafka_api_tls)kafka_api_tls

Transport Layer Security (TLS) configuration for the Kafka API endpoint.

**Default**: null

* * *

### [](#large_allocation_warning_threshold)large_allocation_warning_threshold

Enables log warning messages for memory allocations greater than the given threshold size, in bytes.

If set to `null`, the property is disabled, so no log messages are enabled.

If enabled, the log warnings are rate limited: the first warning will be for any allocation greater than or equal to the configured threshold, then for every subsequent warning the threshold is increased by 1.618x the current threshold.

**Units**: bytes per memory allocation

**Default**: null

* * *

### [](#node_id)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.

> ⚠️ **CAUTION**
>
> The `node_id` property must not be changed after a broker joins the cluster.

**Default**: null

**Range**: \[0, …​\]

* * *

### [](#rack)rack

A label that identifies a failure zone. Apply the same label to all brokers in the same failure zone. When [enable\_rack\_awareness](https://docs.redpanda.com/streaming/23.3/reference/cluster-properties/#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.

**Default**: null

* * *

### [](#recovery_mode_enabled)recovery_mode_enabled

If `true`, start Redpanda in [recovery mode](https://docs.redpanda.com/streaming/23.3/manage/recovery-mode/), where user partitions are not loaded and only administrative operations are allowed.

**Default**: `false`

* * *

### [](#rpc_server)rpc_server

IP address and port for the Remote Procedure Call (RPC) server.

**Default**: 127.0.0.1:33145

* * *

### [](#rpc_server_tls)rpc_server_tls

TLS configuration for the RPC server.

**Default**: null

* * *

### [](#seed_servers)seed_servers

List of seed servers used to join an existing cluster.

If a cluster does not already exist:

-   When [empty\_seed\_starts\_cluster](#empty_seed_starts_cluster) is `true`, if the seed\_servers list is empty, this broker will be the cluster root to form a new cluster that other brokers subsequently join. Exactly one broker in the cluster should set seed\_servers to be empty when first bootstrapping a cluster. For brokers that are not the root broker, this is the list of brokers used to join the cluster.

-   Otherwise, when [empty\_seed\_starts\_cluster](#empty_seed_starts_cluster) is `false`, this refers to the list of brokers that initially bootstrap the cluster. In this case, seed\_servers cannot be empty, and seed\_servers must be identical for all brokers in that list. For brokers not in the seed\_servers list, this is the list of brokers used to join the cluster.


**Default**: null