A Docker image uses ShenandoahGC that reduces GC pause times by performing more garbage collection work concurrently with the running Java program.
Deployment on ACDH-CH k8s cluster is performed over Github actions.
Environment Variable | Required | Default | Description |
---|---|---|---|
ADMIN_PASSWORD | + | Admin password for Jena Fuseki. It can be set over the Rancher GUI | |
JVM_ARGS | + | Specifies the RAM required for Jena Fuseki. |
Following directories should be persistent:
- /fuseki/configuration
- /fuseki/databases
- /vocabs-import
- Check the config file (e.g. /fuseki/configuration/largedataset.ttl) for a graph, it should contain:
@prefix tdb: <http://jena.hpl.hp.com/2008/tdb#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ja: <http://jena.hpl.hp.com/2005/11/Assembler#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix fuseki: <http://jena.apache.org/fuseki#> .
:service_tdb_all a fuseki:Service ;
rdfs:label "TDB largedataset" ;
fuseki:dataset :tdb_dataset_readwrite ;
fuseki:name "largedataset" ;
fuseki:serviceQuery "query" , "sparql" ;
fuseki:serviceReadGraphStore "get" ;
fuseki:serviceReadWriteGraphStore
"data" ;
fuseki:serviceUpdate "update" ;
fuseki:serviceUpload "upload" .
:tdb_dataset_readwrite
a tdb:DatasetTDB ;
tdb:location "/fuseki/databases/largedataset" .
- Put the file that should be imported in /vocabs-import
- Go to Rancher GUI ---> Vocabs ---> Edit the pod apache-jena-fuseki ---> Show advanced options ---> Command ---> Entrypoint ---> Add /bin/bash ---> Save
- Go to Rancher GUI ---> Vocabs ---> Edit the pod apache-jena-fuseki ---> Environment Variables ---> Set JVM_ARGS to 20G ---> Save
- Enter container and execute:
su user
./load.sh destination yourdatadump.rdf
where destination is a name of your database (e.g. largedataset)
- Go back to Rancher GUI and remove "/bin/bash" command added in the third step and reduce JVM_ARGS to 6G