v0.9
Release Notes - v0.9
For changes see CHANGELOG
Upgrading to v0.9
(Ansible/Vagrant Server)
This version v0.9
introduces some changes at the server level that the normal update utility cannot address. Steps to manually make these changes are outlined below for Ansible/Vagrant Server build or Docker deployment.
Switch from standalone Spark cluster to running in local mode
To more closely align with the Docker deployment, and reduce some complexity without much/any noticeable change to performance, this switches the Spark application that is created by Livy from running in a standalone Spark cluster to running in what is called "local" mode, using N-threads.
This is optional, but recommended, as future updates and releases will likely assume running in local mode.
- First step is to stop Spark cluster, if running. The following can be run from anywhere:
# note the trailing colon, which is required
sudo supervisorctl stop spark:
- Second, is to prevent the Spark cluster from autostarting on reboot. Modify the file
/etc/supervisor/supervisord.conf
, and then under the sections[program:spark_driver]
and[program:spark_worker]
, changeautostart
andautorestart
tofalse
. They should then look something like the following:
[program:spark_driver]
environment =
SPARK_MASTER_HOST=0.0.0.0
command=/opt/spark/bin/spark-class org.apache.spark.deploy.master.Master
directory=/opt/spark/
autostart = false
autorestart = false
stdout_logfile = /var/log/spark/spark_driver.stdout
stderr_logfile = /var/log/spark/spark_driver.stderr
user = combine
[program:spark_worker]
command=/opt/spark/bin/spark-class org.apache.spark.deploy.worker.Worker spark://localhost:7077
directory=/opt/spark
autostart = false
autorestart = false
stdout_logfile = /var/log/spark/spark_worker.stdout
stderr_logfile = /var/log/spark/spark_worker.stderr
user = combine
To apply these changes, run the following:
sudo supervisorctl reread
sudo supervisorctl update
For reference sake, the configurations and binaries to run this standalone Spark cluster remain in the build, in the event it is deemed helpful, or might assist in configuring with another cluster.
- Finally, update the parameter
livy.spark.master
in/opt/livy/conf/livy.conf
to the following:
livy.spark.master = local[*]
To apply, restart Livy:
sudo supervisorctl restart livy
Update DPLA's Ingestion3 build
As outlined in this issue, moving from forked version of Ingestion3 to pinned commits in DPLA repository to build from.
The Docker deployment ships with a .jar
file already compiled, which can be used for our purposes here. Ansible/Vagrant builds as of v0.9
will build this newer, updated version of Ingestion3.
To upgrade in place:
# jump to directory where Ingestion3 jar is located
cd /opt/ingestion3/target/scala-2.11
# backup previous Ingestion3 jar file
mv ingestion3_2.11-0.0.1.jar ingestion3_2.11-0.0.1.jar.BAK
# download pre-built .jar file
wget https://github.com/WSULib/combine-docker/raw/15938f053ccdfad08e41d60e6385588a064dc062/combinelib/ingestion3_2.11-0.0.1.jar
Then, restart Livy:
sudo supervisorctl restart livy
Finally, run update script as per normal
cd /opt/combine
source activate combine
git checkout master
git pull
pip install -r requirements.txt
./manage.py update --release v0.9
Upgrading to v0.9
(Docker)
From the Combine-Docker git repository directory on your host machine, pull changes:
git pull
Checkout tagged release:
git checkout v0.9
Run update script:
./update_build.sh