Step 5: Configure Multiple Drill Clusters
Update the /opt/mapr/drill/drill-<version>/conf/drill-override.conf file on each Drill node that is part of a cluster with the cluster ID and a ZooKeeper entry to define the Drill cluster. Each Drill cluster should have a unique cluster ID and ZooKeeper entry to separate the clusters.
NOTE
Each Drill node in a cluster must have the same configuration.The Drillbit process reads the configuration file and communicates with ZooKeeper to see if the cluster it belongs to exists. If the cluster exists, ZooKeeper says to join the cluster. If the cluster does not exist, the Drillbit initiates a new Drill cluster based on the cluster ID.
The following table provides an example of unique cluster IDs and ZooKeeper entries based on
the topologies in the image shown in step 3, Define Node Topologies:
Cluster | Nodes | Cluster ID | ZooKeeper Entry |
QS1 |
10.10.100.1 10.10.100.2 |
cluster-id: "drillbits" |
zk.root: "drill" |
D1 |
10.10.100.3 10.10.100.4 10.10.100.5 10.10.100.6 10.10.100.7 10.10.100.8 10.10.100.9 10.10.100.10 |
cluster-id: "drillbits2" | zk.root: "drill2" |
For QS1, drill-override.conf must include the following
configuration:
drill.exec: {
zk.root: "drill",
cluster-id: "drillbits",
zk.connect: "<zk-node-ip-address>:5181",
}
For D1, drill-override.conf must include the following
configuration:
drill.exec: {
zk.root: "drill2",
cluster-id: "drillbits2",
zk.connect: "<zk-node-ip-address>:5181",
}
NOTE
If
you installed Drill to run under YARN, follow the steps in Defining Multiple Drill Clusters Under YARN for each Drill node. Drill running
under YARN requires some additional steps, such changing ZooKeeper ports.