# HStreamDB Configuration

HStreamDB configuration file is located at path /etc/hstream/config.yaml in the docker image from v0.6.3. or you can download (opens new window) the config file

# Configuration Table

# hserver

NameDefault ValueDescription
idThe identifier of a single HServer node, the value must be given and can be overwritten by cli option --server-id
addressServer listen address value, the value must be given and shouldn't be "0.0.0.0", if you intend to start a cluster or trying to connect to the server from a different network. This value can be overwritten by cli option --address
portServer port value, the value must be given and can be overwritten by cli option --port
internal-portServer port value for internal communications between server nodes, the value must be given and can be overwritten by cli option --internal-port
zkuriThe server nodes in the same cluster shares a zookeeper server, this is essential for a server to start Comma separated host:port pairs, each corresponding to a zk zookeeper server. e.g. 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183 the value must be given and can be overwritten by cli option --zkuri
log-with-colortrueoptional, The options used to control whether print logs with color by the server node, can be overwritten by cli option --log-with-color
log-levelinfooptional, the setting control lof print level by the server node the default value can be overwritten by cli option --log-level
max-record-size1024*1024 (1MB)The largest size of a record batch allowed by HStreamDB
compression"lz4"The option which compression should the server use when writing record to store,which can be one of "none", "lz4", "lz4hc" or "zstd:1" (the next number "1" is for zstd_level, you can also choose other level)
enable-tlsfalseTLS options: Enable tls, which requires tls-key-path and tls-cert-path options
tls-key-pathTLS options: Key file path for tls, can be generated by openssl
tls-cert-pathThe signed certificate by CA for the key(tls-key-path)

# hstore

The configuration for hstore is optional. When the values are not provided, hstreamdb will use the the default values.

NameDefault ValueDescription
log-levelinfooptional

Store admin section specifies the client config when connecting to the storage admin server

NameDefault ValueDescription
host"127.0.0.1"optional
port6440optional
protocol-idbinaryProtocolIdoptional
conn-timeout5000optional
send-timeout5000optional
recv-timeout5000optional

# stream

NameDefault ValueDescription
replication-factor1optional
backlog-retention7*24*3600the retention time in seconds

# subscription

NameDefault ValueDescription
ackTimeoutSeconds600Maximum time in the server will wait for an acknowledgement
maxUnackedRecords10000The maximum amount of unacknowledged records allowed

# Command-Line Options

For the ease of use, we allow user to pass some options to override the configuration in the configuration file when start server with hstream-server :

optionmeta vardescription
config-pathPATHhstream config path
hostHOSTserver host value
portINTserver port value
addressADDRESSserver address
internal-portINTserver channel port value for internal communication
server-idUINT32ID of the hstream server node
store-admin-portINTstore admin port value
zkuriSTRcomma separated host:port pairs, each corresponding to a zk zookeeper server. e.g."127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183"
log-level<critical | fatal | warning | info | debug>Server log level
log-with-colorFLAGServer log with color