Настройка DataImportHandler в SolrCloud с помощью ZooKeeper
У меня есть SolrCloud настроен следующим образом:исследование SolrCloud, разница в том, что я использую Solr 4.0.0 Beta. Вкратце конфигурация:
- ZooKeeper на порту по умолчанию
2181
- 3 экземпляра Solr, работающих на разных портах
Это только для тестовых целей. Требуемая конфигурация имеет 3 экземпляра ZooKeeper (по одному для каждого экземпляра Solr). Мне удается индексировать некоторые XML-файлы с помощью curl команда.
вопросы:
Как настроить DIH / collection? Мне удалось изменить solrconfig.xml (config for dataimport-handler), добавьте в lib правильный драйвер для подключения к БД, но в Solr admin я получаю "извините, не определен обработчик dataimport!"Изменения можно наблюдать в zookeeper (я вижу data_config.xml) и в панели администратора solr я вижу обновленную версию solrconfig.XML.
любой хороший учебник для производство развернуть в 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>