The following two system parameters are required to be set before installing the PingIntelligence software:
  • vm.max_map_count: For Elasticsearch
  • ulimit: For ASE, ABS, MongoDB and Elasticsearch
Run the following command to configure the system parameters on the respective VMs. The script uses sudo access for the user on the Elasticsearch, ASE, ABS, and MongoDB hosts. The IP address of these hosts was configured in the hosts file in Step 1. Make sure that the following command is run only when install_as_sudo is set to true in the hosts file.
[pi-api-deployment]# ./bin/ configure
Please see /opt/pingidentity/pi-api-deployment/logs/ansible.log for 
more details.
An example ansible.log file for a successful launch of EC2 instances is shown below:
[pi-api-deployment]# tail -f logs/ansible.log

Current Time: Sun Jun 07 06:05:25 EST 2020
Starting configure scripts
Sun Jun 07 06:05:25 EST 2020: Setting up local environment
Sun Jun 07 06:05:25 EST 2020: Installing packages
Sun Jun 07 06:05:25 EST 2020: Installing pip and ansible

PLAY [Configure system settings for elasticsearch] *****************************

TASK [Get vm.max_map_count] ****************************************************
TASK [Set vm.max_map_count if less than 262144] ********************************
TASK [Get ulimit -n] ***********************************************************
TASK [Set ulimit nofile to 65536 if value is low - softlimit] ******************
TASK [Set ulimit nofile to 65536 if value is low - hardlimit] ******************

PLAY RECAP *********************************************************************             : ok=7    changed=1    unreachable=0    failed=0             : ok=3    changed=0    unreachable=0    failed=0             : ok=5    changed=2    unreachable=0    failed=0

Sun Jun 07 06:06:14 EST 2020: Configure successful

Manually configuring the system parameters

If the configured user does not have sudo access, then manually edit the vm.max_map_count and ulimit values. Complete the following steps:
  1. Set the vm.max_map_count to 262144 on the Elasticsearch VM. To set the count, enter the following command:
    $sudo sysctl -w vm.max_map_count=262144
    To make the setting persistent across reboots, run the following command:
    $sudo echo "vm.max_map_count=262144" >> /etc/sysctl.conf
  2. Set the ulimit to 65536 on the ASE, ABS, MongoDB, and Elasticsearch hosts. To set the ulimit, complete the following:
    edit /etc/security/limits.conf for increasing the soft limit and hard limit. Add the following two lines for the user that you have created, for example, pi-user:
    pi-user soft nofile 65536
    pi-user hard nofile 65536
    Note: If the number of APIs in the environment is greather than 1500, then set the ulimit to 131070.