Here you can find some helpful sourcecodes which should ease your integration into the HOBBIT platform and participation in the StreaML Open Challenge.
The sourcecodes use the HOBBIT Java SDK and should allow challenge participants to debug their systems using benchmark workload locally without having a running platform instance. The benchmarking system can be tested as pure java code or/and being packed (automatically, by demand) into docker image. Finally the docker image of the system may be uploaded into the HOBBIT online platform (as described here and here) and executed there under the online StreaML v1 Benchmark, which is used for the challenge.
- Make sure that Oracle Java 1.8 (or higher) is installed (
java -version
). Or install it by thesudo add-apt-repository ppa:webupd8team/java && sudo apt-get update && sudo apt-get install oracle-java8-installer -y
. - Make sure that docker (v17 and later) is installed (or install it by
sudo curl -sSL https://get.docker.com/ | sh
) - Make sure that maven (v3 and later) is installed (or install it by
sudo apt-get install maven
) - Add the
127.0.0.1 rabbit
line to/etc/hosts
(Linux) orC:\Windows\System32\drivers\etc\hosts
(Windows) - Clone this repository (
git clone https://github.com/smirnp/StreaML_Sample_System.git
) - Open the cloned repository in any IDE you like.
- Make sure that hobbit-java-sdk dependency (declared in pom.xml) is installed into your local maven repository (or install it by executing the
mvn validate
command)
- Find the
SystemAdapter.java
and use it as a basic HOBBIT-compatible implementation of your future system. Run thecheckHealth()
method from theStreaMLSystemTest.java
to test/debug your system as pure java code. More details about the design of HOBBIT-compatible system adapters can be found here and here. - To build docker image you for the system you have to configure values in the
ExampleDockersBuilder.java
, package your code into jar file (mvn package -DskipTests=true
) and execute thebuildImages()
from theSampleSystemTest.java
. Image building is automatic, but is on-demand, i.e. you have to check the actuality and rebuild images (inc. rebuilding jar file) by your own. - To run the docker image of your system you have to switch the value of the (
systemAdapter
) variable inStreaMLSystemTest.java
. All internal logs from containers will be provided. You can skip logs output from benchmark by adding the '.skipLogsReading()' for PullBasedDockersBuilder within BenchmarkDockersBuilder. - To upload your image of the system into the HOBBIT platform please follow the standard procedure (decribed here and here).
All the benchmark-sensitive information for your system.ttl file you may find in the example system.ttl file. You have to change only the following things: label, comment and imageName.
Feel free to ask any questions regading the StreaML Open Challenge under the Issues tab.