Hi Matt,

Running Drill with drillbit.sh mostly does a bunch of Java setup, then
invokes a main routine that runs Drill as a service. Nothing special about
that.

Drill's "embedded" mode runs without ZK. Technically, it creates an
in-memory "cluster coordinator" that coordinates only with itself. The
"main" for embedded mode is the Sqlline process (which starts Drill via a
JDBC call.)

Many of Drill's unit tests create an in-process server using the in-memory
cluster coordinator. Although tests normally disable the embedded web
server, it is possible to enable the web server, as is done by one or two
tests. Depending on what you're trying to do, you could probably cobble
something together along these lines.

A bit more ambitious option is to add a Drill command-line option to run as
a service (with all the usual Java and logging setup), but use the
single-node, non-ZK cluster coordinator.

- Paul


On Tue, Sep 29, 2020 at 2:43 PM Matt Keranen <[email protected]> wrote:

> Is it possible to run a single node drillbit without Zookeeper, as a
> "service" without the need for coordination across multiple nodes?
>
> `zk.connect: "local"` is not accepted as the equivalent of "zk=local" with
> drill-embedded.
>

Reply via email to