- Clone
horus-events
repository - Run
mvn install
- Clone
horus-event-consumer
(processor) - Run
mvn package -DskipTests
(install Neo4j 3.x in your local enviroment if running without -DskipTests) docker build --tag fntneves/horus-processor .
This is already included in the deployment .zip
file.
If in any case, you need to update the plugin, do the following.
- Clone
horus-neo4j-algo
- Run
mvn package
- Copy .jar from
target/
toneo4j/plugins/
- Restart Neo4j Docker if it is running
Horus comes with default configuration in processor/conf
.
It includes tunnable performance parameters and log4j configuration.
For debugging the Horus processor, open the conf/log4j2.properties
file and set the logger.horus.level
value to DEBUG
.
docker network create horus_network
- Update
docker-compose.yml
by replacing all instances of<EXTERNAL_IP_ADDRESS>
with the actual external IP address of the host where each service will be deployed. Otherwise, remove JMX-related flags. - Replace all
<EXTERNAL_HOSTNAME>
occurences with the actual hostname where the deploy will run on
Hopefully, no additional configuration is needed in docker-compose.yml
.
docker network create horus_network
docker-compose up
- Execute the
add_neo4j_indexes.sh
file - Alternatively, run the queries manually in the browser, at
http://localhost:7474
- Clone
horus-benchmarks
- Update the
KafkaWriter
constructor argument inkafka-event-seeder.py
to match your Kafka host. - Run
python kafka-event-seeder.py 2
to seed the Neo4j database with 2 (SND -> RCV) pairs, i.e., 4 events in total. - You should see the expected events and relationsips in Neo4j Browser
Note: If any import errors occur, run
pip <package>
for each missing package.
To clear all data and reboot the system in empty state, run the reset_cluster.sh
script.
It will delete all temporary files, reboot docker containers and re-create indexes.
This is useful while repeating tests.
- Clone
horus-lo4j-appender
- Run
mvn package
- Copy .jar in
target/
folder to the application's jar folder and update the Log4j configuration to consider the new appender (seelog4j.properties
example inexample-java-application
repository)