Stage 8 - Upgrade JanusGraph (0.5.3 -> 1.0.0)

Stage 8 - Upgrade JanusGraph (0.5.3 -> 1.0.0)

Objective

Upgrade JanusGraph from 0.5.3 to 1.0.0.


Prerequisites

  1. Ensure previous stages have been completed without error.

  2. Run the following command to confirm Janusgraph service is not running.

    systemctl --type=service --state=inactive,failed | grep 'janusgraph'

    The output should be similar to as shown below:

    janusgraph.service loaded inactive dead janusgraph.service

    If not, stop the service:

    sudo systemctl stop janusgraph

Steps

Deploy JanusGraph (JG)

  1. cd to the janusgaph_setup package’s bin directory:

    cd ~/syndeia-cloud-3.6*_janusgraph_setup/bin
  2. Run the JanusGraph (JG) pre-setup script. This will download and install/upgrade JanusGraph 1.0.0 or install/upgrade a pre-downloaded JanusGraph 1.0.0:

    ./syndeia-cloud-3.6_janusgraph_pre-setup.bash
[jdoe@new-server bin]$ ./syndeia-cloud-3.6_janusgraph_pre-setup.bash + shopt -s extglob + shopt -s globstar +++ dirname ./syndeia-cloud-3.6_janusgraph_pre-setup.bash ++ cd -P . ++ pwd + SCRIPT_DIR=/home/jdoe/syndeia-cloud-3.6-SP1.2024-09-11_janusgraph_setup/bin ++ readlink -f ./syndeia-cloud-3.6_janusgraph_pre-setup.bash + SC_version_parsed=/home/jdoe/syndeia-cloud-3.6-SP1.2024-09-11_janusgraph_setup/bin/syndeia-cloud-3.6_janusgraph_pre-setup.bash + SC_version_parsed=/home/jdoe/syndeia-cloud-3.6-SP1.2024-09-11 + SC_version_parsed=3.6-SP1.2024-09-11 + SC_version=3.6-SP1.2024-09-11 + service_name=janusgraph + JG_build_ver=1.0.0 ++ uname + OS=Linux + [[ Linux =~ CYGWIN ]] + systemctl=systemctl + sudo=sudo + ln='ln -nfs' + JG_upgrade=false + [[ -e /opt/janusgraph-current ]] + [[ -e /opt/janusgraph-full-1.0.0 ]] + JG_upgrade=true + printf %s '- upgrade mode detected, reading value in from JG'\''s yaml file /opt/janusgraph-current/conf/gremlin-server/gremlin-server-configuration-syndeia.yaml file: ' - upgrade mode detected, reading value in from JG's yaml file /opt/janusgraph-current/conf/gremlin-server/gremlin-server-configuration-syndeia.yaml file: + [[ '' == \t\r\u\e ]] + jg_host=localhost + echo localhost localhost + umask 0002 + pushd . ~/syndeia-cloud-3.6-SP1.2024-09-11_janusgraph_setup/bin ~/syndeia-cloud-3.6-SP1.2024-09-11_janusgraph_setup/bin + cd /home/jdoe/ + [[ '' == \-\d ]] + [[ Linux =~ CYGWIN ]] + [[ -e /etc/systemd/system/janusgraph.service ]] ++ sudo systemctl is-active --quiet janusgraph + [[ -n '' ]] + [[ ! -e janusgraph-full-1.0.0.zip ]] + wget https://github.com/JanusGraph/janusgraph/releases/download/v1.0.0/janusgraph-full-1.0.0.zip --2024-09-16 11:58:01-- https://github.com/JanusGraph/janusgraph/releases/download/v1.0.0/janusgraph-full-1.0.0.zip Resolving github.com (github.com)... 140.82.114.4 Connecting to github.com (github.com)|140.82.114.4|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/77385607/4db62a12-dfef-4589-adba-f1ed3564af56?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20240916%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240916T155801Z&X-Amz-Expires=300&X-Amz-Signature=7db20bbc80998fef937eca8549c5a0c9e7da431cb8da3cf27813bc1cc746c535&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=77385607&response-content-disposition=attachment%3B%20filename%3Djanusgraph-full-1.0.0.zip&response-content-type=application%2Foctet-stream [following] --2024-09-16 11:58:01-- https://objects.githubusercontent.com/github-production-release-asset-2e65be/77385607/4db62a12-dfef-4589-adba-f1ed3564af56?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20240916%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240916T155801Z&X-Amz-Expires=300&X-Amz-Signature=7db20bbc80998fef937eca8549c5a0c9e7da431cb8da3cf27813bc1cc746c535&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=77385607&response-content-disposition=attachment%3B%20filename%3Djanusgraph-full-1.0.0.zip&response-content-type=application%2Foctet-stream Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.109.133, 185.199.111.133, 185.199.110.133, ... Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.109.133|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 743882909 (709M) [application/octet-stream] Saving to: ‘janusgraph-full-1.0.0.zip’ janusgraph-full-1.0.0.zip 100%[=========================================================================>] 709.42M 100MB/s in 7.1s 2024-09-16 11:58:08 (100 MB/s) - ‘janusgraph-full-1.0.0.zip’ saved [743882909/743882909] ++ which unzip ++ alias ++ eval declare -f +++ declare -f ++ /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot unzip + [[ ! -n /usr/bin/unzip ]] + sudo bash -c 'umask 0022 && unzip -q janusgraph-full-1.0.0.zip -d /opt/' + sudo useradd --system --user-group janusgraph useradd: user 'janusgraph' already exists + [[ true == \t\r\u\e ]] + sudo cp /opt/janusgraph-current/conf/janusgraph-cql-configurationgraph-syndeia.properties /opt/janusgraph-full-1.0.0/conf/. + sudo cp /opt/janusgraph-full-1.0.0/conf/gremlin-server/gremlin-server-configuration.yaml /opt/janusgraph-full-1.0.0/conf/gremlin-server/gremlin-server-configuration-syndeia.yaml + echo storage.cql.local-datacenter=datacenter1 + sudo tee -a /opt/janusgraph-full-1.0.0/conf/janusgraph-cql-configurationgraph-syndeia.properties storage.cql.local-datacenter=datacenter1 + echo graph.allow-JG_upgrade=true + sudo tee -a /opt/janusgraph-full-1.0.0/conf/janusgraph-cql-configurationgraph-syndeia.properties graph.allow-JG_upgrade=true + sudo sed -i 's/host: 0.0.0.0/host: localhost/' /opt/janusgraph-full-1.0.0/conf/gremlin-server/gremlin-server-configuration-syndeia.yaml + sudo sed -i 's/ConfigurationManagementGraph: conf\/janusgraph-cql-configurationgraph.properties/ConfigurationManagementGraph: conf\/janusgraph-cql-configurationgraph-syndeia.properties/' /opt/janusgraph-full-1.0.0/conf/gremlin-server/gremlin-server-configuration-syndeia.yaml + sudo sed -i 's/scriptEvaluationTimeout: 30000/scriptEvaluationTimeout: 60000/' /opt/janusgraph-full-1.0.0/conf/gremlin-server/gremlin-server-configuration-syndeia.yaml + sudo sed -i 's/maxContentLength: 65536/maxContentLength: 6553699/' /opt/janusgraph-full-1.0.0/conf/gremlin-server/gremlin-server-configuration-syndeia.yaml + sudo sed -i 's/resultIterationBatchSize: [[:digit:]]*/resultIterationBatchSize: 64/' /opt/janusgraph-full-1.0.0/conf/gremlin-server/gremlin-server-configuration-syndeia.yaml + sudo sed -i 's/consoleReporter: {enabled: true, interval: 180000}/consoleReporter: {enabled: false, interval: 3600000}/;' /opt/janusgraph-full-1.0.0/conf/gremlin-server/gremlin-server-configuration-syndeia.yaml + sudo chown -R janusgraph:janusgraph /opt/janusgraph-full-1.0.0 + sudo ln -nfs /opt/janusgraph-full-1.0.0 /opt/janusgraph-current + sudo cp syndeia-cloud-3.6-SP1.2024-09-11_janusgraph_setup/conf/init/systemd/janusgraph.service /etc/systemd/system/. + sudo systemctl daemon-reload + sudo systemctl enable janusgraph + [[ true == \t\r\u\e ]] + sudo systemctl start janusgraph + echo '- Starting JG, this can take a minute...' - Starting JG, this can take a minute... + printf test ./syndeia-cloud-3.6_janusgraph_pre-setup.bash: connect: Connection refused ./syndeia-cloud-3.6_janusgraph_pre-setup.bash: line 157: /dev/tcp/localhost/8182: Connection refused + sleep 5 + printf test ./syndeia-cloud-3.6_janusgraph_pre-setup.bash: connect: Connection refused ./syndeia-cloud-3.6_janusgraph_pre-setup.bash: line 157: /dev/tcp/localhost/8182: Connection refused + sleep 5 + printf test + printf '\n' + echo '- Stopping JG, this can take several minutes!...' - Stopping JG, this can take several minutes!... + sudo systemctl stop janusgraph + printf test ./syndeia-cloud-3.6_janusgraph_pre-setup.bash: connect: Connection refused ./syndeia-cloud-3.6_janusgraph_pre-setup.bash: line 163: /dev/tcp/localhost/8182: Connection refused + printf '\n' + sudo mv /opt/janusgraph-current/conf/janusgraph-cql-configurationgraph-syndeia.properties /opt/janusgraph-current/conf/janusgraph-cql-configurationgraph-syndeia.properties.pre-JG_upgrade + head -n -1 /opt/janusgraph-current/conf/janusgraph-cql-configurationgraph-syndeia.properties.pre-JG_upgrade + sudo tee /opt/janusgraph-current/conf/janusgraph-cql-configurationgraph-syndeia.properties # Copyright 2019 JanusGraph Authors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # JanusGraph configuration sample: Cassandra over a socket # # This file connects to a Cassandra daemon running on localhost via # CQL. Cassandra must already be started before starting JanusGraph # with this file. gremlin.graph=org.janusgraph.core.ConfiguredGraphFactory # The primary persistence provider used by JanusGraph. This is required. # It should be set one of JanusGraph's built-in shorthand names for its # standard storage backends (shorthands: berkeleyje, cql, cassandrathrift, # cassandra, astyanax, embeddedcassandra, hbase, inmemory) or to the full # package and classname of a custom/third-party StoreManager # implementation. # # Default: (no default value) # Data Type: String # Mutability: LOCAL storage.backend=cql # The configuration management graph reserved for use with JanusGraphManager # and ConfiguredGraphFactory graph.graphname=syndeia_cloud_graph_config # The hostname or comma-separated list of hostnames of storage backend # servers. This is only applicable to some storage backends, such as # cassandra and hbase. # # Default: 127.0.0.1 # Data Type: class java.lang.String[] # Mutability: LOCAL storage.hostname=localhost storage.username=syndeia_admin storage.password=syn45ia # Whether to enable JanusGraph's database-level cache, which is shared # across all transactions. Enabling this option speeds up traversals by # holding hot graph elements in memory, but also increases the likelihood # of reading stale data. Disabling it forces each transaction to # independently fetch graph elements from storage before reading/writing # them. # # Default: false # Data Type: Boolean # Mutability: MASKABLE cache.db-cache = true # How long, in milliseconds, database-level cache will keep entries after # flushing them. This option is only useful on distributed storage # backends that are capable of acknowledging writes without necessarily # making them immediately visible. # # Default: 50 # Data Type: Integer # Mutability: GLOBAL_OFFLINE # # Settings with mutability GLOBAL_OFFLINE are centrally managed in # JanusGraph's storage backend. After starting the database for the first # time, this file's copy of this setting is ignored. Use JanusGraph's # Management System to read or modify this value after bootstrapping. cache.db-cache-clean-wait = 20 # Default expiration time, in milliseconds, for entries in the # database-level cache. Entries are evicted when they reach this age even # if the cache has room to spare. Set to 0 to disable expiration (cache # entries live forever or until memory pressure triggers eviction when set # to 0). # # Default: 10000 # Data Type: Long # Mutability: GLOBAL_OFFLINE # # Settings with mutability GLOBAL_OFFLINE are centrally managed in # JanusGraph's storage backend. After starting the database for the first # time, this file's copy of this setting is ignored. Use JanusGraph's # Management System to read or modify this value after bootstrapping. cache.db-cache-time = 180000 # Size of JanusGraph's database level cache. Values between 0 and 1 are # interpreted as a percentage of VM heap, while larger values are # interpreted as an absolute size in bytes. # # Default: 0.3 # Data Type: Double # Mutability: MASKABLE cache.db-cache-size = 0.5 storage.cql.local-datacenter=datacenter1 + echo '- Starting JG, this can take a minute...' - Starting JG, this can take a minute... + sudo systemctl start janusgraph
  1. Run the (main) JanusGraph (JG) setup script in upgrade mode. This will configure JanusGraph to work with Syndeia Cloud while preserving the syndeia_cloud_graph and syndeia_cloud_graph_config keyspaces:

