Stage 5 - Upgrade Java (1.8.0 -> 11.0.23) & Cassandra (3.11.X -> 4.1.0)

Stage 5 - Upgrade Java (1.8.0 -> 11.0.23) & Cassandra (3.11.X -> 4.1.0)

Objective

  1. Update Java from the current version 1.8.0_YYY → 11.0.23

  2. Update Apache Cassandra from the current version 3.11.X to version 4.1.0.


Prerequisites

  1. syndeia-cloud-3.6-SP2*_cassandra_zookeeper_kafka_setup.zip package is available.

  2. The existing Cassandra service was installed using the yum package manager (this is typical if the previous version was installed using our standard installation process and scripts).

  3. Cassandra and Janusgraph services are not running. This should have been done in this step and verified in the section following that step.

  4. Python version 3.6 or above is installed.


Steps

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

    cd ~/syndeia-cloud-3.6-SP2*_cassandra_zookeeper_kafka_setup/bin
  2. Run the Apache Cassandra pre-setup script:

    ./syndeia-cloud-3.6_cassandra_pre-setup.bash

    This script will perform the following actions:

    • Download Cassandra 4.1 if not already download (e.g. for offline installation)

    • Update Java

    • Upgrade Cassandra 3.11 → 4.1

    • Update the configuration files

    • Start the Cassandra service

  3. Casssandra 4.1 and upgrade from 3.11.x to 4.1, or just upgrade the already downloaded Cassandra 4.1. Depending on what version you are upgrading from, you should see output similar to the expandable section below:

