Настройка DataImportHandler в SolrCloud с помощью ZooKeeper

У меня есть SolrCloud настроен следующим образом:исследование SolrCloud, разница в том, что я использую Solr 4.0.0 Beta. Вкратце конфигурация:

  • ZooKeeper на порту по умолчанию 2181
  • 3 экземпляра Solr, работающих на разных портах

Это только для тестовых целей. Требуемая конфигурация имеет 3 экземпляра ZooKeeper (по одному для каждого экземпляра Solr). Мне удается индексировать некоторые XML-файлы с помощью curl команда.

вопросы:

  1. Как настроить DIH / collection? Мне удалось изменить solrconfig.xml (config for dataimport-handler), добавьте в lib правильный драйвер для подключения к БД, но в Solr admin я получаю "извините, не определен обработчик dataimport!"Изменения можно наблюдать в zookeeper (я вижу data_config.xml) и в панели администратора solr я вижу обновленную версию solrconfig.XML.

  2. любой хороший учебник для производство развернуть в solrcloud (с somthink как нужные конфигурации упоминал выше) на один или несколько машины для Ubuntu 12.04 ЛТС?

любой совет был бы оценен! Заранее спасибо!

1 ответов


обычно dih config не имеет ничего общего с тем, используете ли вы один экземпляр Solr или несколько экземпляров в конфигурации solrCloud. DIH будет записывать данные в индекс Lucene текущего экземпляра, а затем zooKeeper должен перечитывать его в других экземплярах.

убедитесь, что ваш DIH правильно настроен:

в solrconfig.xml, загружаются все необходимые библиотеки. Это означает, что два DIH банки:

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

как и другие банки вы можете нужно (например, драйвер базы данных JDBC и т. д.).

все еще в solrconfig.xml убедитесь, что обработчик DIH объявлен, что-то вроде этого:

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

наконец, файл конфигурации, который вы объявили в обработчике DIH (data-config.xml) должен быть в том же каталоге" conf", что и solrconfig.xml и должен иметь правильный контент, что-то вроде:

<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>