2011-11-02 12 views
14

Voglio smettere di Solr dal comando, quindi se trovare questo articolocome smettere solr con la linea di comando

http://rc98.net/solrinit

echo "Stopping Solr" 
     cd $SOLR_DIR 
     java -Xmx1024m -DSTOP.PORT=8079 -DSTOP.KEY=stopkey -jar start.jar --stop 

ciò che è Xmx1024m?

e dove troverò DSTOP.KEY?

Indicare la procedura corretta per avviare e arrestare solr tramite la riga di comando.

risposta

20

-XmX1024m - è il parametro java e specifica la dimensione massima dell'heap java, che nel caso è impostata su 1 GB.

stopkey è una chiave segreta all'avvio che deve anche essere presente nella richiesta di terminazione per migliorare la sicurezza.

È possibile trovare una spiegazione dettagliata @http://docs.codehaus.org/display/JETTY/Securing+Jetty

Esempio -

partire solr con Jetty -

java -DSTOP.PORT=8079 -DSTOP.KEY=mysecret -jar start.jar 

Arresto Solr con Jetty -

java -DSTOP.PORT=8079 -DSTOP.KEY=mysecret -jar start.jar --stop 

lo STOP.KEY è la chiave segreta che deve corrispondere durante la virgola di arresto ND.

+0

Non sono in grado di fermarmi, puoi spiegare passo passo cosa devo fare start start e stop solr? – XMen

+2

Aggiornamento della risposta. Si prega di fare qualche sforzo per passare attraverso la semplice documentazione menzionata nella risposta. È molto chiaramente menzionato lì. – Jayendra

+0

quando eseguo java -DSTOP.PORT = 8079 -DSTOP.KEY = mysecret -jar start.jar dopo l'interruzione di solr nella directory di esempio dice indirizzo già in uso e non avvia il solr, cosa può essere fatto – XMen

2

Per le operazioni locali, è possibile interrompere il server Solr premendo Ctrl-c nella finestra della console in cui è stato avviato Solr.In genere, questo è abbastanza sicuro per lo sviluppo e la sperimentazione

14

È possibile eseguire (dove 8983 è la porta di default solr)

lsof -i :8983 

che restituirà PID #, quindi utilizzare

kill -9 PID# 

per uccidere quel pid (eseguilo senza l'hash)

+0

grazie ha funzionato! – huzefam

+0

Questo ha funzionato anche per me. Impossibile accettare la risposta al lavoro. – Esteban

+0

Oppure: "fuser -k 8983/tcp" (come si vede in: http://stackoverflow.com/a/11596144/2265487) E includere in .bashrc un alias per facilità d'uso: alias solr_stop = 'fuser -k 8983/tcp ' – ElMesa

5

Questo ha funzionato per me se rake sunspot: solr: stop non funziona

ps -ef | grep solr

quindi utilizzando le informazioni restituite

sudo kill <process_id>

esempio:

sudo kill 792

13

solr stop -all # arresta tutti i porti

solr stop -p 8983 # stop la porta specifica

Se viene visualizzato l'errore ERROR: Port 8983 is already being used by another process., chiudere la finestra della console che esegue Solr entro Ctrl-C e quindi provare una delle opzioni precedenti. Perché uccidere la finestra della console non ferma il servizio.

+0

Mi piace l'approccio stop -all, nota che se ci si trova nella cartella radice sarebbe bin/solr stop -all – edencorbin

Problemi correlati