This link is very helpful to fix solr- Too many open files error.
Max Number of ulimit open file : It's provide open file resource availability in linux
Increase max number of ulimit open file in Linux.
1- Step : open the sysctl.conf and add this line fs.file-max = 65536
vi /etc/sysctl.conf add end of line fs.file-max = 65536
save and exit.
2. Step : vi /etc/security/limits.conf and add below the mentioned
* soft nproc 65535 * hard nproc 65535 * soft nofile 65535 * hard nofile 65535 save and exit check max open file ulimit
3.ulimit -a
core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 127358 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 65535