Table of Contents | ||||
---|---|---|---|---|
|
...
Pre-requisites
1. Ensure you have the syndeia-cloud-3.4
_janusgraph_setup.zip
downloaded to your home directory (or home directory's Downloads folder) from the download/license instructions sent out by our team.
Note: the .ZIP will pre-create a separate folder for its contents when extracted so there is no need to pre-create a separate folder for it.
2. Ensure you satisfy Janusgraph's pre-requisites, ie: have (Open|Oracle)JDK/JRE + Apache Cassandra (& optionally Elasticsearch) installed. Re. CPU, memory, HD space, etc. this will depend on how much data you expect to store, query, and graph.
3. If using a firewall, ensure the following port is accessible (consult your local network admin if required): TCP port 8182 (this is the port to listen to for client connections).
...
Downloading & Extracting JanusGraph
...
- Create/update janusgraph-current
symlink to specified version, default = 0.3.1
- Create a new syndeia_admin
superuser in Cassandra with a password you specify
- Create a new syndeia_cloud_graph
and syndeia_cloud_graph_config
keyspaces
- GRANT ALL PERMISSIONS ON KEYSPACE syndeia_cloud_graph TO syndeia_admin
- GRANT ALL PERMISSIONS ON KEYSPACE syndeia_cloud_graph_config TO syndeia_admin
- Run a Groovy JanusGraph setup script to set storage params for your graph and build indexes
- Create a renamed copy of the file
as /opt/janusgraph
onf/janusgraph-cql-configurationgraph.properties-<
release_ver>/c
janusgraph-cql-configurationgraph-syndeia.properties
with:
graph.graphname=syndeia_cloud_graph_config
Add storage.username=syndeia_admin
Add storage.password=
<password_specified>storage.hostname=<
your_Cassandra_host>
- If you installed Elasticsearch on the same machine, add index.search.backend=elasticsearch
and index.search.hostname=localhost
to use Elasticsearch for search indexing
- Create a renamed copy of the file /opt/janusgraph
-<
release_ver>/
conf/gremlin-server/gremlin-server-configuration.yaml
as gremlin-server-configuration-syndeia.yaml
and set ConfigurationManagementGraph
to point to janusgraph-cql-configurationgraph-syndeia.properties
.
- Install systemd .service file for JanusGraph service
- Start JanusGraph service
Note: you may be prompted for sudo
authentication,. you You will also be prompted for your cassandra
account password (default = cassandra
), to set your syndeia_admin
password and the FQDN of your Cassandra host.
Avoid any of the following special characters: \?*[]+#&.{}$
when setting your syndeia_admin
password.
...
Managing JanusGraph:
7. To check the status of Syndeia Cloud services, use systemctl status janusgraph
. You can verify that it started by verifying "Active: active (running)" shows up in the output:
...
9. To view the logs for JanusGraph, use sudo journalctl -eu janusgraph
& less /opt/janusgraph-0.3.1-hadoop2/log/gremlin-server.log
. To follow the log files, you can use sudo journalctl -feu janusgraph
& tail -f /opt/janusgraph-0.3.1-hadoop2/log/gremlin-server.log
. You should see output similar to the following (abridged) text:
Note, for your convenience you may wish to create a symlink to /opt/janusgraph-0.3.1-hadoop2/log
/
from /var/log
, ie: sudo ln -nfs
/opt/janusgraph-0.3.1-hadoop2/log
/ /var/log/janusgraph
...
17. Three things need to occur: you will need to change the Snitch (if not already done for Cassandra), alter the keyspace Replication Factor (RF), and run nodetool repair
on each node (see https://docs.datastax.com/en/archived/cassandra/3.x/cassandra/operations/opsChangeKSStrategy.html for a summary of the process).
- Change the Snitch: see "Switching Snitches": https://docs.datastax.com/en/archived/cassandra/3.x/cassandra/operations/opsChangeKSStrategy.html
Alter the RF: verify the Cassandra “datacenter” name (default =
dc1
) from the CLI by runningnodetool status
and then from Cassandra CQLSH increment the RF for your JanusGraph keyspace(s):Code Block language sql ALTER KEYSPACE syndeia_cloud_graph WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', '<datacenter_name>' : <total_number_of_nodes> }; -- where <datacenter_name> = the name of the datacenter as shown via nodetool status, and <total_number_of_nodes> = total # of nodes (in the cluster) ALTER KEYSPACE syndeia_cloud_graph_config WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', '<datacenter_name>' : <total_number_of_nodes> }; -- where <datacenter_name> = the name of the datacenter as shown via nodetool status, and <total_number_of_nodes> = total # of nodes (in the cluster)
Run
nodetool repair
: Runnodetool repair --full
<keyspace_name> on each node (for more details see https://docs.datastax.com/en/dse/5.1/cql/cql/cql_using/cqlUpdateKeyspaceRF.html)
18. Follow "Things to Consider in a Multi-Node JanusGraph Cluster" https://docs.janusgraph.org/0.3.1/things-to-consider-in-a-multi-node-janusgraph-cluster.html
...
Code Block | ||||
---|---|---|---|---|
| ||||
:remote connect tinkerpop.server conf/remote.yaml session :remote console graph = ConfiguredGraphFactory.open('syndeia_cloud_graph'); // should return: ==>standardjanusgraph[cql:[cassandra.mydomain.com]] g = graph.traversal(); g.V(); g.E(); |
The last 2 commands above should not return any results since the graph (syndeia_cloud_graph
) is empty - no vertices or edges.
19.4. Type :quit
Page break macro |
---|
...