./syndeia-cloud-3.6_cassandra_pre-setup.bash + shopt -s extglob + shopt -s globstar ++ readlink -f ./syndeia-cloud-3.6_cassandra_pre-setup.bash + SC_version_parsed=/home/jdoe/syndeia-cloud-3.6-SP2_cassandra_zookeeper_kafka_setup/bin/syndeia-cloud-3.6_cassandra_pre-setup.bash + SC_version_parsed=/home/jdoe/syndeia-cloud-3.6-SP2 + SC_version_parsed=3.6-SP2 + SC_version=3.6-SP2 + service_name=cassandra + Cassandra_build_ver=4.1.0 ++ uname + OS=Linux + [[ Linux =~ CYGWIN ]] + systemctl=systemctl + sudo=sudo + cassandra_yaml=/etc/cassandra/default.conf/cassandra.yaml + cassandra_jar_path=/usr/share/cassandra + [[ -d /usr/share/cassandra ]] ++ ls -1 /usr/share/cassandra/apache-cassandra-3.11.13.jar + cassandra_ver_current=/usr/share/cassandra/apache-cassandra-3.11.13.jar + cassandra_ver_current=/usr/share/cassandra/apache-cassandra-3.11.13 + cassandra_ver_current=3.11.13 + [[ ! 3.11.13 == 4.1.0 ]] + C_upgrade=true ++ egrep -Iwi '^cluster_name' /etc/cassandra/default.conf/cassandra.yaml ++ sed 's/cluster_name: //;s/'\''//g;' + cluster_name='SC35SP2TO36SP1 Cluster' ++ egrep -Iwi '^num_tokens' /etc/cassandra/default.conf/cassandra.yaml ++ sed 's/num_tokens: //;' + num_tokens=256 + listen_address=localhost + rpc_address=localhost + write_request_timeout_in_ms=20000 + batch_size_fail_threshold_in_kb=300 + umask 0002 + pushd . ~/syndeia-cloud-3.6-SP2_cassandra_zookeeper_kafka_setup/bin ~/syndeia-cloud-3.6-SP2_cassandra_zookeeper_kafka_setup/bin + cd /home/jdoe/ + [[ '' == \-\d ]] + [[ Linux =~ CYGWIN ]] + [[ -e /etc/systemd/system/cassandra.service ]] ++ sudo systemctl is-active --quiet cassandra + [[ -n '' ]] ++ which wget ++ alias ++ eval declare -f +++ declare -f ++ /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot wget + [[ ! -n /usr/bin/wget ]] ++ which python ++ alias ++ eval declare -f +++ declare -f ++ /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot python /usr/bin/which: no python in (/home/jdoe/.local/bin:/home/jdoe/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin) + [[ ! -n '' ]] + sudo yum install -y python2 Last metadata expiration check: 1:57:05 ago on Mon 16 Sep 2024 09:45:45 AM EDT. Package python2-2.7.18-17.module_el8.10.0+3783+2756348e.alma.x86_64 is already installed. Dependencies resolved. Nothing to do. Complete! + sudo yum install -y yum-plugin-versionlock Last metadata expiration check: 1:57:07 ago on Mon 16 Sep 2024 09:45:45 AM EDT. Package python3-dnf-plugin-versionlock-4.0.21-25.el8.noarch is already installed. Dependencies resolved. Nothing to do. Complete! + sudo yum install -y java-11-openjdk-headless-11.0.23.0.9-3.el8 Last metadata expiration check: 1:57:08 ago on Mon 16 Sep 2024 09:45:45 AM EDT. Dependencies resolved. ======================================================================================================================================================== Package Architecture Version Repository Size ======================================================================================================================================================== Installing: java-11-openjdk-headless x86_64 1:11.0.23.0.9-3.el8 appstream 42 M Transaction Summary ======================================================================================================================================================== Install 1 Package Total download size: 42 M Installed size: 178 M Downloading Packages: java-11-openjdk-headless-11.0.23.0.9-3.el8.x86_64.rpm 16 MB/s | 42 MB 00:02 -------------------------------------------------------------------------------------------------------------------------------------------------------- Total 16 MB/s | 42 MB 00:02 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Running scriptlet: java-11-openjdk-headless-1:11.0.23.0.9-3.el8.x86_64 1/1 Preparing : 1/1 Installing : java-11-openjdk-headless-1:11.0.23.0.9-3.el8.x86_64 1/1 Running scriptlet: java-11-openjdk-headless-1:11.0.23.0.9-3.el8.x86_64 1/1 Verifying : java-11-openjdk-headless-1:11.0.23.0.9-3.el8.x86_64 1/1 Installed: java-11-openjdk-headless-1:11.0.23.0.9-3.el8.x86_64 Complete! ++ sudo alternatives --list ++ awk '/java-11-openjdk/{ print $3; exit }' + JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.23.0.9-3.el8.x86_64 + sudo alternatives --set java /usr/lib/jvm/java-11-openjdk-11.0.23.0.9-3.el8.x86_64/bin/java + sudo yum versionlock java-11-openjdk-headless Last metadata expiration check: 1:57:19 ago on Mon 16 Sep 2024 09:45:45 AM EDT. Adding versionlock on: java-11-openjdk-headless-1:11.0.23.0.9-3.el8.* + [[ ! -e cassandra-4.1.0-1.noarch.rpm ]] + wget https://apache.jfrog.io/artifactory/cassandra-rpm/41x/cassandra-4.1.0-1.noarch.rpm --2024-09-16 11:43:05-- https://apache.jfrog.io/artifactory/cassandra-rpm/41x/cassandra-4.1.0-1.noarch.rpm Resolving apache.jfrog.io (apache.jfrog.io)... 54.185.186.5, 44.226.59.123, 100.21.156.46 Connecting to apache.jfrog.io (apache.jfrog.io)|54.185.186.5|:443... connected. HTTP request sent, awaiting response... 302 Location: https://jfrog-prod-usw2-shared-oregon-main.s3.amazonaws.com/aol-apache/filestore/c1/c1d1d16277c04361547cdfa6123b3edd7c5aab83?X-Artifactory-username=anonymous&X-Artifactory-repoType=local&X-Artifactory-repositoryKey=cassandra-rpm&X-Artifactory-originPackageType=yum&X-Artifactory-packageType=yum&X-Artifactory-artifactPath=41x%2Fcassandra-4.1.0-1.noarch.rpm&X-Artifactory-originProjectKey=cassan&X-Artifactory-projectKey=cassan&X-Artifactory-originRepoType=local&X-Artifactory-originRepositoryKey=cassandra-rpm&x-jf-traceId=ae53672e8ee87d1d&response-content-disposition=attachment%3Bfilename%3D%22cassandra-4.1.0-1.noarch.rpm%22&response-content-type=application%2Fx-rpm&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEN%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLXdlc3QtMiJIMEYCIQC6DjEe%2Fw49YcU%2F9YJe6ZnyEmF0xHm9UBA0Z9pqRh9S%2FwIhALmZjh2yzqq8apsTQAv9mHngWesA3M7wm1TqCaMOwbedKoIFCBgQAhoMOTk5OTM0NzkwNDE0Igw%2BqQATIuO5eUYS2rwq3wSrUTYSVgSmib2bM3ttqIWb8v%2FUZnuU8iOo7ZuJlttYaFKuWlDLp5D3ANTOHfsdVHL2g%2FU4cC7sCK%2FbEhcK0rjIoldE5NQjMpghzvkdRk3q1gcLJoDONNNZ9D2ggg%2FE0qL8DHihEQeFkf%2FaNhs9wU6zkAqRHsTpq5rV1pFpOF3aQQXolRp6hhOySIzBqY0eb0%2Bl9F%2BE47rxC3bbtJjfRRztM4AeVaVSPh5a%2FSCWXkZRdj9VFlUu6%2F89uO9C6APKcJc8OjRSYAkJ8VCqtbM15ZZqn%2FvdhohMEAjgNmLBi82psGpMJCtcLealFLADbo9THCWS4bA%2F%2BRA0IYhO%2BTO6waHjwUQ94c3F%2FJ2FgLU745%2FzA4KWiCREQQt5uhfvglwDvQs3C8QMslAmcUaiMRBkP5F2P11%2FxoKY5mMZVRfvsEmW9UY%2F0eTjcV8kyWXD91wJkTUxXyqYhkg23Y21YN6zdM1jrHsgOGGW%2BR53LRhRWNkyoR5QBMTGcdWzPllERC7pVNVKL2j%2Fg%2FFdpjkGlVIGnVrx1ixEdOJAwepV2RLK0e0Dvnw06Db%2BS9n32ILYx4wv3iTlIrYrwg12MzjH%2B5RlvHTeHDp7X%2Bg2j1VUxGUlUu1dLDXMaLANVCBApZIaTpgSd6lsfbJ2a1gFexx7suXrpKFN3Lgb0xzr6guPUd41W6nWa0jaEMO%2BUX1Mwff76Atwa54c%2BE%2FluDjXv42yCkCPuDXwlt%2FXGby9SQzAoiAX5nrAwKPCdwya50%2FD3smBkjQBqaPioMzG%2FoLu7%2FNJgHCqzMtatQ9dBikE20BwpCgvPbTZMKKQobcGOpkB4Po52wZ25VaeBP95c4etBgT4UmS9l1nYCiUt%2F0gqpQwlsUMMdcNEAIgF22PC1pjXVFK4UxVCkXjRX7FI5P4G0uFGd16JsqBgHlSAoURafimDaOrHTYT%2FBWHuBvXQEFHy36ueq3IEslQ%2F88zNDzbquH7xjy7kJGGfDkKuqAk2f3%2FZk0PifKxxq1cmXgMgQDaFTm%2BqmqC10EK0&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20240916T154305Z&X-Amz-SignedHeaders=host&X-Amz-Expires=600&X-Amz-Credential=ASIA6RUGCBMHOPFV7DHC%2F20240916%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Signature=e593d0c7bb16c610b0aef3c4643667872225a64531c95dae4d74b141585620fe [following] --2024-09-16 11:43:05-- https://jfrog-prod-usw2-shared-oregon-main.s3.amazonaws.com/aol-apache/filestore/c1/c1d1d16277c04361547cdfa6123b3edd7c5aab83?X-Artifactory-username=anonymous&X-Artifactory-repoType=local&X-Artifactory-repositoryKey=cassandra-rpm&X-Artifactory-originPackageType=yum&X-Artifactory-packageType=yum&X-Artifactory-artifactPath=41x%2Fcassandra-4.1.0-1.noarch.rpm&X-Artifactory-originProjectKey=cassan&X-Artifactory-projectKey=cassan&X-Artifactory-originRepoType=local&X-Artifactory-originRepositoryKey=cassandra-rpm&x-jf-traceId=ae53672e8ee87d1d&response-content-disposition=attachment%3Bfilename%3D%22cassandra-4.1.0-1.noarch.rpm%22&response-content-type=application%2Fx-rpm&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEN%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLXdlc3QtMiJIMEYCIQC6DjEe%2Fw49YcU%2F9YJe6ZnyEmF0xHm9UBA0Z9pqRh9S%2FwIhALmZjh2yzqq8apsTQAv9mHngWesA3M7wm1TqCaMOwbedKoIFCBgQAhoMOTk5OTM0NzkwNDE0Igw%2BqQATIuO5eUYS2rwq3wSrUTYSVgSmib2bM3ttqIWb8v%2FUZnuU8iOo7ZuJlttYaFKuWlDLp5D3ANTOHfsdVHL2g%2FU4cC7sCK%2FbEhcK0rjIoldE5NQjMpghzvkdRk3q1gcLJoDONNNZ9D2ggg%2FE0qL8DHihEQeFkf%2FaNhs9wU6zkAqRHsTpq5rV1pFpOF3aQQXolRp6hhOySIzBqY0eb0%2Bl9F%2BE47rxC3bbtJjfRRztM4AeVaVSPh5a%2FSCWXkZRdj9VFlUu6%2F89uO9C6APKcJc8OjRSYAkJ8VCqtbM15ZZqn%2FvdhohMEAjgNmLBi82psGpMJCtcLealFLADbo9THCWS4bA%2F%2BRA0IYhO%2BTO6waHjwUQ94c3F%2FJ2FgLU745%2FzA4KWiCREQQt5uhfvglwDvQs3C8QMslAmcUaiMRBkP5F2P11%2FxoKY5mMZVRfvsEmW9UY%2F0eTjcV8kyWXD91wJkTUxXyqYhkg23Y21YN6zdM1jrHsgOGGW%2BR53LRhRWNkyoR5QBMTGcdWzPllERC7pVNVKL2j%2Fg%2FFdpjkGlVIGnVrx1ixEdOJAwepV2RLK0e0Dvnw06Db%2BS9n32ILYx4wv3iTlIrYrwg12MzjH%2B5RlvHTeHDp7X%2Bg2j1VUxGUlUu1dLDXMaLANVCBApZIaTpgSd6lsfbJ2a1gFexx7suXrpKFN3Lgb0xzr6guPUd41W6nWa0jaEMO%2BUX1Mwff76Atwa54c%2BE%2FluDjXv42yCkCPuDXwlt%2FXGby9SQzAoiAX5nrAwKPCdwya50%2FD3smBkjQBqaPioMzG%2FoLu7%2FNJgHCqzMtatQ9dBikE20BwpCgvPbTZMKKQobcGOpkB4Po52wZ25VaeBP95c4etBgT4UmS9l1nYCiUt%2F0gqpQwlsUMMdcNEAIgF22PC1pjXVFK4UxVCkXjRX7FI5P4G0uFGd16JsqBgHlSAoURafimDaOrHTYT%2FBWHuBvXQEFHy36ueq3IEslQ%2F88zNDzbquH7xjy7kJGGfDkKuqAk2f3%2FZk0PifKxxq1cmXgMgQDaFTm%2BqmqC10EK0&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20240916T154305Z&X-Amz-SignedHeaders=host&X-Amz-Expires=600&X-Amz-Credential=ASIA6RUGCBMHOPFV7DHC%2F20240916%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Signature=e593d0c7bb16c610b0aef3c4643667872225a64531c95dae4d74b141585620fe Resolving jfrog-prod-usw2-shared-oregon-main.s3.amazonaws.com (jfrog-prod-usw2-shared-oregon-main.s3.amazonaws.com)... 52.92.211.225, 52.92.165.65, 52.92.193.113, ... Connecting to jfrog-prod-usw2-shared-oregon-main.s3.amazonaws.com (jfrog-prod-usw2-shared-oregon-main.s3.amazonaws.com)|52.92.211.225|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 50792764 (48M) [application/x-rpm] Saving to: ‘cassandra-4.1.0-1.noarch.rpm’ cassandra-4.1.0-1.noarch.rpm 100%[=========================================================================>] 48.44M 7.56MB/s in 16s 2024-09-16 11:43:22 (3.10 MB/s) - ‘cassandra-4.1.0-1.noarch.rpm’ saved [50792764/50792764] + sudo yum install -y cassandra-4.1.0-1.noarch.rpm Last metadata expiration check: 1:57:37 ago on Mon 16 Sep 2024 09:45:45 AM EDT. Dependencies resolved. ======================================================================================================================================================== Package Architecture Version Repository Size ======================================================================================================================================================== Upgrading: cassandra noarch 4.1.0-1 @commandline 48 M Transaction Summary ======================================================================================================================================================== Upgrade 1 Package Total size: 48 M Downloading Packages: Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Running scriptlet: cassandra-4.1.0-1.noarch 1/2 Upgrading : cassandra-4.1.0-1.noarch 1/2 warning: /etc/cassandra/default.conf/cassandra.yaml created as /etc/cassandra/default.conf/cassandra.yaml.rpmnew Running scriptlet: cassandra-4.1.0-1.noarch 1/2 Running scriptlet: cassandra-3.11.13-1.noarch 2/2 Cleanup : cassandra-3.11.13-1.noarch 2/2 Running scriptlet: cassandra-3.11.13-1.noarch 2/2 Verifying : cassandra-4.1.0-1.noarch 1/2 Verifying : cassandra-3.11.13-1.noarch 2/2 Upgraded: cassandra-4.1.0-1.noarch Complete! + [[ true == \t\r\u\e ]] + sudo mv /etc/cassandra/default.conf/cassandra.yaml /etc/cassandra/default.conf/cassandra.yaml.bak + sudo cp /etc/cassandra/default.conf/cassandra.yaml.rpmnew /etc/cassandra/default.conf/cassandra.yaml + sudo sed -i 's/cluster_name: '\''Test Cluster'\''/cluster_name: '\''SC35SP2TO36SP1 Cluster'\''/;s/num_tokens: 16/num_tokens: 256/;s/authenticator: AllowAllAuthenticator/authenticator: PasswordAuthenticator/;s/authorizer: AllowAllAuthorizer/authorizer: CassandraAuthorizer/;s/write_request_timeout_in_ms: 2000/write_request_timeout_in_ms: 20000/;s/batch_size_fail_threshold_in_kb: 50/batch_size_fail_threshold_in_kb: 300/;s/sasi_indexes_enabled: false/sasi_indexes_enabled: true/' /etc/cassandra/default.conf/cassandra.yaml + [[ Linux =~ CYGWIN ]] + sudo cp syndeia-cloud-3.6-SP2_cassandra_zookeeper_kafka_setup/conf/tmpfiles.d/cassandra.conf /etc/tmpfiles.d/. + sudo systemd-tmpfiles --create --boot /etc/tmpfiles.d/cassandra.conf + sudo cp syndeia-cloud-3.6-SP2_cassandra_zookeeper_kafka_setup/conf/init/systemd/cassandra.service /etc/systemd/system/. + sudo systemctl daemon-reload + sudo systemctl enable cassandra Synchronizing state of cassandra.service with SysV service script with /usr/lib/systemd/systemd-sysv-install. Executing: /usr/lib/systemd/systemd-sysv-install enable cassandra + sudo systemctl start cassandra

