This is a very simple script I run in the target hosts that I am prepping for Apache Ambari Server or Agent and Hadoop deployment. The main thing it achieves is displaying the current settings for Linux Open File Descriptors, it then allows the user to specify whether they are below Ambari’s and/or Hadoop’s minimum system requirements, if that is the case the script will update the settings for you:
#!/bin/bash
#Script Name: ignacio_ofd.scr
#Author: Ignacio de la Torre
#Independent Contractor Profile: http://linkedin.com/in/idelatorre
#################
#Configure Maximum Open File Descriptors
echo ">>> Configure Maximum Open File Descriptors..."
echo "! ! ! Pay attention to the output below, if any of the two numbers displayed is less than 10,000, enter y at the prompt:"
ulimit -Sn
ulimit -Hn
echo "Enter y if the limits are below 10,000:"
read var_yesno
if [ "$var_yesno" = "y" ]
then
echo "Updating /etc/security/limits.conf"
#this updates the limits globally
sudo chmod 666 /etc/security/limits.conf
sudo echo "ubuntu hard nofile 10000" >> /etc/security/limits.conf
sudo echo "ubuntu soft nofile 10000" >> /etc/security/limits.conf
sudo echo "root hard nofile 100000" >> /etc/security/limits.conf
sudo echo "root soft nofile 100000" >> /etc/security/limits.conf
sudo chmod 644 /etc/security/limits.conf
else
echo "ulimit not updated, not necessary"
fi