Installation on z/OS
This section explains system requirements for running GridGain, how to install GridGain, and how to start a GridGain node on z/OS.
Prerequisites
-
Java 8+, tested with IBM J9 VM.
Installation
-
Log in to your z/OS environment and create an installation directory:
mkdir <PATH_INSTALLATION_DIRECTORY>
-
Download the GridGain Enterprise z/OS Edition as a zip archive. Either save it directly to the installation directory, or move it there afterwards. Ask your account manager or contact our sales for the download link.
-
Run the following command in the installation directory to extract your zip archive:
jar -xvf gridgain-zos-enterprise-X.X.X.zip
-
Set the IGNITE_HOME environment variable to point to the installation directory:
export IGNITE_HOME=<PATH_INSTALLATION_DIRECTORY>/gridgain-zos-enterprise-X.X.X
You can check if the variable is set with the following command:
echo $IGNITE_HOME
-
To enable the HTTPS connection between Control Center Agent and Control Center, set the following JVM option to
true
:JVM_OPTS=-Dcom.ibm.jsse2.overrideDefaultTLS=true
-
(Optional) After extracting the zip archive files, the script files may not have execution or write permissions, which may happen when copying an archive from a remote host. To grant permissions, use the command below:
chmod -R 0755 $IGNITE_HOME/
-
(Optional) Move the
ignite-rest-http
directory from{gridgain}/libs/optional
to{gridgain}/libs
to enable the Ignite REST library for the cluster. The library is used by GridGain Control Center for cluster management and monitoring needs. To move the directory, use the command below:cp -R $IGNITE_HOME/libs/optional/ignite-rest-http $IGNITE_HOME/libs/ignite-rest-http
-
(Optional) Enable any of the modules you might want to use.
-
Enable the z/OS Enhanced ASCII support that allows tools to recognize the
chtag
commands by specifying_BPXK_AUTOCVT=ON
. For more details, click here. -
(Optional) You can upload your own license file using the instructions or the following command:
cp <YOUR_LICENSE_FILE> $IGNITE_HOME/gridgain-license.xml
Configuring GridGain
-
Please refer to configuration pages to configure your GridGain nodes. The configuration file provided with GridGain distribution will start an in-memory node with large data region, which should form a single-node cluster after start-up. You may need to tune the size of default data region to adjust resource usage.
-
Most text files are provided in native
EBCDIC 1047
code page. However, some files are required to be inASCII
-derived encoding, notably, configuration XML files. If you need to view or edit any of those, consider tagging them usingchtag
command, using the following command as reference:chtag -t -R -c ISO8859-1 path/to/file.xml
You can also read such files with the
iconv -cf IBM-1047 -t ISO8859-1 path/to/file.xml
command.
Running GridGain
-
Set the
MEMLIMIT
parameter. The parameter defines the limit on memory for a single process. Set it to a value that is larger than the RAM memory required for your GridGain nodes, including Heap and Off-Heap data regions. -
We recommend to always specify
-Dfile.encoding=UTF-8
JVM argument. You do not need to specify it if you start GridGain by runningignite.sh
. However, if you start nodes from custom code, add it to the startup parameters of your application. -
If you are going to use the native persistence feature, set the
IGNITE_WAL_MMAP
system property (or environment variable) tofalse
, for example, by adding-DIGNITE_WAL_MMAP=false
JVM argument. You do not need to specify it if you start GridGain by runningignite.sh
. -
Configure static discovery instead of the default multicast option. Specify the
TcpDiscoverySpi.localAddress
property and theIgniteConfiguration.localHost
property with the preferred IP address for the current host. You do not need to specify it if you start GridGain by using providedconfig/default-config.xml
. -
If you are going to use log4j for logging, you will need to specify charset/encoding of file appenders as
IBM-1047
in Log2J/Log4J2 configuration. Please use providedconfig/ignite-log4j.xml
andconfig/ignite-log4j2.xml
as reference.
The GridGain script should be run using Bash shell. Otherwise, the following exception is thrown:
checkJava: command not found setIgniteHome: command not found
-
To run GridGain normally, please execute the following bash command:
bash $IGNITE_HOME/bin/ignite.sh -v $IGNITE_HOME/config/default-config.xml
-
Note that running
ignite.sh
blocks the execution flow, so you can also start a node in the nohup mode by executing the command below:nohup bash $IGNITE_HOME/bin/ignite.sh -v $IGNITE_HOME/config/default-config.xml 1> log.txt 2>&1 &
-
By default, the GridGain logs are located inside
$IGNITE_HOME/work/logs
. If you start the node withnohup
, you can redirectSTDOUT
andSTDERR
to a file as it was done in the command above. If the node starts successfully, you will see theTopology snapshot
message indicating that the cluster is created and it contains one server node:You can check your log file by using the following command:
cat <LOG_FILE> |grep "Topology snapshot"
-
To verify normal operation of the cluster, use the SQLLine tools:
bash $IGNITE_HOME/bin/sqlline.sh --verbose=true -u jdbc:ignite:thin://127.0.0.1/
CREATE TABLE Person (id LONG, name VARCHAR, city_id LONG, PRIMARY KEY (id, city_id))WITH "backups=1, affinityKey=city_id";
INSERT INTO Person (id, name, city_id) VALUES (1, 'John', 1);
SELECT * FROM Person;
-
You can also check that your Java process was started successfully by using the following command:
ps -ef |grep -i ignite |grep -iv grep
The result should be similar to the example below:
RWPAREC 50335493 83889905 - 15:22:38 ttyp0000 0:00 bash /GridGain/gridgain-zos-enterprise-8.8.5/bin/ignite.sh -v /GridGain/gridga...
Performance recommendations
-
For nodes with a persistent storage, increase the
dataStorage.checkpointThreads
value. The default value is4
, but we recommend you set it to a value between16
and32
on z/OS nodes for best checkpointing speed. -
If your load profile includes intensive network usage, consider the following
TcpCommunicationSpi
parameters:socketWriteTimeout=5000
(ms),usePairedConnections=true
, pick theconnectionsPerNode
value from between2
and8
. -
Nodes may benefit from a larger striped pool size, increase it by setting
IgniteConfiguration.stripedPoolSize
to 32.
© 2024 GridGain Systems, Inc. All Rights Reserved. Privacy Policy | Legal Notices. GridGain® is a registered trademark of GridGain Systems, Inc.
Apache, Apache Ignite, the Apache feather and the Apache Ignite logo are either registered trademarks or trademarks of The Apache Software Foundation.