#"hostname" and "port" are used to receive internal messages from other nodes of cluster。
# Hostname can be either hostname or IP address.
cluster.current.hostname = 127.0.0.1
# Listening port.
cluster.current.port = 11800

# In this version, all members have same roles, and everyone of them is listening the status of others.
#The routers do not send message to nodes, which is unreachable, caused by network trouble, jvm crash or any other reasons.
cluster.current.roles=WorkersListener

#Initial contact points of the cluster, e.g. seed_nodes = 127.0.0.1:11800, 127.0.0.1:11801.
#The nodes to join automatically at startup.
#When setting akka configuration, it will be change.
#like: ["akka.tcp://system@127.0.0.1:11800", "akka.tcp://system@127.0.0.1:11801"].
#This is akka configuration, see: http://doc.akka.io/docs/akka/2.4/general/configuration.html
cluster.seed_nodes=127.0.0.1:11800

#elasticsearch configuration, see cluster.name in "config/elasticsearch.yml"
  es.cluster.name = CollectorDBCluster
  es.cluster.transport.sniffer = true

# The elasticsearch nodes of cluster, separated by comma, e.g. nodes=ip:port, ip:port
es.cluster.nodes=10.0.0.10:9300

#Initialized mode of elasticsearch index, default is auto.
#Options: auto, forced, manual
#auto: create index when it doesn't exist.
# forced: delete and create.
# manual: do nothing.
es.index.initialize.mode=auto
# Config of shards or replicas in Elasticsearch.
es.index.shards.number=2
es.index.replicas.number=0

# "hostname", "port" and "contextPath" are used to provide HTTP RESTful services.
# RESTful services include "receive segment" and "webui query services".
http.hostname=127.0.0.1
http.port=12800
# Web context path
http.contextPath=/

# Cache size of analysis worker. The value determines whether sending to next worker and clear, or not.
cache.analysis.size=1024
# Cache size of persistence worker. The value determines whether save data and clear, or not.
cache.persistence.size=4096

