ZooKeeper
Dremio utilizes Apache ZooKeeper behind the scenes for cluster coordination.
Dremio automatically runs an embedded ZooKeeper instance on every coordinator node. Alternatively, you can configure Dremio to use an external ZooKeeper cluster. The default port 2181.
| Deployment | ZooKeeper Property |
|---|---|
| Single node cluster | The ZooKeeper property is not added to the dremio.conf file with a single node cluster. |
| Multi-node cluster | The ZooKeeper property must be added to the dremio.conf file on each coordinator and executor node in the Dremio cluster. |
Embedded ZooKeeper
By default, Dremio runs an embedded ZooKeeper on port 2181. In a Dremio cluster, other than a standalone node, you must add the ZooKeeper property to the dremio.conf file on each coordinator and executor node in the Dremio cluster.
External ZooKeeper
To use your own external ZooKeeper cluster rather than Dremio's embedded ZooKeeper,
modify the zookeeper property in the dremio.conf file.
If no ZooKeeper path is specified, Dremio defaults to /dremio.
The dremio.conf must be updated on every Dremio coordinator and executor node in the cluster.
The following example shows the default property and syntax:
{{< codeheader "Default property and syntax" >}}
services.coordinator.master.embedded-zookeeper.enabled: false
zookeeper: "<host1>:2181,<host2>:2181"
If you are configuring for HA, then each dremio.conf file on all nodes in the Dremio cluster must specify the ZooKeeper property with every ZooKeeper location.
For example, if **zooA** is the primary ZooKeeper node and **zooB** is the secondary ZooKeeper node,
then your ZooKeeper setting is `zookeeper: "zooA:2181,zooB:2181"`.If you are configuring multiple Dremio clusters to run using the same ZooKeeper quorum, then you set the property to point to a different root.
For More Information
For more information about configuring ZooKeeper, see Configuring Zookeeper.