Name Description Type Default Valid Values Importance
application.idAn identifier for the stream processing application. Must be unique within the Kafka cluster. It is used as 1) the default client-id prefix, 2) the group-id for membership management, 3) the changelog topic prefix.stringhigh
bootstrap.serversA list of host/port pairs to use for establishing the initial connection to the Kafka cluster. The client will make use of all servers irrespective of which servers are specified here for bootstrapping—this list only impacts the initial hosts used to discover the full set of servers. This list should be in the form host1:port1,host2:port2,.... Since these servers are just used for the initial connection to discover the full cluster membership (which may change dynamically), this list need not contain the full set of servers (you may want more than one, though, in case a server is down).listhigh
client.idAn id string to pass to the server when making requests. The purpose of this is to be able to track the source of requests beyond just ip/port by allowing a logical application name to be included in server-side request logging.string""high
zookeeper.connectZookeeper connect string for Kafka topics management.string""high
key.serdeSerializer / deserializer class for key that implements the Serde interface.classclass org.apache.kafka.common.serialization.Serdes$ByteArraySerdemedium
partition.grouperPartition grouper class that implements the PartitionGrouper interface.classclass org.apache.kafka.streams.processor.DefaultPartitionGroupermedium
replication.factorThe replication factor for change log topics and repartition topics created by the stream processing application.int1medium
state.dirDirectory location for state store.string/tmp/kafka-streamsmedium
timestamp.extractorTimestamp extractor class that implements the TimestampExtractor interface.classclass org.apache.kafka.streams.processor.ConsumerRecordTimestampExtractormedium
value.serdeSerializer / deserializer class for value that implements the Serde interface.classclass org.apache.kafka.common.serialization.Serdes$ByteArraySerdemedium
windowstore.changelog.additional.retention.msAdded to a windows maintainMs to ensure data is not deleted from the log prematurely. Allows for clock drift. Default is 1 daylong86400000medium
application.serverA host:port pair pointing to an embedded user defined endpoint that can be used for discovering the locations of state stores within a single KafkaStreams applicationstring""low
buffered.records.per.partitionThe maximum number of records to buffer per partition.int1000low
cache.max.bytes.bufferingMaximum number of memory bytes to be used for buffering across all threadslong10485760[0,...]low
commit.interval.msThe frequency with which to save the position of the processor.long30000low
metric.reportersA list of classes to use as metrics reporters. Implementing the MetricReporter interface allows plugging in classes that will be notified of new metric creation. The JmxReporter is always included to register JMX statistics.list[]low
metrics.num.samplesThe number of samples maintained to compute metrics.int2[1,...]low
metrics.sample.window.msThe window of time a metrics sample is computed over.long30000[0,...]low
num.standby.replicasThe number of standby replicas for each task.int0low
num.stream.threadsThe number of threads to execute stream processing.int1low
poll.msThe amount of time in milliseconds to block waiting for input.long100low
rocksdb.config.setterA Rocks DB config setter class that implements the RocksDBConfigSetter interfaceclassnulllow
state.cleanup.delay.msThe amount of time in milliseconds to wait before deleting state when a partition has migrated.long60000low