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
.
-
Dremio recommends ZooKeeper 3.6 or later. ZooKeeper 3.4 has reached end-of-life and is no longer supported.
-
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:
Default property and syntaxservices.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.
ZooKeeper 3.5 Support (non-MapR)
If you use an external ZooKeeper 3.5 cluster, add the system property -Dcurator-cache-bridge-force-tree-cache=true
to dremio-env as shown in the following example:
export DREMIO_JAVA_SERVER_EXTRA_OPTS="-<otherProperties> -Dcurator-cache-bridge-force-tree-cache=true"
For More Information
For more information about configuring ZooKeeper, see Configuring Zookeeper.