The following steps are required only for SAS Visual Investigator 10.8 releases. If your deployment contains SAS Visual Investigator Hot Fix 1 to Hot Fix 5, you do not need to perform step #4 since the deployment ships with the updated elasticsearch-env file.
For SAS® Visual Investigator 10.8 releases Hot Fix 6 or later, refer to SAS Note 70557, "Updating the Java Development Kit (JDK) instructions for OpenSearch with SAS® Visual Investigator 10.8."
To update the JDK, complete the following steps:
1. For SAS Visual Investigator 10.8 only, Java 11 is a prerequisite to support Elasticsearch 7. That Elasticsearch distribution is not used by other SAS® Viya® 3.5 products. The Java 11 requirement applies only to Elasticsearch and not to SAS Visual Investigator.
To ensure that the Java version is supported by Elasticsearch, see the following link: https://www.elastic.co/support/matrix#matrix_jvm
2. Note the path to JDK 11 installation. You can verify the JDK 11 path by running a command similar to the following:
sudo update-alternatives --config java
Note: You should perform steps #3, #4, and #5 on all the nodes in the Elasticsearch cluster.
3. Set the ES_JAVA_HOME variable to the installation directory of Java 11.
- Do the following for a new deployment:
- Create a file called sas-viya-svi-elasticsearch-default.service.conf within the /etc/systemd/system/sas-viya-svi-elasticsearch-default.service.d directory.
- Populate the file with the following:
[Service]
Environment="ES_JAVA_HOME=<Path to JDK 11 installation>"
- Run this command to apply the changes:
$ systemctl daemon-reload
- Do the following for an existing deployment:
- Back up and edit the /opt/sas/viya/config/etc/sysconfig/sas-svi-elasticsearch/default/sas-svi-elasticsearch file.
- Then, add the following line:
export ES_JAVA_HOME=’<Path to JDK 11 installation>’
Here is an example:
export ES_JAVA_HOME='/usr/lib/jvm/java-11-openjdk-11.0.13.0.8-1.el7_9.x86_64'
4. Note: You do not need to perform this step for SAS Visual Investigator 10.8 Hot Fix 1 and later.
Edit the elasticsearch-env file in the /opt/sas/viya/home/libexec/elasticsearch-secure/bin directory.
Then, add the following lines in the elasticsearch-env file, under the # now set the path to java section:
if [ ! -z "$ES_JAVA_HOME" ]; then
JAVA="$ES_JAVA_HOME/bin/java"
JAVA_TYPE="ES_JAVA_HOME"
elif [ ! -z "$JAVA_HOME" ]; then
# fallback to JAVA_HOME
JAVA="$JAVA_HOME/bin/java"
JAVA_TYPE="JAVA_HOME"
else
if [ "$(uname -s)" = "Darwin" ]; then
# macOS has a different structure
JAVA="$ES_HOME/jdk.app/Contents/Home/bin/java"
else
JAVA="$ES_HOME/jdk/bin/java"
fi
JAVA_TYPE="bundled jdk"
fi
5. Restart the Elasticsearch service on all the nodes in the cluster, if applicable.
6. Check the /opt/sas/viya/config/var/log/svi-elasticsearch/sas-elasticsearch.log file for any errors. You can also verify whether the JDK 11 path is used by reviewing the sas-elasticsearch.log file, as shown in the example below:
[2021-12-14T11:33:26,600][INFO ][o.e.n.Node ] [hostname.com] JVM home [/usr/lib/jvm/java-11-openjdk-11.0.13.0.8-1.el7_9.x86_64], using bundled JDK [false]
Operating System and Release Information
SAS System | SAS Visual Investigator | Linux for x64 | 10.8 | | Viya | |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.