2010-08-28 10 views
12

Używam Virtual Private Server, gdzie każdego dnia o północy wszystkie pliki są automatycznie archiwizowane przez dostawcę VPS.Jak zrzucić/wykonać kopię zapasową indeksu Solr do pliku?

Więc muszę eksportu indeks Solr do pliku, tak, że jeśli coś pójdzie nie tak kiedyś będę w stanie importu go z powrotem do Solr problemów.

Jak mogę to zrobić?

+0

Zadajesz pytanie o 'solr' i nawet nie oznakowałeś go solr. Bez obaw, właśnie to zrobiłem :) – shamittomar

+1

duplikat: http://stackoverflow.com/questions/3505979/how-to-backup-a-solr-database http://stackoverflow.com/questions/3083314/solr-incremental -bezaktualizacja-na-czasie-systemu-z-ciężkim-indeksem –

+0

dobrze ... zgadzam się php, sql, apache są naprawdę ŹLE ... –

Odpowiedz

11

Baza danych Solr to plik (lub kilka). Jest to folder, który wygląda mniej więcej tak:

[email protected]:/home/solr/apache-solr-1.4.0/example/solr/data/index# ls 
segments.gen _xzy.tii  _y26.tii  _y4f.tii  _y6o.tii _y8n.tii _y9i.tis _y9k.fdt _y9l.fdx _y9m.fnm 
segments_uud _xzy.tis  _y26.tis  _y4f.tis  _y6o.tis _y8n.tis _y9j.fdt _y9k.fdx _y9l.fnm _y9m.frq 
_xzy_2n.del _y26_20.del _y4f_1z.del _y6o_21.del _y8n_2.del _y9i.fdt _y9j.fdx _y9k.fnm _y9l.frq _y9m.nrm 
_xzy.fdt  _y26.fdt  _y4f.fdt  _y6o.fdt  _y8n.fdt _y9i.fdx _y9j.fnm _y9k.frq _y9l.nrm _y9m.prx 
_xzy.fdx  _y26.fdx  _y4f.fdx  _y6o.fdx  _y8n.fdx _y9i.fnm _y9j.frq _y9k.nrm _y9l.prx _y9m.tii 
_xzy.fnm  _y26.fnm  _y4f.fnm  _y6o.fnm  _y8n.fnm _y9i.frq _y9j.nrm _y9k.prx _y9l.tii _y9m.tis 
_xzy.frq  _y26.frq  _y4f.frq  _y6o.frq  _y8n.frq _y9i.nrm _y9j.prx _y9k.tii _y9l.tis 
_xzy.nrm  _y26.nrm  _y4f.nrm  _y6o.nrm  _y8n.nrm _y9i.prx _y9j.tii _y9k.tis _y9m.fdt 
_xzy.prx  _y26.prx  _y4f.prx  _y6o.prx  _y8n.prx _y9i.tii _y9j.tis _y9l.fdt _y9m.fdx 

Jednakże: wystarczyłoby, aby zapisać ten folder. możesz także po prostu utworzyć kopię zapasową całej solr isntallation za pomocą przyrostowego rsync lub cokolwiek innego ... po ponownym uruchomieniu tylko bufory będą musiały być wypełnione nowo itp.

ALE: mam nadzieję, że solr nie jest twoją podstawową bazą danych? ma być wyszukiwarką, a nie zamiennikiem bazy danych, a nawet kopii zapasowej! podobnie jak repliki mysql są ładne do równoważenia obciążenia, ale są bezużyteczne jako kopia zapasowa ... dlaczego? ponieważ przy tej samej kwerendzie można otrzymać pusty indeks. to samo z solr/lucene. ... lub z wielu, wielu innych powodów, o których rozmawiają o wiele bardziej błyskotliwi ludzie.

mając to na uwadze życzę miłego dnia!

+0

Cześć. Czy masz na myśli to, że utworzenie kopii zapasowej tego katalogu jest wystarczające? Innymi słowy, jeśli coś pójdzie nie tak, a wkleję skopiowany katalog i zastąpię te pliki, otrzymam indeks z powrotem? Btw, używam solr jako wyszukiwarki tak ... Dzięki –

+0

tak. To jest poprawne. ale tylko wtedy, gdy ustawienia wokół pozostają takie same. dlatego też wykonałbym kopię zapasową całego folderu instalacji. –

+4

Ostrożnie! pamiętaj, aby zatrzymać solr przed utworzeniem kopii zapasowej katalogu danych lub możesz pozostawić indeks bezużyteczny z powodu brakujących plików segmentu. – samy

1

Jeśli chodzi o utrzymywanie stanów przyrostowych, istnieje wiele skryptów powłoki, które można skonfigurować do uruchamiania, zaplanowane za pomocą crona lub po zatwierdzeniu i optymalizowaniu.

Dowiedz się więcej na http://wiki.apache.org/solr/SolrOperationsTools

Jedną rzecz chciałbym zwrócić uwagę jest to, że podczas Solr jest prawdopodobnie zazwyczaj nie używany jako podstawowy „System of Record”, ale jako środek pomocniczy do innego magazynu danych, nie ma wszystko, co tego wymaga!

Istnieje wiele przypadków użycia, w których utrata indeksów Solr spowodowałaby utratę danych. Pomyśl o stronie, która przeszukuje internet w poszukiwaniu konkretnych danych. Jedyną kopią każdego wyniku indeksowania może być tylko Solr i, jak sądzę, z odpowiednimi kopiami zapasowymi, to jest w porządku!

2

Proszę zobaczyć my other answer o podejmowaniu gorących kopii zapasowych przy użyciu replikacji Solr's Replication. Możesz po prostu wget adresu URL i Solr bezpiecznie migruje katalog danych. Nie zrobiłbym migawki za pomocą cp.

Powiązane problemy