Recent changes to the Drill launch scripts give us a new option for simplifying 
Drill upgrade in Drill 1.8 and later. The new scripts support a “site 
directory” that holds all our site-specific files separate from the Drill 
product directory.

Before now, we could put our config files in a config directory which we name 
when launching Drill:

drillbit.sh —config /my/conf/dir start

The existing config dir held just config files (hence the name). If we used 
UDFs in prior releases, we put those in $DRILL_HOME/jars/3rdparty.

In 1.8 and later, the site directory is a simple extension of the config 
directory. Just add a “jars” subdirectory to your config directory and put your 
custom jars there instead of $DRILL_HOME. You can even add native libraries in 
the new “lib” directory and Drill will automatically load them. That is:

/my/conf/dir
|- drill-override.conf
|- drill-env.sh
|- jars
   |- myudf.jar
|- lib
   |- mysecurity.so

To use the site directory:

drillbit.sh —site /my/conf/dir start

(—config still works as well.)

If you don’t like typing, set an environment variable:

export DRILL_CONF_DIR=/my/conf/dir
drillbit.sh start

The site directory works with drillbit.sh and the various Drill client scripts.

Upgrades are now easy: just delete the old Drill product directory and expand 
the Drill archive to create a new one. No need to back up and merge files each 
time since your site files are unaffected by an upgrade.

Using the site directory, you can have different site directories for different 
Drill sessions: one for development, another for test, etc.

For those who are adventurous, the site directory allows you to run multiple 
Drill clusters from as single Drill install: just create a site directory for 
each. (And do the required config, which is a separate topic.) 

- Paul

Reply via email to