./syndeia-cloud-3.6_janusgraph_setup.bash --upgrade
[jdoe@new-server bin]$ ./syndeia-cloud-3.6_janusgraph_setup.bash PURPOSE: This script will configure JanusGraph for use with Syndeia Cloud 3.6 Specifically this will: 1. Create/update janusgraph-current symlink to specified version, default = 1.0.0 2. Create a new syndeia_admin superuser in Cassandra with a password you specify 3. Create a new syndeia_cloud_graph and syndeia_cloud_graph_config keyspaces 4. GRANT ALL PERMISSIONS ON KEYSPACE syndeia_cloud_graph TO syndeia_admin 5. GRANT ALL PERMISSIONS ON KEYSPACE syndeia_cloud_graph_config TO syndeia_admin 6. Create a renamed copy of the file /opt/janusgraph-<release_ver>/conf/janusgraph-cql-configurationgraph.properties as 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_jg_host> 6. If you installed Elasticsearch on the same machine, add index.search.backend=elasticsearch and index.search.hostname=localhost to use Elasticsearch for search indexing 7. 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. 9. Install systemd .service file for JanusGraph service 10. Start JanusGraph service 11. Run a Groovy JanusGraph setup script to set storage params for your graph and build indexes REQUIREMENTS: BASH v4.4.12(1)+ + Apache Cassandra 3.11.1+ installed and running + JanusGraph 1.0.0 installed + systemd 219+ + systemd .service files installed for Cassandra + GNU sed 4.2.2+ GENERAL USAGE: syndeia-cloud-3.6_janusgraph_setup.bash [--JG_version=|-jg_v <JG_version>] [--JG_RF=|-jg_rf <JG_RF>] [--upgrade|-u] [--multi_node|-m] [--automated|-a] ... where: [<JG_version>] = optional JanusGraph version, defaults to 1.0.0 if unspecified [<JG_RF>] = Replication Factor for JanusGraph keyspaces, ie: # of nodes to have copies of, defaults to 1 if unspecified [--upgrade|-u] = optional, default is to assume fresh install; if enabled, this will avoid re-initializing the syndeia_cloud_graph and syndeia_cloud_graph_config keyspaces [--multi_node|-m] = optional, default is to assume single-node; if enabled, this will patch systemd .service files to not assume a single-node topology deployment [--automated|-a] = optional, default is to run in (mostly) interactive mode; if enabled, this will run non-interactively and use exported environment vars instead, if any (see sc-jg_automated-settings-rc template file) (i) Note: you may be prompted for sudo authentication, you will also be prompted for you Cassandra superuser password (to create and 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. VERSIONS: 2019-06-06, BKM: v0.1: Initial 2019-12-10, BKM: v0.9: Small fixes 2019-12-10, BKM: v1.1: Update for SC 3.4 2020-01-28, BKM: v1.2: Fix for SYN-1202 (max frame length exceeded error) 2020-11-04, BKM: v1.3: Redefine cassandra_jg_host definition & prompt 2021-01-13, BKM: v1.4: Set SC_HOST in janusgraph.service as it now will wait for Cassandra DB to be up first 2021-05-27, BKM: v1.5: Configure remote.yaml also (since it is more heavily used, ex: in SC 3.4 migration + JG validation step) 2021-05-31, BKM: v1.6: Clarify options syntax in USAGE 2021-05-31, BKM: v1.7: Add --automated|-a and configure_elasticsearch options; change options processing into key-value params 2021-06-02, BKM: v1.8: SC 3.4 RC: final polishing 2022-02-07, BKM: v1.9: SC 3.5 M1: Update default JG version to 0.5.3 2022-04-18, BKM: v2.0: SC 3.5 M2+: Add upgrade logic to support upgrading from 3.4.X to 3.5 (since JG "must" be ugpraded due to security requirements) 2022-04-18, BKM: v2.1: SC 3.5 M2+: Add --multi-node|-m mode 2022-04-18, BKM: v2.2: SC 3.5 M2+: Make JG service start on boot 2022-04-28, BKM: v2.3: SC 3.5 M2+: SYN-2444: add timestamps to log output 2022-08-25, BKM: v2.4: SC 3.5: SYN-2856: poll role creation to resolve occasional race condition with syndeia_admin creation 2022-09-21, BKM: v2.5: SC 3.5: update default JG_HOME location 2023-03-10, BKM: v2.6: SC 3.6: update all version refs to 3.6 2024-01-31, BKM: v2.8: SC 3.6: SYN-4357: Update to support JG 1.0.0 [press any key to continue or hit ^C to cancel] - Enter the current password for the cassandra admin (note, avoid any of the following special characters \?*[]+#&.{}$'" ): cassandra - Enter a password to set for the syndeia_admin user (note, avoid any of the following special characters \?*[]+#&.{}$'" ): syn45ia - Enter Cassandra host / FQDN, ie: localhost, cassandra.mydomain.com: localhost - Enter JG host / FQDN, ie: localhost, 0.0.0.0, jg.mydomain.com: localhost - Enter Janusgraph installed path for v1.0.0, ie: /opt/janusgraph-full-1.0.0: /opt/janusgraph-full-1.0.0 Tue Sep 3 19:22:10 EDT 2024 [info] ./syndeia-cloud-3.6_janusgraph_setup.bash, PID=16359: - Symlinking /opt/janusgraph-full-1.0.0 as /opt/janusgraph-current... Tue Sep 3 19:22:10 EDT 2024 [info] ./syndeia-cloud-3.6_janusgraph_setup.bash, PID=16359: - Updating template schema and user generation .CQL with user provided values... Tue Sep 3 19:22:10 EDT 2024 [info] ./syndeia-cloud-3.6_janusgraph_setup.bash, PID=16359: - Now creating syndeia_admin user + syndeia_cloud_graph + syndeia_cloud_graph_config keyspaces... Warning: Using a password on the command line interface can be insecure. Recommendation: use the credentials file to securely provide the password. Warning: Using a password on the command line interface can be insecure. Recommendation: use the credentials file to securely provide the password. - Query with filter met Tue Sep 3 19:22:11 EDT 2024 [info] ./syndeia-cloud-3.6_janusgraph_setup.bash, PID=16359: - Successfully ran verification of syndeia_admin user creation Tue Sep 3 19:22:11 EDT 2024 [info] ./syndeia-cloud-3.6_janusgraph_setup.bash, PID=16359: - Successfully created user Warning: Using a password on the command line interface can be insecure. Recommendation: use the credentials file to securely provide the password. Warnings : Role 'syndeia_admin' was already granted CREATE, ALTER, DROP, SELECT, MODIFY, AUTHORIZE on <keyspace syndeia_cloud_graph> Warnings : Role 'syndeia_admin' was already granted CREATE, ALTER, DROP, SELECT, MODIFY, AUTHORIZE on <keyspace syndeia_cloud_graph_config> Tue Sep 3 19:22:12 EDT 2024 [info] ./syndeia-cloud-3.6_janusgraph_setup.bash, PID=16359: - Successfully created keyspaces - Do you have Elasticsearch installed on the same machine? [Y/N]: 1) Y 2) N #? n Tue Sep 3 19:22:16 EDT 2024 [info] ./syndeia-cloud-3.6_janusgraph_setup.bash, PID=16359: - Install and configure Syndeia Cloud Janusgraph [upgrade] .groovy init script... Tue Sep 3 19:22:16 EDT 2024 [info] ./syndeia-cloud-3.6_janusgraph_setup.bash, PID=16359: - Create and configure Syndeia Cloud JanusGraph configurationgraph .properties file... Tue Sep 3 19:22:16 EDT 2024 [info] ./syndeia-cloud-3.6_janusgraph_setup.bash, PID=16359: - Create and configure Syndeia Cloud JanusGraph Gremlin server .yaml files... Tue Sep 3 19:22:16 EDT 2024 [info] ./syndeia-cloud-3.6_janusgraph_setup.bash, PID=16359: - Install janusgraph.service file... Tue Sep 3 19:22:16 EDT 2024 [info] ./syndeia-cloud-3.6_janusgraph_setup.bash, PID=16359: - Stopping janusgraph.service (this may take a while)... Tue Sep 3 19:22:16 EDT 2024 [info] ./syndeia-cloud-3.6_janusgraph_setup.bash, PID=16359: - Starting janusgraph.service... Tue Sep 3 19:22:16 EDT 2024 [info] ./syndeia-cloud-3.6_janusgraph_setup.bash, PID=16359: - Waiting until janusgraph port is up... Tue Sep 3 19:22:17 EDT 2024 [info] ./syndeia-cloud-3.6_janusgraph_setup.bash, PID=16359: - Waiting until janusgraph port is up... Tue Sep 3 19:22:18 EDT 2024 [info] ./syndeia-cloud-3.6_janusgraph_setup.bash, PID=16359: - Waiting until janusgraph port is up... Tue Sep 3 19:22:19 EDT 2024 [info] ./syndeia-cloud-3.6_janusgraph_setup.bash, PID=16359: - Waiting until janusgraph port is up... Tue Sep 3 19:22:20 EDT 2024 [info] ./syndeia-cloud-3.6_janusgraph_setup.bash, PID=16359: - Waiting until janusgraph port is up... Tue Sep 3 19:22:21 EDT 2024 [info] ./syndeia-cloud-3.6_janusgraph_setup.bash, PID=16359: - Waiting until janusgraph port is up... Tue Sep 3 19:22:22 EDT 2024 [info] ./syndeia-cloud-3.6_janusgraph_setup.bash, PID=16359: - Waiting until janusgraph port is up... Tue Sep 3 19:22:23 EDT 2024 [info] ./syndeia-cloud-3.6_janusgraph_setup.bash, PID=16359: - Waiting until janusgraph port is up... Tue Sep 3 19:22:24 EDT 2024 [info] ./syndeia-cloud-3.6_janusgraph_setup.bash, PID=16359: - Waiting until janusgraph port is up... Tue Sep 3 19:22:25 EDT 2024 [info] ./syndeia-cloud-3.6_janusgraph_setup.bash, PID=16359: - Waiting until janusgraph port is up... Tue Sep 3 19:22:26 EDT 2024 [info] ./syndeia-cloud-3.6_janusgraph_setup.bash, PID=16359: - Waiting until janusgraph port is up... Tue Sep 3 19:22:27 EDT 2024 [info] ./syndeia-cloud-3.6_janusgraph_setup.bash, PID=16359: - Waiting until janusgraph port is up... Tue Sep 3 19:22:28 EDT 2024 [info] ./syndeia-cloud-3.6_janusgraph_setup.bash, PID=16359: - Waiting until janusgraph port is up... Tue Sep 3 19:22:29 EDT 2024 [info] ./syndeia-cloud-3.6_janusgraph_setup.bash, PID=16359: - Waiting until janusgraph port is up... Tue Sep 3 19:22:30 EDT 2024 [info] ./syndeia-cloud-3.6_janusgraph_setup.bash, PID=16359: - Waiting until janusgraph port is up... Tue Sep 3 19:22:31 EDT 2024 [info] ./syndeia-cloud-3.6_janusgraph_setup.bash, PID=16359: - Waiting until janusgraph port is up... Tue Sep 3 19:22:32 EDT 2024 [info] ./syndeia-cloud-3.6_janusgraph_setup.bash, PID=16359: - Waiting until janusgraph port is up... Tue Sep 3 19:22:33 EDT 2024 [info] ./syndeia-cloud-3.6_janusgraph_setup.bash, PID=16359: - Waiting until janusgraph port is up... Tue Sep 3 19:22:34 EDT 2024 [info] ./syndeia-cloud-3.6_janusgraph_setup.bash, PID=16359: - Waiting until janusgraph port is up... - Enable janusgraph.service to start on boot... Tue Sep 3 19:22:35 EDT 2024 [info] ./syndeia-cloud-3.6_janusgraph_setup.bash, PID=16359: - Run Syndeia Cloud Janusgraph .groovy init script (ignore warning about not being able to load native-hadoop lib)... Sep 03, 2024 7:22:36 PM java.util.prefs.FileSystemPreferences$1 run INFO: Created user preferences directory. SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/opt/janusgraph-full-1.0.0/lib/log4j-slf4j-impl-2.20.0.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/opt/janusgraph-full-1.0.0/lib/logback-classic-1.2.11.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory] 19:22:39 INFO org.apache.tinkerpop.gremlin.hadoop.jsr223.HadoopGremlinPlugin.getCustomizers - HADOOP_GREMLIN_LIBS is set to: /opt/janusgraph-full-1.0.0/lib 19:22:39 WARN org.apache.hadoop.util.NativeCodeLoader.<clinit> - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable Sep 03, 2024 7:22:48 PM org.yaml.snakeyaml.internal.Logger warn WARNING: Failed to find field for org.apache.tinkerpop.gremlin.driver.Settings.serializers 19:22:48 INFO org.apache.tinkerpop.gremlin.driver.Connection.<init> - Created new connection for ws://localhost:8182/gremlin 19:22:48 INFO org.apache.tinkerpop.gremlin.driver.ConnectionPool.<init> - Opening connection pool on Host{address=localhost/127.0.0.1:8182, hostUri=ws://localhost:8182/gremlin} with core size of 1 19:22:54 INFO org.apache.tinkerpop.gremlin.driver.ConnectionPool.closeAsync - Signalled closing of connection pool on Host{address=localhost/127.0.0.1:8182, hostUri=ws://localhost:8182/gremlin} with core size of 1 19:22:54 INFO org.apache.tinkerpop.gremlin.driver.Cluster.lambda$closeAsync$0 - Closed Cluster for hosts [localhost/127.0.0.1:8182] Tue Sep 3 19:22:55 EDT 2024 [info] ./syndeia-cloud-3.6_janusgraph_setup.bash, PID=16359: Tue Sep 3 19:22:55 EDT 2024 [info] ./syndeia-cloud-3.6_janusgraph_setup.bash, PID=16359: - Done! ~/syndeia-cloud-3.6-SP1.2024-09-11_janusgraph_setup/bin

Note, the current password for the Cassandra admin when installed via the pre-setup script is the Cassandra project’s documented default, ie: cassandra, we recommend changing this via CQLSH once SC deployment has been successfully completed (see Appendix B2.11 for instructions on how to do this), especially if the Cassandra node will (eventually) be exposed in a multi-node topology.


Verification

  1. Check the status of the Janusgraph server. To check the status of the JanusGraph service, use the following command.

    sudo systemctl status janusgraph

    You can verify that it started if, Active: active (running) shows up in the output.

  2. Verify JG client can communicate with the server by running the Gremlin client, ie:

    /opt/janusgraph-current/bin/gremlin.sh

    Then execute the following commands after it starts up:

    :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 return results since the graph (syndeia_cloud_graph) DB is presumably not empty, ie: vertices and edges are present.

    To quit type:

    :quit