The VMware Tanzu GemFire native client provides access for C++ and Microsoft® .NET™ Framework clients to the Tanzu GemFire distributed system. It operates on platforms running Microsoft Windows, Linux (Intel), and Tanzu Application Service.
GemFire Compatibility
The GemFire Native Client supports applications that communicate with GemFire servers. Native Client version 10.4 works with Pivotal GemFire versions 9.15 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.4.2 and later | GemFire Server 10.0 GemFire Server 9.15 |
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 |
Application Compatibility
GemFire Native Client is compiled using 64-bit architectures for all operating systems. Linking with 32-bit applications is not supported.
Supported Platforms: C++ Client
The GemFire Native Client supports applications that run in the following client environments:
Platform | Version |
---|---|
Linux | Red Hat Enterprise Linux (RHEL) 7, 8 |
Linux | Ubuntu 18 (Bionic Beaver) |
Windows Desktop | 10 |
Windows Server | 2016, 2019 |
Tanzu Application Service | TAS 2.10+ |
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, which you can find on the Visual Studio 2017 web page. Scroll down to “Redistributables and Build Tools” and select “Microsoft Visual C++ Redistributable for Visual Studio 2017”, and be sure to select the “x64” version. 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
Deactivating 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 Tanzu GemFire distributed system.
To deactivate SYN cookies permanently:
-
Edit the
/etc/sysctl.conf
file to include the following line:net.ipv4.tcp_syncookies = 0
Setting this value to zero deactivates SYN cookies.
-
Reload
sysctl.conf
:$ sysctl -p
TAS Support
Tanzu Application Service supports C++ native client applications.
TAS versions 2.10 and higher include the Microsoft VS 2017 C++ Redistributable DLLs.
TAS C++ Requirements
- TAS 2.10 or newer
- Ubuntu or Windows 2017 stem cells
To run your cloud native C++ application on TAS:
- The runtime libraries
pivotal-gemfire.dll
andcryptoImpl.dll
must be in the path of your C++ application. - Use
cf push
to deploy your application to TAS as you would other C++ applications.
Software Requirements for Using SSL
If you plan on using SSL in your Tanzu GemFire native client and server deployment, you will need to download and install OpenSSL. The Tanzu GemFire native client requires OpenSSL version 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.
Content feedback and comments