2012-09-04 8 views
7

Tengo un SolrCloud configurado así: exploration of SolrCloud, la diferencia es que uso Solr 4.0.0 Beta. Poco la configuración:Configurar DataImportHandler en SolrCloud con ZooKeeper

  • ZooKeeper en el puerto predeterminado 2181
  • 3 casos de Solr que se ejecutan en diferentes puertos

Esto es sólo para el propósito de prueba. La configuración deseada es con 3 instancias de ZooKeeper (una para cada instancia de Solr). Me las arreglo para indexar algunos archivos XML con el comando curl.

Preguntas:

  1. ¿Cómo puedo configurar DIH/colección? Logré cambiar el archivo solrconfig.xml (config para dataimport-handler), agregué en lib el controlador apropiado para la conexión de base de datos, pero en el administrador de Solr recibí "lo siento, no se definió el manejador de datos". Los cambios se pueden ver en zookeeper (veo el data_config.xml) y en el panel de administración de Solr puedo ver la versión actualizada de solrconfig.xml.

  2. ¿Algún buen tutorial para un despliegue de producción de solrcloud (con algo así como la configuración deseada mencionada anteriormente) en una o varias máquinas para Ubuntu 12.04 LTS?

¡Cualquier consejo sería apreciado! ¡Gracias por adelantado!

Respuesta

4

Normalmente, la configuración de DIH no tiene nada que ver con el hecho de que esté utilizando una única instancia de Solr o varias instancias en una configuración de solrCloud. DIH escribirá datos en el índice Lucene de la instancia actual, y luego depende de zooKeeper repasarlo en las otras instancias.

Asegúrese de que el DIH se configura propertly:

En solrconfig.xml, todas las bibliotecas necesarias están cargados. Esto significa que los dos frascos DIH:

<lib dir="../../../dist/" regex="solr-dataimporthandler-4.3.0.jar" /> 
<lib dir="../../../dist/" regex="solr-dataimporthandler-extras-4.3.0.jar" /> 

, así como otros tarros de que pueda necesitar (como la base de datos del controlador JDBC, etc).

Todavía en solrconfig.xml asegúrese de que el controlador de DIH se declara, algo como esto:

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> 
    <lst name="defaults"> 
     <str name="config">data-config.xml</str> 
    </lst> 
</requestHandler> 

Por último, el archivo de configuración que declaró en el controlador DIH (datos-config.xml) debe estar en el mismo directorio "conf" como solrconfig.xml y debe tener el contenido adecuado, algo así como:

<dataConfig> 

<dataSource type="JdbcDataSource" name="myDataSource" driver="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@someHost:1521:someDb" user="someUser" password="somePassword" batchSize="5000"/> 

<document name="myDoc" > 
    <entity name="myDoc" dataSource="myDatasource" transformer="my.custom.Transformer" query="select col1, col2, col3 from table1 where whatever" /> 
</document> 

</dataConfig> 
+1

Sí, esto también funciona para mí. Utilicé Solr durante años, pero independiente siempre lo corté para mí. ahora que no, la nube de solr es nueva para mí. Me resultó difícil entender el puente para saber que la configuración está almacenada en la estructura de archivos del zookeeper. –

Cuestiones relacionadas