Fuseki on CentOS - jneubert/doc GitHub Wiki
Installing Fuseki 4.x on CentOS 7.x
Based on https://github.com/NatLibFi/Skosmos/wiki/InstallTutorial - only a few additions
Upgrade Java
sudo yum install java-11-openjdk java-11-openjdk-devel
sudo alternatives --config java
Create directories
- leave the database dirs under their default (
/var/lib/fuseki/databases) - make all created directories owned by fuseki:fuseki
- symlink that directory to another location if necessary
- create
/var/lib/fuseki/databases/temp, which is not referenced in config.ttl, for batch operations (tdbloader, textindexer) in parallel to a running Fuseki, and make it owned by the operating user - locate text indexes in a
textsubdirectory beyond the dataset directory
Link systemd script (provided by fuseki dist)
cd /etc/systemd/system
sudo ln -s /opt/fuseki/fuseki.service .
or provide customized version (as of v4.6.1, necessary for adding the --tdb2 flag), e.g. in /usr/local/etc/systemd/system/
Custom logging
Logging to file needs /etc/rsyslog.d/fuseki.conf:
if $programname == 'fuseki' then /var/log/fuseki/stderrout.log
if $programname == 'fuseki' then stop
To activate:
sudo systemctl restart rsyslog
Not sure if the following works_
Leave /opt/fuseki/log4j2.properties untouched, and modify a copy of it in /etc/fuseki.
Add a line to /etc/systemd/system/fuseki.service:
Environment=LOGGING=-Dlog4j.configurationFile=/etc/fuseki/log4j2.properties
Install new minor version of Fuseki
- Extract apache-jena-fuseki-x.y.z.tar.gz to
/opt - Stop service (if running)
- Replace
/opt/fusekisymlink - Start fuseki
sudo /opt/fuseki/fuseki start
Migrating datasets from Fuseki 2.x to 3.x
On old machine:
export DS=eurovoc; curl -H "Accept: application/n-quads" http://localhost:8080/fuseki/$DS/data \
| gzip > ${DS}_mig.nq.gz
On new machine:
export DS=eurovoc; zcat /var/lib/fuseki/backups/${DS}_mig.nq.gz \
| curl -X PUT -d@- -H "Content-Type: application/n-quads" http://localhost:3030/$DS/data