...
If you are not yet familiar with the DuraCloud Mill please refer to the DuraCloud Architecture document, which describes the purpose and primary components of the Mill.
Requirements
- Java: Version 8 required
- The Oracle JDK is recommended for building DuraCloud, as this is the JDK used for DuraCloud testing.
- Maven 3.x
- Git
- MySQL database
- AWS account and credentials
Download, Build, Configure
To start, clone and build the latest release of the mill
Code Block git clone https://github.com/duracloud/mill.git cd mill git checkout release-2.21.0 mvn clean install
- Create database
- Create the empty mill database
- Add database credentials
- Create the schema using <mill project root>/resources/mill.schema.sql
- Run schema updates in ascending order: <mill project root>/resources/schema-update-*.sql
- Create a configuration file.
- Now that you've built the mill and created the database, we need to set up a configuration file that can be used my the various components of the system. A template of this configuration file can be found in the base line at mill/resources/mill-config-sample.properties
- Copy and rename the file to mill-config.properties
Configure the database connections to the mill database as well as the management console database:
Code Block ################### # Mill Database ################### # Config for mill database. mill.db.host=[fill in] mill.db.port=[fill in] mill.db.name=[fill in] # User must have read/write permission mill.db.user=[fill in] mill.db.pass=[fill in] ################### # Account Management Database ################### # Config for the management console database - used to retrieve accounts and storage provider credentials db.host=[fill in] db.port=[fill in] db.name=[fill in] # User must have read permission db.user=[fill in] db.pass=[fill in]
- Now that you've built the mill and created the database, we need to set up a configuration file that can be used my the various components of the system. A template of this configuration file can be found in the base line at mill/resources/mill-config-sample.properties
...
Workman is responsible for reading tasks off from a set of queues, delegating them to task processors, and removing them once they have reached a completed state. In the case of failures, tasks are retried three times before they are sent to the dead letter queue. A single instance of Workman can run multiple tasks in parallel. How many tasks depends on the max-workers setting in the mill-config.properties file. It is also safe to run multiple instances of workman a single machine as well as multiple. We recommend running a single instance of workman on each machine instance, setting the max-workers setting in accordance with the available resources.
...