2010-08-28 18 views
12

Estoy ejecutando un servidor privado virtual donde, todos los días a la medianoche, todos los archivos son copia de seguridad automáticamente por el proveedor de VPS.¿Cómo volcar/hacer una copia de seguridad de un índice Solr en un archivo?

así que tengo que exportación el índice Solr en un archivo, de modo que si algo va mal algún día, voy a ser capaz de importación de nuevo a Solr con facilidad.

¿Cómo puedo hacer esto?

+0

Has hecho una pregunta sobre 'solr' y ni siquiera la ha etiquetado con solr. No se preocupe, simplemente lo hice :) – shamittomar

+1

duplicado: http://stackoverflow.com/questions/3505979/how-to-backup-a-solr-database http://stackoverflow.com/questions/3083314/solr-incremental -backup-on-real-time-system-with-heavy-index –

+0

bien ... estoy de acuerdo php, sql, apache son etiquetas INCORRECTAS -... –

Respuesta

11

La base de datos Solr es un (o un par de) archivo (s). Hay una carpeta que se ve algo como esto:

[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 

Sin embargo: bastaría para salvar a esta carpeta. también puede hacer una copia de seguridad de su instalación de soldar completa usando rsync incremental o lo que sea ... una vez iniciada de nuevo, solo las memorias caché deberían completarse recientemente, etc.

PERO: espero que solr no sea su base de datos principal? ¡pretende ser un motor de búsqueda y no un reemplazo de una base de datos y ni siquiera una copia de seguridad! al igual que las replicaciones de mysql son buenas para equilibrar la carga, pero son inútiles como una copia de seguridad ... ¿por qué? porque con la misma consulta podría terminar con un índice vacío. es lo mismo con solr/lucene. ... o por muchas, muchas otras razones que ya han discutido a personas mucho más brillantes.

Teniendo esto en cuenta te deseo un buen día!

+0

Hola. ¿Quiere decir que la copia de seguridad de este directorio es suficiente? En otras palabras, si algo sale mal, y pego el directorio respaldado y sobrescribo estos archivos, ¿recuperaré mi índice? Por cierto, uso solr como motor de búsqueda sí ... Gracias –

+0

sí. eso es correcto. pero solo si la configuración sigue siendo la misma. por lo tanto, haría una copia de seguridad de toda la carpeta de instalación. –

+4

Cuidado! asegúrese de detener solr antes de hacer una copia de seguridad del directorio de datos o puede que tenga un índice inutilizable debido a archivos de segmento faltantes. – samy

1

Si le preocupa mantener estados incrementales, hay una serie de scripts de shell que pueden configurarse para ejecutarse, ya sea programados mediante cron o after commits y optimizados.

encontrar más información en http://wiki.apache.org/solr/SolrOperationsTools

Una cosa que me gustaría destacar es que mientras Solr es probablemente por lo general no se utiliza como el "sistema de registro" primaria, sino como un auxiliar a algún otro almacén de datos, no hay cualquier cosa que requiera eso!

Hay muchos casos de uso en los que si pierde sus índices de Solr, perderá sus datos. Piensa en un sitio que rastrea Internet para obtener datos específicos. La única copia de cada resultado de rastreo solo puede estar en Solr, y creo que con las copias de seguridad adecuadas, ¡está bien!

2

Consulte my other answer para obtener copias de seguridad con el ReplicationHandler de Solr. Puede simplemente wget una URL y Solr tomará instantáneamente su directorio de datos. No tomaría una instantánea usando cp.

Cuestiones relacionadas