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
