使用 Solr 安装 liferay:无法访问管理控制台 +启动时的例外情况

发布于 2024-09-13 07:59:40 字数 8468 浏览 2 评论 0原文

我尝试安装 solr 1.4.1 和与 Tomcat 一起运行的 Liferay 5.5-5.2.3;我的系统是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!”页面,这样就可以了。但是,当我单击“Solr Admin”链接时,收到错误消息“HTTP 状态 404 - 路径中缺少核心名称”。

我补充说,如果我使用 start.jar 单独启动 solr,我会得到相同的行为(我会得到相同的异常,然后当我尝试访问控制台时会出现相同的错误)。

现在,以下是我在安装中遵循的步骤:

  • 我下载了 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 的文件,包含以下内容,我将其放入两个文件夹中:Tomcat 中的conf/Catalina/localhost 和 /opt/apache-solr-1.4.1/example/solr 中:

上下文 docBase="/opt/apache-solr-1.4.1/example/solr/apache-solr-1.4.1.war" 调试=“0”crossContext=“true”

环境名称=“solr/home” 类型=“java.lang.String” value="/opt/apache-solr-1.4.1/example/solr" override="true"

  • 在 Tomcat 的 bin/setenv.sh 文件中,我添加了以下行:

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。

感谢您对我的配置有问题的任何建议。

西尔万

I try to install solr 1.4.1 with Liferay 5.5-5.2.3 running with Tomcat; my system is RHEL5.

Below I explain the errors I meet; then I give the details of my solr install.

When I start Tomcat, I have the following exceptions :

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

Once Tomcat has started, I try to access solr in a navigator : http://MyIpAddress/solr/ .

I have the "Welcome to Solr!" page, which is OK. But when I click on the "Solr Admin" link, I getthe error message "HTTP Status 404 - missing core name in path".

I add that I get the same behaviour if I launch solr separately with start.jar (I get the same exception, and then the same error when I try to access the console).

Now, here are the steps I followed in my install :

  • I downloaded solr 1.4.1,, and unzipped the file under /opt.
  • I copied the file /opt/apache-solr-1.4.1/dist/apache-solr-1.4.1.war under /opt/apache-solr-1.4.1/example/solr
  • I created a file called solr.xml, with the content below, and I put it in two folders : conf/Catalina/localhost from Tomcat, and in /opt/apache-solr-1.4.1/example/solr :

Context
docBase="/opt/apache-solr-1.4.1/example/solr/apache-solr-1.4.1.war"
debug="0" crossContext="true"

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

  • In the file bin/setenv.sh from Tomcat, I added the line :

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

  • In the file /opt/apache-solr-1.4.1/example/solr/conf/solrconfig.xml, I explicitly set the index directory in the dataDir tag :

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

Then I launched Tomcat.

Thank you for any advice on what is wrong with my configuration.

Sylvain

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

鸩远一方 2024-09-20 07:59:40

solr.xml 文件似乎不包含正确的设置。您应该使用 Catalina 文件夹中的设置,但应该在 solr 主目录中创建另一个设置。

它看起来像这样(如果你想使用核心):

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

It looks like the solr.xml file does not contain the correct settings. You should use the the settings in the Catalina folder, but you should create another one in the solr home directory.

It looks like this (if you want to use cores):

<solr persistent="false" sharedLib="./lib">
  <cores adminPath="/admin/cores">
    <core name="standards" instanceDir="standards" />
  </cores>
</solr>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文