2016-03-26 3 views
0

Я продолжаю получать проблемы с Solr сбой на моем сервере. Его едва занятый сайт, поэтому я не понимаю, почему он продолжает это делать.solr/tomcat7 не возвращается после аварии

Во всяком случае, в качестве посредника - я написал скрипт, который работает на хронах как корень:

#!/bin/bash 

declare -a arr=(tomcat7 nginx mysql); 

for i in "${arr[@]}" 
do 
    echo "Checking $i" 
    if (($(ps -ef | grep -v grep | grep $i | wc -l) > 0)) 
    then 
    echo "$i is running!!!" 
    else 
    echo "service $i start\n" 
    service $i start 
    fi 
done 

# re-run, but this time do a restart if its still not going! 
for i in "${arr[@]}" 
do 
    echo "Checking $i" 
    if (($(ps -ef | grep -v grep | grep $i | wc -l) > 0)) 
    then 
    echo "$i is running!!!" 
    else 
    service $i restart 
    fi 
done 

..ты это хроны (как корень)

*/5 * * * * bash /root/script-checks.sh 

хроны сама по себе, кажется, бежит просто отлично:

Checking tomcat7 
service tomcat7 start\n 
Checking nginx 
nginx is running!!! 
Checking mysql 
mysql is running!!! 
Checking tomcat7 
Checking nginx 
nginx is running!!! 
Checking mysql 
mysql is running!!! 

... и Tomcats статус кажется нормально:

[email protected]:~# service tomcat7 status 
â tomcat7.service - LSB: Start Tomcat. 
    Loaded: loaded (/etc/init.d/tomcat7) 
    Active: active (exited) since Mon 2016-03-21 06:33:28 GMT; 4 days ago 
    Process: 2695 ExecStart=/etc/init.d/tomcat7 start (code=exited, status=0/SUCCESS) 

Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable. 

... пока мой сценарий, не может подключиться к Solr:

Could not parse JSON response: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "Can't connect to loc...") at /srv/www/domain.net/www/cgi-bin/admin/WebService/Solr/Response.pm line 42. Can't connect to localhost:8080 Connection refused at /usr/share/perl5/LWP/Protocol/http.pm line 49. 

Если я вручную запустить "перезагрузка":

service tomcat7 restart 

... тогда начинает работать еще раз. Его почти как вторая часть в моем сценарии оболочки не работает.

Любые предложения?

версия

Моей Solr заключается в следующей:

Solr Specification Version: 3.6.2.2014.10.31.18.33.47 
Solr Implementation Version: 3.6.2 debian - pbuilder - 2014-10-31 18:33:47 
Lucene Specification Version: 3.6.2 

UPDATE: Я прочитал, что иногда обновление MaxThreads может помочь с аварией, поэтому я изменил его до 10000:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" 
      maxThreads="10000" SSLEnabled="true" scheme="https" secure="true" 
      clientAuth="false" sslProtocol="TLS" /> 

Я думаю, время покажет, чтобы узнать, устраняет ли это проблему.

+1

Что говорят журналы о Solr, когда он падает? – TMBT

+0

Какая версия Solr? – MatsLindh

+0

У меня возникла проблема с доступом к панели администратора. Я вхожу: mysite.net:8080/solr, но он просто зависает (и в конечном итоге дает сообщение «* Ошибка при подключении»). Немного запутанный, поскольку доступ к нему в SSH через «lynx», он работает нормально (просто не очень красиво или просто в использовании!). Я не могу на самом деле вычислить номер версии, так как его просто текст не отформатирован хорошо :( –

ответ

0

Хорошо, я так и не понял, почему он не перезапустится ... но я решил, почему он рушится. Раньше у нас это было на сервере Linode на 2048 МБ, но когда мы перешли на Apache2, я настроил сервер 1024 Мб и собирался обновить его до 2048 Мб, который мы все работали. Однако мы поставили его вживую, но я забыл обновить его до сервера 2048mb, поэтому Nginx/Apache2/Tomcat/MySQL и т. Д. Все пытались работать на довольно медленном сервере.

Мы обнаружили, что Solr умирает с ошибкой OOM (из памяти), что и дало нам ключ.

Надеюсь, это поможет кому-то другому, кто может столкнуться с этим.

Смежные вопросы