Deployment
Prerequisites
To run the energy workbench, the following software needs to be installed on your system:
- Oracle Java SE 8
The supplied scripts with the release are all written in bash. This means a Linux host or a Windows system with a bash interpreter installed is required to run the daily data script or the helper script to start and stop the EWB server.
Decompressing the release
Start by decompressing the EWB release archive into a location of your choosing.
To decompress the EWB release on a *nix platform, copy the file to where you want to extract the release. Open a terminal in the directory with the EWB release and run the following command:
tar -xvzf energy-workbench-server-<YYYY>-<MM>-<dd>.tar.gz
where <YYYY>
<MM>
<dd>
are the year, month and date of the release.
To decompress on Windows systems, you will need to install a utility to decompress and extract the archive. We recommend using 7-Zip http://www.7zip.org. Once installed extract the release to your desired directory.
File Layout
Within the extracted EWB release directory, the file layout should be as follows:
energy-workbench-<DATE>/
|-- bin/
| |-- energy-workbench-server-<version>.jar
| |-- ewb_daily.sh
| |-- ewb_server.sh
| |-- load-aggregator-<version>.jar
| |-- load-processor-<version>.jar
| |-- pof-network-extractor-<version>.jar
| |-- weather-processor-<version>.jar
| `-- weather-station-mapper-<version>.jar
|-- conf/
| `-- ewb.conf
|-- docs/
| |-- ...
| `-- index.html
|-- logs
bin directory
This directory contains all the applications and scripts required by the energy workbench. Descriptions of each file:
File | Description |
---|---|
energy-workbench-server-<version>.jar | The Energy Workbench server application. See the EWB Server config for more information |
ewb_daily.sh | The script that runs the daily data ingestion. See the data ingestion page for more information |
ewb_server.sh | A script to start and stop the EWB server. This is used by the ewb_daily.sh script to stop the server while data is updated, and start it again when it's done. |
load-aggregator-<version>.jar | The load aggregator tool. See the Load Aggregator page for more information. |
load-processor-<version>.jar | The load processor tool. See the Load Processor page for more information. |
pof-network-extractor-<version>.jar | The PoF Network Extractor tool. See the PoF Network Extractor page for more information. |
weather-processor-<version>.jar | The weather processor tool. See the weather Processor page for more information. |
weather-station-mapper-<version>.jar | The Weather Station Mapper tool. See the Weather Station Mapper page for more information. |
conf directory
This is the recommended directory to put all the configuration files for the tools and applications in the bin directory.
See each of the corresponding pages for each tool / application for more information about config files and their contents.
The supplied ewb.conf
file is used by the ewb_daily.sh
and ewb_server.sh
scripts.
See the data ingestion page for more details.
docs directory
Contains the documentation pages you are reading now. There are many files and sub directories in this directory making
up the documentation, however the primary file of interest is the index.html
file. Opening this in a web browser
will allow you to view the documentation pages you are currently reading. Alternatively you can point an HTTP server at
this directory to serve the docs pages remotely.
logs directory
This is the default directory where logs are placed if invoked via the ewb_daily.sh
and ewb_server.sh
scripts using the default values in ewb.conf
. See the Logging page for more information about configuring logging.
Configuration files
All the tools and the server provided in the release have their own specific configuration files. See each of the relevant applications pages to create their configuration files. Once they have been created, they can be reused between releases, however, make sure to check if any configuration parameters have been changed, added or removed by the application in the newer release.
The ewb_daily.sh
and ewb_server.sh
scripts rely on ewb.conf
being in the default location. If you move
the location of ewb.conf
you need to make sure to update the config include line in these scripts with the path
to the ewb.conf
file.
ewb.conf
The default ewb.conf
is a configuration file used by the bash scripts included with the Energy Workbench.
The default variable values make assumptions about the file layout described above.
If you move any files from the default file layout location described above the configuration will need to be modified.
The following table describes the variables defined in ewb.conf
. See the ewb.conf
that ships with the release
for default values.
Variable | Description |
---|---|
JAVA | Path to java binary. |
USE_SYSLOG | Set to 1 for the scripts to log events to the system log Set to 0 to disable logging to the system log. |
SYSLOG_LEVEL | The facility level to use for system log messages. |
EWB_BASE_PATH | An absolute path to the EWB release directory (the top level directory described in the file layout section). |
EWB_BIN_PATH | An absolute path to the bin directory described in the file layout above. |
EWB_CONF_PATH | An absolute path to the conf directory described in the file layout above. |
EWB_LOGS_PATH | An absolute path to the logs directory described in the file layout above. |
EWB_SERVER_JAR | An absolute path the the EWB server jar file. |
EWB_SERVER_CONF | An absolute path to the EWB server configuration file. |
EWB_SERVER_CMD | The command to invoke the EWB server jar file with all required command line arguments. |
EWB_SERVER_STOP | Command used by the ewb_daily.sh script to stop the EWB server. |
EWB_SERVER_START | Command used by the ewb_daily.sh script to start the EWB server. |
POF_EXTRACTOR_JAR | An absolute path the the PoF Network Extractor jar file. |
POF_EXTRACTOR_CONF | An absolute path to the PoF Network Extractor configuration file. |
POF_SERVER | The server name or IP address of the PoF Server. This can be a report server. |
POF_EXTRACTOR_CMD | The command to invoke the PoF Network Extractor jar file with all required command line arguments. |
LOAD_PROCESSOR_JAR | An absolute path the the Load Processor jar file. |
LOAD_PROCESSOR_CONF | An absolute path to the Load Processor configuration file. |
LOAD_PROCESSOR_CMD | The command to invoke the Load Processor jar file with all required command line arguments. |
LOAD_AGGREGATOR_JAR | An absolute path the the Load Aggregator jar file. |
LOAD_AGGREGATOR_CONF | An absolute path to the Load Aggregator configuration file. |
LOAD_AGGREGATOR_CMD | The command to invoke the Load Aggregator jar file with all required command line arguments. |
WEATHER_PROCESSOR_JAR | An absolute path the the Weather Processor jar file. |
WEATHER_PROCESSOR_CONF | An absolute path to the Weather Processor configuration file. |
WEATHER_PROCESSOR_CMD | The command to invoke the Weather Processor jar file with all required command line arguments. |
WEATHER_STATION_MAPPER_JAR | An absolute path the the Weather Station Mapper jar file. |
WEATHER_STATION_MAPPER_CONF | An absolute path to the Weather Station Mapper configuration file. |
WEATHER_STATION_MAPPER_CMD | The command to invoke the Weather Station Mapper jar file with all required command line arguments. |
File Handle Limits
The Energy Workbench handles a lot of time series data. To support this a large amount of files are used. For performance reasons, handles to these files are held once opened until the application ends.
Some operating systems will have default open file handle limits lower than what the Energy Workbench requires. In these cases it is required to increase the open file handle limit to run the Energy Workbench. If your OS has a file handle limit of less than 65535, it is recommend to increase it to this value.
Consult your operating system documentation for specific instructions on how to increase open file handle limits. Remember that this limit needs to be available to the user running any of the EWB processes, not just the maximum system limit.