Установка Liferay с Solr: недоступна консоль администратора + исключения при запуске - PullRequest
0 голосов
/ 04 августа 2010

Я пытаюсь установить Solr 1.4.1 с Liferay 5.5-5.2.3, работающим с Tomcat; моя система RHEL5.

Ниже я объясню ошибки, с которыми я встречаюсь; затем я даю подробности моей установки solr.

Когда я запускаю Tomcat, у меня есть следующие исключения:

INFO: Solr home set to '/opt/apache-solr-1.4.1/example/solr/'
Aug 4, 2010 10:44:26 AM org.apache.solr.common.SolrException log
SEVERE:
javax.xml.transform.TransformerException: Unknown error in XPath.
        at org.apache.xpath.XPath.execute(XPath.java:363)
        at org.apache.xpath.jaxp.XPathImpl.eval(XPathImpl.java:213)
        at org.apache.xpath.jaxp.XPathImpl.evaluate(XPathImpl.java:275)
        at org.apache.solr.core.CoreContainer.readProperties(CoreContainer.java:303)
        at org.apache.solr.core.CoreContainer.load(CoreContainer.java:242)
        at org.apache.solr.core.CoreContainer$Initializer.initialize(CoreContainer.java:117)
        at org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:83)
        at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:221)
        at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:302)
        at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:78)
        at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3635)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4222)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
        at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:927)
        at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:890)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1150)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
        at org.apache.catalina.core.StandardService.start(StandardService.java:448)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:592)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
Caused by: java.lang.NullPointerException
        at org.apache.xpath.axes.ChildTestIterator.setRoot(ChildTestIterator.java:125)
        at org.apache.xpath.axes.NodeSequence.setRoot(NodeSequence.java:213)
        at org.apache.xpath.axes.LocPathIterator.execute(LocPathIterator.java:210)
        at org.apache.xpath.XPath.execute(XPath.java:335)
        ... 33 more
--------------- linked to ------------------
javax.xml.xpath.XPathExpressionException: javax.xml.transform.TransformerException: Unknown error in XPath.
        at org.apache.xpath.jaxp.XPathImpl.evaluate(XPathImpl.java:289)
        at org.apache.solr.core.CoreContainer.readProperties(CoreContainer.java:303)
        at org.apache.solr.core.CoreContainer.load(CoreContainer.java:242)
        at org.apache.solr.core.CoreContainer$Initializer.initialize(CoreContainer.java:117)
        at org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:83)
        at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:221)
        at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:302)
        at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:78)
        at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3635)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4222)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
        at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:927)
        at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:890)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1150)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
        at org.apache.catalina.core.StandardService.start(StandardService.java:448)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:592)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
Caused by: javax.xml.transform.TransformerException: Unknown error in XPath.
        at org.apache.xpath.XPath.execute(XPath.java:363)
        at org.apache.xpath.jaxp.XPathImpl.eval(XPathImpl.java:213)
        at org.apache.xpath.jaxp.XPathImpl.evaluate(XPathImpl.java:275)
        ... 31 more
Caused by: java.lang.NullPointerException
        at org.apache.xpath.axes.ChildTestIterator.setRoot(ChildTestIterator.java:125)
        at org.apache.xpath.axes.NodeSequence.setRoot(NodeSequence.java:213)
        at org.apache.xpath.axes.LocPathIterator.execute(LocPathIterator.java:210)
        at org.apache.xpath.XPath.execute(XPath.java:335)
        ... 33 more

Aug 4, 2010 10:44:26 AM org.apache.solr.servlet.SolrDispatchFilter init
INFO: user.dir=/opt/apache-solr-1.4.1

После запуска Tomcat я пытаюсь получить доступ к solr в навигаторе: http://MyIpAddress/solr/.

У меня есть "Добро пожаловать в Солр!" страница, которая в порядке. Но когда я нажимаю на ссылку «Solr Admin», я получаю сообщение об ошибке «HTTP Status 404 - отсутствует имя ядра в пути».

Я добавляю, что у меня такое же поведение, если я запускаю solr отдельно с помощью start.jar (я получаю то же исключение и ту же ошибку при попытке доступа к консоли).

Теперь вот шаги, которые я выполнил в своей установке:

  • Я скачал solr 1.4.1 ,, и распаковал файл в /opt.
  • Я скопировал файл /opt/apache-solr-1.4.1/dist/apache-solr-1.4.1.war в /opt/apache-solr-1.4.1/example/solr
  • Я создал файл с именем solr.xml, содержимое которого приведено ниже, и поместил его в две папки: conf / Catalina / localhost от Tomcat и в /opt/apache-solr-1.4.1/example/solr:

Контекст docBase = "/ Opt / апаш-Solr-1.4.1 / Пример / Solr / апаш-Solr-1.4.1.war" debug = "0" crossContext = "true"

Environment name = "solr / home" тип = "java.lang.String" value = "/ opt / apache-solr-1.4.1 / example / solr" override = "true"

  • В файле bin / setenv.sh от Tomcat я добавил строку:

JAVA_OPTS == "$ JAVA_OPTS -Dsolr.solr.home = SOLR_HOME / example / solr"

  • В файле /opt/apache-solr-1.4.1/example/solr/conf/solrconfig.xml я явно устанавливаю каталог индекса в теге dataDir:

$ {solr.data.dir: /opt/apache-solr-1.4.1/example/solr/data}

Затем я запустил Tomcat.

Спасибо за любой совет, что не так с моей конфигурацией.

* * Сильвен тысяча сорок-девять

1 Ответ

0 голосов
/ 26 августа 2010

Похоже, файл solr.xml не содержит правильных настроек. Вам следует использовать настройки в папке Catalina, но вы должны создать еще один в домашнем каталоге solr.

Это выглядит так (если вы хотите использовать ядра):

<solr persistent="false" sharedLib="./lib">
  <cores adminPath="/admin/cores">
    <core name="standards" instanceDir="standards" />
  </cores>
</solr>
...