# Configuration File for HStreamDB # Configuration for HStream Server hserver: # The identifier of a single HServer node, # the value must be given and can be overwritten by cli option `--server-id` id: 1 # Server port value, the value must be given and can be overwritten by cli # option `--port` port: 6570 # Server port value for internal communications between server nodes, # the value must be given # and can be overwritten by cli option `--internal-port` internal-port: 6571 bind-address: 0.0.0.0 # Server listener address value, the value must be given. # It should NOT be "127.0.0.1", 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 `--advertised-address` advertised-address: 127.0.0.1 #advertised-listeners: # private: # - address: "127.0.0.1" # port: 6580 # #listeners-security-protocol-map: private:plaintext # The address used for internal communications between server nodes, # if not given, it will use the value of `advertised-address` # #gossip-address: # The server nodes in the same cluster shares a meta store unit # , this is essential for a server to start. # # Use Comma separated host:port pairs, with the storage protocol # e.g. use a zookeeper cluster as meta storage, # zk://127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183 # e.g. use a Rqlite cluster as meta storageļ¼Œ # rq://127.0.0.1:4001 # the value must be given # and can be overwritten by cli option `--metastore-uri` metastore-uri: zk://127.0.0.1:2181 connector-meta-store: zk://127.0.0.1:2181 # To start a cluster, a list of host (and port) pairs must be provided # if the port is not specified, # the server will use `internal-port` value specified above. # As a string of comma separated host:internal-port pairs, # each corresponding to server gossip listener. # the value must be given # and can be overwritten by cli option `--seed-nodes` seed-nodes: 127.0.0.1:6571 # The max record payload size the hstream server would accept. # The value only indicates that the server would not reject the value, # but has no guarantee that a record smaller than the specified value will be written successfully. # Optional; If not specified, the default value will be 1MB # #max-record-size: 1048576 # 1024*1024 # The options used to control logs print by the server node, # the following values are the default values if the options is not specified. # Also the default value will be overwritten by cli flag # `--log-with-color` and option `--log-level` # # Optional, the default value will be true # #log-with-color: true # Optional, the default value will be info # #log-level: info # TLS options # Enable tls, which requires tls-key-path and tls-cert-path options # #enable-tls: false # Key file path for tls, can be generated by openssl # #tls-key-path: /path/to/the/server.key.pem # The signed certificate by CA for the key(tls-key-path) # #tls-cert-path: /path/to/the/signed.server.cert.pem # Optional for tls, if tls-ca-path is not empty, then enable TLS authentication, # in handshake phase, server will request and verify client's certificate. # #tls-ca-path: /path/to/the/ca.cert.pem # Cluster Gossip Options # #gossip: # gossip-fanout: 3 # retransmit-mult: 4 # gossip-interval: 1000000 # 1 sec # probe-interval: 2000000 # 2 sec # roundtrip-timeout: 500000 # 0.5 sec # TODO: Auth tokens # - store tokens safely #tokens: [] # HStream IO Options hstream-io: # the io tasks work directory tasks-path: /tmp/io/tasks # io tasks run as docker containers, # so the tasks-network should be the network that can connect to HStreamDB and external systems. tasks-network: host extra-docker-args: "-m 4g" # when restarting a connector, whether use fixed connector image(if images of config file was updated), # true -> read image from metastore # false -> read image from config file fixed-connector-image: true # source images source-images: mysql: hstreamdb/source-mysql:latest postgresql: hstreamdb/source-postgresql:latest sqlserver: hstreamdb/source-sqlserver:latest mongodb: hstreamdb/source-mongodb:latest generator: hstreamdb/source-generator:latest # sink images sink-images: mysql: hstreamdb/sink-mysql:latest postgresql: hstreamdb/sink-postgresql:latest mongodb: hstreamdb/sink-mongodb:latest blackhole: hstreamdb/sink-blackhole:latest las: hstreamdb/sink-las:latest elasticsearch: hstreamdb/sink-elasticsearch:latest # Internal grpc settings (typically, there's no need to modify these) #grpc: # channel-args: # GRPC_ARG_KEEPALIVE_TIME_MS: 7200000 # (2 hours) # GRPC_ARG_KEEPALIVE_TIMEOUT_MS: 20000 # (20 seconds) # GRPC_ARG_KEEPALIVE_PERMIT_WITHOUT_CALLS: 0 # (false) # GRPC_ARG_HTTP2_MAX_PINGS_WITHOUT_DATA: 2 # GRPC_ARG_HTTP2_MIN_RECV_PING_INTERVAL_WITHOUT_DATA_MS: 300000 # (5 minutes) # GRPC_ARG_HTTP2_MAX_PING_STRIKES: 2 # Configuration for HStream Kafka Server kafka: # The identifier of a single HServer node, # the value must be given and can be overwritten by cli option `--server-id` id: 1 # Server port value, the value must be given and can be overwritten by cli # option `--port` port: 9092 # Server port value for internal communications between server nodes, # the value must be given # and can be overwritten by cli option `--gossip-port` gossip-port: 6571 # Server port value for export metrics and can be overwritten by cli option `--metrics-port` metrics-port: 9700 bind-address: 0.0.0.0 # Server listener address value, the value must be given. # It should NOT be "127.0.0.1", 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 `--advertised-address` advertised-address: 127.0.0.1 #advertised-listeners: # private: # - address: "127.0.0.1" # port: 9192 # # Listener security in format :[, ...] # can be one of the following: # "plaintext": no authentication and no encryption # "tls": tls encryption but no authentication # "sasl_plaintext": sasl authentication but no encryption # "sasl_tls": sasl authentication and tls encryption # For example, "public:tls,private:plaintext" #listeners-security-protocol-map: private:plaintext # The address used for internal communications between server nodes, # if not given, it will use the value of `advertised-address` # #gossip-address: # The server nodes in the same cluster shares a meta store unit # , this is essential for a server to start. # # Use Comma separated host:port pairs, with the storage protocol # e.g. use a zookeeper cluster as meta storage, # zk://127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183 # e.g. use a Rqlite cluster as meta storageļ¼Œ # rq://127.0.0.1:4001 # the value must be given # and can be overwritten by cli option `--metastore-uri` metastore-uri: zk://127.0.0.1:2181 # To start a cluster, a list of host (and port) pairs must be provided # if the port is not specified, # the server will use `internal-port` value specified above. # As a string of comma separated host:internal-port pairs, # each corresponding to server gossip listener. # the value must be given # and can be overwritten by cli option `--seed-nodes` seed-nodes: 127.0.0.1:6571 # The max record payload size the hstream server would accept. # The value only indicates that the server would not reject the value, # but has no guarantee that a record smaller than the specified value will be written successfully. # Optional; If not specified, the default value will be 1MB # #max-record-size: 1048576 # 1024*1024 # The options used to control logs print by the server node, # the following values are the default values if the options is not specified. # Also the default value will be overwritten by cli flag # `--log-with-color` and option `--log-level` # # Optional, the default value will be true # #log-with-color: true # Optional, the default value will be info # #log-level: info # TLS options # Enable tls, which requires tls-key-path and tls-cert-path options # #enable-tls: false # Key file path for tls, can be generated by openssl # #tls-key-path: /path/to/the/server.key.pem # The signed certificate by CA for the key(tls-key-path) # #tls-cert-path: /path/to/the/signed.server.cert.pem # Optional for tls, if tls-ca-path is not empty, then enable TLS authentication, # in handshake phase, server will request and verify client's certificate. # #tls-ca-path: /path/to/the/ca.cert.pem # SASL options # Enable SASL authentication. This requires `--enable-sasl` option. #enable-sasl: False # SASL config should be placed under `sasl:` # ::= [] # ::= { mechanism: , auth-list: [] } # ::= { username: , password: } (PLAIN mechanism) # To start a server with SASL authentication, use `advertised-listeners:` # and `listeners-security-protocol-map:` options above. #sasl: # - mechanism: "PLAIN" # auth-list: # - username: "admin" # password: "password" # - username: "user_a" # password: "password_a" # - mechanism: "SCRAM-SHA-256" # auth-list: # - username: "admin" # password: "password" # - username: "user_a" # password: "password_a" # Cluster Gossip Options # #gossip: # gossip-fanout: 3 # retransmit-mult: 4 # gossip-interval: 1000000 # 1 sec # probe-interval: 2000000 # 2 sec # roundtrip-timeout: 500000 # 0.5 sec # Broker options (compatible with Kafka) # #num.partitions: 1 #default.replication.factor: 1 #auto.create.topic.enable: true #offsets.topic.replication.factor: 1 # Internal storage options # #storage: # fetch-mode: 1 # TODO: Currently, only mode 1 is supported # fetch-reader-timeout: 50 # 50ms, default timeout of each read, 0 means nonblocking # fetch-maxlen: 1000 # default max size of each read # Configuration for HStream Store # The configuration for hstore is **Optional**. When the values are not provided, # hstreamdb will use the following configuration as the default configuration. hstore: #log-level: info # checkpoint-replication-factor: 1 ## Store admin section specify the client config when connecting to the storage admin server ## #store-admin: # host: "127.0.0.1" # port: 6440 # protocol-id: binary # conn-timeout: 5000 # send-timeout: 5000 # recv-timeout: 5000