Ошибка планировщика импорта данных Solr
У меня возникли проблемы при получении solr dataimportscheduler для работы. У меня есть последний файл JAR, который упаковывает все необходимые файлы классов. Я получаю ошибку ниже при попытке запустить Tomcat.
Jun 21, 2012 11:36:06 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class org.apache.solr.handler.dataimport.scheduler.ApplicationListener
java.lang.ClassNotFoundException: org.apache.solr.handler.dataimport.scheduler.ApplicationListener
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1701)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:525)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:507)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:124)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4715)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5273)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:895)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1095)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1617)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Jun 21, 2012 11:36:06 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Skipped installing application listeners due to previous error(s)
Я предполагаю, что когда они говорят: "Не забудьте добавить следующее объявление слушателя в web.xml Solr:
<listener>
<listener-class>org.apache.solr.handler.dataimport.scheduler.ApplicationListener</listener-class>
</listener>
Это означает, что добавьте строки ниже в webcat.xml Tomcat
<listener>
<listener-class>org.apache.solr.handler.dataimport.scheduler.ApplicationListener</listener-class>
</listener>
Любая помощь будет высоко ценится.
Спасибо
ОБНОВИТЬ:
Я обновил solr web.xml, и теперь tomcat запускается без ошибок, но когда запускается запланированная задача, он закрывает мой индекс. У меня более одного ядра solr... и я поместил dataimport.properties в корневую папку и по одному для каждого ядра. Так выглядит мой файл свойств в корневом каталоге.
#################################################
# #
# dataimport scheduler properties #
# #
#################################################
syncEnabled=1
syncCores=Internal.Locations #(Locations is a folder inside Internal)
server=localhost
port=8080
webapp=solr
params=/select?qt=/dataimport&command=delta-import&clean=false&commit=true
interval=10
1 ответ
Ядра, перечисленные в файле свойств, существуют просто для того, чтобы планировщик мог собрать URL, который вызывает импорт данных.
Это именно то, что вам нужно поместить в файл свойств, имена ядер, разделенные запятыми, так как они перечислены в URL, когда вы запускаете DIH вручную из браузера.
Вы, конечно, знаете, что ядра настроены в solr/solr.xml
,
Кстати, вы должны увидеть в консоли Tomcat (или в файле журнала) эту строку:
<index update process> Multiple cores identified in dataimport.properties. Sync active for: list-of-your-cores