Estou construindo um servidor solr (no Ubuntu 18.04, usando o repositório solr-common e solr-jetty). Na inicialização, o solr estava relatando que nfile e nproc (1024, 6721 resp) estavam muito baixos. Eu corri systemctl edit solr
e criei uma substituição da seguinte forma:
[Service]
LimitNOFILE=65000
LimitNPROC=65000
Em seguida, reiniciei o serviço - o solr ainda relata o mesmo problema.
Eu adicionei /etc/security/limits.d/solr contendo:
solr hard nofile 65535
solr soft nofile 65535
solr hard nproc 65535
solr soft nproc 65535
Ele ainda está relatando o mesmo problema após reiniciar o serviço:
# systemctl status solr
● solr.service - LSB: Controls Apache Solr as a Service
Loaded: loaded (/etc/init.d/solr; generated)
Drop-In: /etc/systemd/system/solr.service.d
└─override.conf
Active: active (exited) since Mon 2020-03-30 14:55:49 BST; 6s ago
Docs: man:systemd-sysv-generator(8)
Process: 6848 ExecStop=/etc/init.d/solr stop (code=exited, status=0/SUCCESS)
Process: 6973 ExecStart=/etc/init.d/solr start (code=exited, status=0/SUCCESS)
Mar 30 14:55:43 dev-a01-si-solr.bip solr[6973]: *** [WARN] *** Your open file limit is currently 1024.
Mar 30 14:55:43 dev-a01-si-solr.bip solr[6973]: It should be set to 65000 to avoid operational disruption.
Mar 30 14:55:43 dev-a01-si-solr.bip solr[6973]: If you no longer wish to see this warning, set SOLR_ULIMIT_CHECKS to false in your profile or solr.in.sh
Mar 30 14:55:43 dev-a01-si-solr.bip solr[6973]: *** [WARN] *** Your Max Processes Limit is currently 6721.
Mar 30 14:55:43 dev-a01-si-solr.bip solr[6973]: It should be set to 65000 to avoid operational disruption.
Mar 30 14:55:43 dev-a01-si-solr.bip solr[6973]: If you no longer wish to see this warning, set SOLR_ULIMIT_CHECKS to false in your profile or solr.in.sh
Mar 30 14:55:49 dev-a01-si-solr.bip solr[6973]: [194B blob data]
Mar 30 14:55:49 dev-a01-si-solr.bip solr[6973]: Started Solr server on port 8983 (pid=7045). Happy searching!
Mar 30 14:55:49 dev-a01-si-solr.bip solr[6973]: [14B blob data]
Mar 30 14:55:49 dev-a01-si-solr.bip systemd[1]: Started LSB: Controls Apache Solr as a Service.
O que eu estou fazendo errado aqui?
update Após alterar /etc/systemd/system.conf para conter...
DefaultLimitNOFILE=65000
DefaultLimitNPROC=65000
O Solr não está mais reclamando do limite de arquivos, mas continua reclamando do limite do processo. WTF Pottering?
Drop-In: /etc/systemd/system/solr.service.d
└─override.conf
Active: active (exited) since Mon 2020-03-30 15:21:59 BST; 14s ago
Docs: man:systemd-sysv-generator(8)
Process: 1141 ExecStart=/etc/init.d/solr start (code=exited, status=0/SUCCESS)
Mar 30 15:21:51 dev-a01-si-solr.bip solr[1141]: If you no longer wish to see this warning, set SOLR_ULIMIT_CHECKS to false in your profile or solr.in.sh
Mar 30 15:21:51 dev-a01-si-solr.bip solr[1141]: *** [WARN] *** Your Max Processes Limit is currently 6721.
Mar 30 15:21:51 dev-a01-si-solr.bip solr[1141]: It should be set to 65000 to avoid operational disruption.
Mar 30 15:21:51 dev-a01-si-solr.bip solr[1141]: If you no longer wish to see this warning, set SOLR_ULIMIT_CHECKS to false in your profile or solr.in.sh
Mar 30 15:21:51 dev-a01-si-solr.bip solr[1141]: Warning: Available entropy is low. As a result, use of the UUIDField, SSL, or any other features that require
Mar 30 15:21:51 dev-a01-si-solr.bip solr[1141]: RNG might not work properly. To check for the amount of available entropy, use 'cat /proc/sys/kernel/random/entropy_avail'.
Mar 30 15:21:59 dev-a01-si-solr.bip solr[1141]: [230B blob data]
Mar 30 15:21:59 dev-a01-si-solr.bip solr[1141]: Started Solr server on port 8983 (pid=1459). Happy searching!
Mar 30 15:21:59 dev-a01-si-solr.bip solr[1141]: [14B blob data]
Mar 30 15:21:59 dev-a01-si-solr.bip systemd[1]: Started LSB: Controls Apache Solr as a Service.
Alterar user.conf para corresponder não ajudou.
Atualização 2
Bem, isso está ficando cada vez melhor. O desaparecimento do aviso nfile veio após uma reinicialização do host. Quando eu executo posteriormente systemctl restart solr
, recebo isso:
Mar 30 15:39:21 dev-a01-si-solr.bip solr[2503]: *** [WARN] *** Your open file limit is currently 1024.
Mar 30 15:39:21 dev-a01-si-solr.bip solr[2503]: It should be set to 65000 to avoid operational disruption.
FF!
Agora, onde eu coloquei aquele CD do Centos 5?
Atualização 3
Acontece que este não era mais o solr empacotado. Sem o meu conhecimento, alguém teve problemas para fazer a compilação original funcionar e encontrou um tutorial na internet sobre como instalar a partir do tarball. Então agora eu tenho um sistema com meio tarball/meio repo solr que não podemos corrigir/atualizar.
No Ubuntu 18.04, o solr é realmente iniciado por um script initV invocado do systemd.
Eu me livrei dos avisos por
1) removendo /etc/security/limits.d/solr e adicionando o seguinte em /etc/security/limits.conf:
2) Adicionando isso ao topo de /etc/init.d/solr
(embora a linha -u não pareça estar fazendo nada)
3) correndo
systemctl daemon-reload
4) fazendo uma reinicialização difícil
E os avisos ficam longe quando eu corro
systemctl reload solr
.Mas agora tenho bots de configuração espalhados por todo o lugar e preciso cortar alguns deles.