Ho installato una replica SolrCloud utilizzando lo zookeeper autonomo. Ma ora desidero apportare alcune modifiche al mio Schema.xml e ricaricare il core. Il problema è che quando eseguo un singolo server Solr (nessun solrcloud) viene caricato il nuovo schema, ma non so come ricaricare lo schema su tutto il server di replica. Ho provato a ricaricare lo schema su uno dei server senza alcun impatto desiderato. C'è un modo in cui posso ricaricare il mio schema.xml in Solr in configurazione di replica distribuita che utilizza zookeeper.Ricaricamento di Zookeeper solr conf (schema.xml)
risposta
Abbiamo appena trovato la soluzione di cui abbiamo bisogno per inviare la configurazione modificata a zookeeper ensemble.
Basta usare
sh zkcli.sh -cmd upconfig -zkhost 127.0.0.1:2181 -collection collection1 -confname myconf -solrhome ../solr -confdir ../solr/collection1/conf
zkcli.sh è presente sotto esempio/cloud-scripts
Di seguito è riportato il comando per Windows,
sarà quasi uguale in Unix abbiamo solo bisogno di cambia il percorso di Solr lib e class-path separator ; & :
Perché il suo comando java dovrebbe essere eseguito anche in Unix.
java -Dlog4j.configuration="file:E:/solr-5.5.1/server/scripts/cloud-scripts/log4j.properties" -classpath .;E:/solr-5.5.1/server/solr-webapp/webapp/WEB-INF/lib/*;E:/solr-5.5.1/server/lib/ext/* org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost 192.168.42.13:2787 -confdir E:/New_Solor_Conf -confname Solor_conf
Brevi dettagli sul comando come segue:
configurazione di log4j per la registrazione.
- -Dlog4j.configuration = "file: E: /solr-5.5.1/server/scripts/cloud-scripts/log4j.properties percorso
Class con" org.apache .. .solr.cloud.ZkCLI" classe
assicurarsi UNIX e Windows avranno diversa: (separatore Unix); (Windows Separator)
- -classpath. ; E: /solr-5.5.1/server/solr-webapp/webapp/WEB-INF/lib/ ; E: /solr-5.5.1/server/lib/ext/
- -zkhost 192.168.42.13 : 2787 (host remoto e la porta dove Solr Zookeeper è in esecuzione)
- -confdir e: (. directory locale quello che abbiamo bisogno di caricare)/New_Solor_Conf
- -confname Solor_conf nome istanza remota.
Se non utilizzerà corretto percorso di classe si otterrà errore come:
Error: Could not find or load main class org.apache.solr.cloud.ZkCLI
o
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFacto
ry
at org.apache.solr.common.cloud.SolrZkClient.<clinit>(SolrZkClient.java:
71)
at org.apache.solr.cloud.ZkCLI.main(ZkCLI.java:183)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
Sono in grado di caricare le mie modifiche di configurazione locali senza accedere fisicamente alla casella Solr remota. Spero che funzionerà anche per gli altri.
La risposta contrassegnata come corretta è errata. È necessario utilizzare Solr Collection API
Le API di raccolta Solr sono indicate per SolrCloud e la ricarica della configurazione verrà distribuita nell'intero cluster. Per quanto ne so, l'API Solr Collection è disponibile almeno da Solr 4.8.
La procedura è leggermente diversa e con queste API è possibile ricaricare la configurazione sull'intero cluster con una sola chiamata API.
Basta caricare la configurazione aggiornata con l'utilità Solr zkcli.sh
. Prestare attenzione a non confondere Solr zkcli.sh
con Zookeeper zkCli.sh
hanno lo stesso nome ma scopo completamente diverso. Quindi, come detto uso Solr zkcli.sh
:
./zkcli.sh -cmd upconfig -zkhost 127.0.0.1:2181 -collection collection1 -confname myconf -confdir path/to/solr/collection1/conf
Poi è possibile ricaricare la configurazione con:
http://server1:8983/solr/admin/collections?action=RELOAD&name=collection1
L'intero cluster verrà aggiornato.
E qual è la differenza rispetto alla risposta accettata da Global Warrior? –
@JackMiller La domanda è correlata a SolrCloud (probabilmente un cluster).Dato che il termine 'core' è usato per riferirsi a un singolo indice su un'istanza Solr e, d'altra parte, un' collection' è un indice logico completo in un cluster SolrCloud. Usando [Solr Collection API] (https://cwiki.apache.org/confluence/display/solr/Collections+API) la ricarica della configurazione verrà diffusa attraverso l'intero cluster e non solo nell'istanza corrente. Pertanto, utilizza sempre l'API di raccolta, indipendentemente dall'ampiezza dell'architettura Solr (ad esempio con più frammenti e/o repliche). – freedev
Ok, finalmente lo trovo: Deve essere * collections * nell'URL invece di * core *. Sì, questa è una differenza importante ma potresti chiarire meglio dove è la differenza effettiva nella tua risposta. La prima parte * zkcli ... upconfig * è completamente identica. –
Questo ha funzionato per me:
bin/solr zk -upconfig -n collectionName -d pathto/Conf_directory -z localhost:2181/solr
Con isolr zk upconfig' ricaricare i core sembra non essere necessario. Non riesco a trovare alcuna documentazione su di esso però. –
- 1. Utilizzo di schema.xml anziché schema gestito con Solr 5.1.X
- 2. Il solr ha API per leggere solr schema.xml?
- 3. solr + haystack + django dove posiziono schema.xml?
- 4. Solr, come definire i documenti nidificati nello schema.xml
- 5. Elimina/rimuovi la configurazione di Solr da ZooKeeper usando zkcli?
- 6. Modifica Schema.xml nella configurazione di SolrCloud
- 7. L'approccio migliore per specificare gli host ZooKeeper sui client Solr?
- 8. Integrazione Apache Nutch e Solr
- 9. zookeeper non di partenza
- 10. Solr non riesce a trovare risorse stopwords_en.txt
- 11. SolrException Plugin init fallimento per [schema.xml] fieldType "pint": Errore di caricamento delle classi 'solr.IntField'
- 12. SolrCloud ZooKeeper Aggiornamenti di configurazione
- 13. Impossibile trovare il file schema.xml in solr 6.0, quindi per configurarlo, dovrei aggiungere un nuovo file, o accadrà automaticamente?
- 14. Supervisiona ZooKeeper con Supervisord
- 15. Come posso memorizzare le impostazioni elasticsearch + mappature in un file (come schema.xml per Solr)
- 16. Configura DataImportHandler in SolrCloud con ZooKeeper
- 17. Ricaricamento di un ViewController
- 18. Conf. Webpack (file statici)
- 19. Crea vhost conf
- 20. FAILED WRITE PID per l'installazione di Zookeeper
- 21. Ricaricamento di un'immagine nel wpf
- 22. Ricerca SOLR maiuscole/minuscole
- 23. Cerca parole parziali usando Solr
- 24. Solr query/field analyzer
- 25. ZooKeeper - aggiunta di peer dinamicamente?
- 26. Configurare Apache .conf per Alias
- 27. Ricaricamento parziali Manubri
- 28. Errore durante l'indicizzazione nei dati solr scansionati dal nutch
- 29. Zookeeper - tre nodi e nient'altro che errori
- 30. alternativa ZooKeeper per .net
Hai '-confdir ../ solr/collection1/conf' due volte. – zengr
@zengr: risolto :) –
È tutto? Non è necessario ricaricare i nodi o la raccolta? Non appena viene caricato, è in uso attraverso la raccolta? – johnnyboy