System Requirements

The Pivotal GemFire native client provides access for C++ and Microsoft® .NET™ clients to the GemFire distributed system. It operates on platforms running Microsoft Windows, Linux (Intel), and Pivotal Cloud Foundry.

GemFire Compatibility

The GemFire Native Client supports applications that communicate with GemFire servers. Native Client version 10.0 works with Pivotal GemFire versions 9.0.0 and later.

The following table shows which versions of the Native Client are compatible with the various versions of the GemFire server.

GemFire Native Client Version GemFire Server Version
GemFire Native Client 10
GemFire Native Client 9.1, 9.2
GemFire Server 9.x
GemFire Native Client 9.1
GemFire Native Client 8.2
GemFire Server 8.2

The GemFire Native Client supports applications that run in the following client environments:

Supported Platforms: C++ Client

Platform Version
Linux Red Hat Enterprise Linux (RHEL) 7
Linux Ubuntu 16 (Xenial)
Windows Desktop 10
Windows Server 2016
Pivotal Cloud Foundry PCF 2.2+

Supported Platforms: .NET Client

Platform Version
Windows Desktop 10
Windows Server 2016
Pivotal Cloud Foundry PCF 2.2+

.NET Compatibility

For Windows applications, a Microsoft .NET Framework must be installed to support the C++/CLI (Common Language Infrastructure) library for the native client.

The client supports .NET 4.5.2 (and newer) and Visual Studio 2017 (and newer) (for compiling .NET applications on Windows). It does not support .NET Core. For more information on the features of .NET and Visual Studio Community Edition 2017, see the Visual Studio 2017 web page.

Host Machine Requirements

Each machine that runs a native client must meet the following requirements:

  • A system clock set to the correct time and a time synchronization service such as Network Time Protocol (NTP). Correct time stamps permit the following activities:
    • Logs that are useful for troubleshooting. Synchronized time stamps ensure that log messages from different hosts can be merged to reproduce an accurate chronological history of a distributed run.
    • Aggregate product-level and application-level time statistics.
    • Accurate monitoring of the system with scripts and other tools that read the system statistics and log files.
  • The host name and host files are properly configured for the machine.

Windows Support

For Windows C++ applications, the GemFire Native Client library, pivotal-gemfire.dll, requires the Microsoft Visual C++ 2017 Redistributable Package. Install it on all machines that will run your C++ application.

Linux Support

For Linux, you can verify that you meet the native client dependencies at the library level by using the ldd tool and entering this command:

$ ldd $client-installdir/lib/libpivotal-gemfire.so

where client-installdir is the location in which you have installed the client.

The following libraries are external dependencies of the native library, libpivotal-gemfire.so. Verify that the ldd tool output includes all of these:

  • libdl.so.2
  • libm.so.6
  • libpthread.so.0
  • libc.so.6
  • libz.so.1

Disabling Syn Cookies on Linux

Many default Linux installations use SYN cookies to protect the system against malicious attacks that flood TCP SYN packets. The use of SYN cookies dramatically reduces network bandwidth, and can be triggered by a running GemFire distributed system.

To disable SYN cookies permanently:

  1. Edit the /etc/sysctl.conf file to include the following line:

    net.ipv4.tcp_syncookies = 0
    

    Setting this value to zero disables SYN cookies.

  2. Reload sysctl.conf:

    $ sysctl -p
    

PCF Support

Pivotal Cloud Foundry supports .NET and C++ native client applications.

PCF .NET Requirements

  • PCF 2.0 or newer
  • Windows 2016
  • .NET 4.5.2 or newer

To run your cloud native .NET application on PCF:

  1. The Pivotal.GemFire.dll must be in the output folder of your .NET project.
  2. Add <hostingEnvironment shadowCopyBinAssemblies="false" /> to the Web.Config. This will change the hosting behavior to reuse the existing directory.
  3. Rebuild your application.
  4. Use cf push to deploy your application to PCF as you would other .NET applications.

PCF C++ Requirements

  • PCF 2.0 or newer
  • Ubuntu or Windows 2016 stem cells

To run your cloud native C++ application on PCF:

  1. The runtime libraries pivotal-gemfire.dll and cryptoImpl.dll must be in the path of your C++ application.
  2. Use cf push to deploy your application to PCF as you would other C++ applications.

Software Requirements for Using SSL

If you plan on using SSL in your GemFire native client and server deployment, you will need to download and install OpenSSL. The GemFire native client is compatible with OpenSSL versions 1.0.1, 1.0.2, 1.1.0, and 1.1.1.

For Windows platforms, you can use either the regular or the OpenSSL “Light” version.

In addition, make sure that your system environment variables have been configured to include OpenSSL.