This message was deleted.
# troubleshooting
s
This message was deleted.
b
I'm not sure how you would make sure they don't write to the same segment-cache, or step on each other's feet on the drive.
Maybe if each is started with a different runtime.properties file being passed to the startup command.
Why not just run one bigger historical (ie, give it the resources you intend to give both)?
n
question - when I set more than single historical .. they act as a replica meaning each node hold a clone of segments .. or they act as sharding - each node hold a subset of segments in cache .. ?
d
Replication is managed by the coordinator, you define those rules using the UI/API. Historical is just a “dumb” data plane and they are all equivalent to each other.
n
so if I understand correctly if I have 100 segments and I spin up 2 historical , which historical will load 100 segments ?
d
Coordinator will decide on its own. it has its own algorithm: cachingCost, cost, etc. The final result, where things are, will be viewable inside Zookeeper.
n
what is the benfit to use few historical node vs single ?
if all historical hold the same segments population ..?
what I am not sure I undersntad is if cluster has N count of segments .. is those N segments split (distributed) on historical node (option A).. OR is each historical node act as a copy of the other nodes (replica) - Option B .. design wise how druid works .. option A / or option B ?
d
the segments are both sharded and replicated
so its both
b
You set the replication factor, ie, how many copies of each segment you wanted loaded. 2 is common. That way if one is unavailable on one historical, it's on another one, too.
single node gives no redundancy. Multiple nodes also spreads the load. Big data nodes are fine, but there's also benefits to sharding, for the usual reasons.