Verification

  1. Verify Cassandra is up and functioning by running:

    sudo systemctl status cassandra

    You should see “active” in green and no errors.

    [jdoe@new-server bin]$ sudo systemctl status cassandra ● cassandra.service - Cassandra NoSQL database Loaded: loaded (/etc/systemd/system/cassandra.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2024-09-16 11:43:28 EDT; 2min 26s ago Docs: https://cassandra.apache.org/ Main PID: 12417 (java) Tasks: 54 (limit: 102192) Memory: 4.3G CGroup: /system.slice/cassandra.service └─12417 /usr/bin/java -ea -da:net.openhft... -XX:+UseThreadPriorities -XX:+HeapDumpOnOutOfMemoryError -Xss256k -XX:+AlwaysPreTouch -XX:-UseB> Sep 16 11:43:38 new-server.domain.tld cassandra[12417]: INFO [main] 2024-09-16 11:43:38,439 SecondaryIndexManager.java:815 -> Sep 16 11:43:38 new-server.domain.tld cassandra[12417]: INFO [main] 2024-09-16 11:43:38,439 SecondaryIndexManager.java:815 -> Sep 16 11:43:38 new-server.domain.tld cassandra[12417]: INFO [main] 2024-09-16 11:43:38,439 SecondaryIndexManager.java:815 -> Sep 16 11:43:38 new-server.domain.tld cassandra[12417]: INFO [main] 2024-09-16 11:43:38,440 SecondaryIndexManager.java:815 -> Sep 16 11:43:38 new-server.domain.tld cassandra[12417]: INFO [main] 2024-09-16 11:43:38,446 StorageService.java:2971 - Node > Sep 16 11:43:38 new-server.domain.tld cassandra[12417]: INFO [main] 2024-09-16 11:43:38,454 StorageService.java:2971 - Node > Sep 16 11:43:38 new-server.domain.tld cassandra[12417]: INFO [main] 2024-09-16 11:43:38,467 AuthCache.java:340 - (Re)initial> Sep 16 11:43:38 new-server.domain.tld cassandra[12417]: INFO [main] 2024-09-16 11:43:38,470 AuthCache.java:340 - (Re)initial> Sep 16 11:43:38 new-server.domain.tld cassandra[12417]: INFO [main] 2024-09-16 11:43:38,474 AuthCache.java:340 - (Re)initial> Sep 16 11:43:38 new-server.domain.tld cassandra[12417]: INFO [main] 2024-09-16 11:43:38,486 CassandraDaemon.java:492 - Prewa>
  2. Run the following command to check the Cassandra version.

    nodetool version

    You should see an output similar to the following.

    ReleaseVersion: 4.1.0
  3. Verify Cassandra is up and accepting connections by running nodetool status:
    If you are on Linux:

    nodetool status

    You should get output similar to the following:

    Datacenter: dc1 ======================= Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns (effective) Host ID Rack UN 192.168.1.3 644.57 KiB 256 100.0% 141c21db-4f79-476b-b818-ee6d2da16d7d rack1
  4. Confirm sasi_indexes_enabled: true in /etc/cassandra/default.conf/cassandra.yaml. You can check by running:

    sudo grep sasi_indexes_enabled /etc/cassandra/default.conf/cassandra.yaml

    You should see:

    sasi_indexes_enabled: true

    If sasi_indexes_enabled was set to false, change it true, e.g. sasi_indexes_enabled: true. Save the cassandra.yaml file, and then restart the Cassandra service using the following command.:

    sudo systemctl restart cassandra