The following instructions will allow you to get started quickly with PGX and to analyze graphs directly on your local machine. More advanced usage models, which include running PGX as a server, can be found at the end of this section.
The requirements for PGX on Oracle Linux (x86_64), on which PGX is actively tested, are the following:
To check existing instances of a library (e.g.,
libstdc++.so.6) on your system, you can use the following commands:
# install 'mlocate' package in case the commands below does not work sudo updatedb locate libstdc++.so.6
To verify that an instance of a library has the minimum required symbol versioning information mentioned above, e.g.,
CXXABI_1.3.5 for the
libstdc++.so.6 library, you can use the following commands:
strings /path/to/libstdc++.so.6 | grep -x GLIBCXX_3.4.19 strings /path/to/libstdc++.so.6 | grep -x CXXABI_1.3.5
If no line is returned, then the library does not support the minimum required symbol versioning information. In this case, you need to get the required shared libraries with at least the minimum required symbol versioning information.
You can use your Linux distribution's package manager and software repositories to search and install the required shared libraries. Alternatively, you can look for newer versions of the shared libraries possibly brought in by other software, or you can build the shared libraries from sources. Please note that the shared libraries must have the minimum symbol versioning information mentioned above.
Specifically for the
libgomp.so.1 shared libraries, you can either update
the system's default GCC to version 4.8.2 (or newer) or, if an official update is not
available, manually upgrade the C++ libraries.
Once you have the newer libraries somewhere in the system, either in some directory discovered via the
command or in
/usr/local/lib64, you can then simply set your
LD_LIBRARY_PATH to point
to the directory containing the shared libraries before starting PGX:
To avoid setting the
LD_LIBRARY_PATH after every login, you can add the command above to your
Install the Oracle JDK 8, if it is not already on your system. Refer to your system administrator, or follow these instructions to install:
JAVA_HOMEenvironment variable points to the JDK8 home directory, e.g.
Unpack the downloaded zip file into a directory of your choice. For example,
unzip pgx-19.1.0-server.zip -d /opt/pgx.
cd into the installation directory. Verify PGX boots up by starting the PGX Shell:
cd $PGX_HOME ./bin/pgx
See our troubleshooting section if you encounter problems.
(This is only required for optional PGX Shell execution)
PGX Shell is a command-line tool that allows interactive execution of PGX API. Since PGX Shell itself is a Groovy application, it requires installation of Groovy for execution.
For Linux and OSX, please follow the groovy installation guide.
For Windows, please download the Windows installer
and follow the Windows installation guide.
Once the installation is finished. please make sure that
GROOVY_HOME environment variable is set to the groovy installation directory.
bin- PGX executables
conf- PGX configuration files
distributed- PGX distributed server binaries (multiple machine deployment)
examples- Example code (Java, Green-Marl) and example graph data
shared-memory- PGX shared-memory server binaries (single machine deployment)
yarn- libraries for Hadoop YARN deployment
Read in the following tutorials how to start the PGX server in shared memory mode (single machine, scale up) or distributed mode (multiple machines, scale out):
PGX also supports HDFS and runs on YARN. Details for these can be found in these tutorials:
You can also run shared memory PGX inside of a web application. PGX ships with a WAR-file which can be deployed directly into your favorite servlet container:
Do you already have a PGX server running? Refer to this tutorial to learn how to connect to a server: