首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Tomcat中本地运行Solr4?

如何在Tomcat中本地运行Solr4?
EN

Stack Overflow用户
提问于 2013-06-10 11:11:28
回答 6查看 19.2K关注 0票数 15

我一直试图在我的家用PC (Tomcat7)上设置Solr 4.3,但它不能运行。我已经设置了Tomcat并部署了solr.war文件,该文件可以解压并显示在Tomcat的Tomcat Web Apps Manager屏幕上,但它没有运行,单击start按钮也不会做任何事情(因为它一开始就应该已经运行了)。

下面是我在Tomcat中的solr.xml上下文文件,它还提供了solr.war文件的路径以及我的solr核心所在的位置(这是默认的Collection1):

代码语言:javascript
复制
<Context path="/solr" docBase="C:/LocalApps/Tomcat/apache-tomcat-7.0.40/webapps/solr.war" debug="0" crossContext="true">
<Environment name="solr/home" type="java.lang.String" value="C:/LocalApps/Solr/solr-4.3.0/example/solr/" override="true"/>
</Context>

这是tomcat中的错误日志:

代码语言:javascript
复制
INFO: Starting Servlet Engine: Apache Tomcat/7.0.40
Jun 09, 2013 11:04:07 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor C:\LocalApps\Tomcat\apache-tomcat-7.0.40\conf\Catalina\localhost\solr.xml
Jun 09, 2013 11:04:07 PM org.apache.catalina.startup.HostConfig deployDescriptor
WARNING: A docBase C:\LocalApps\Tomcat\apache-tomcat-7.0.40\webapps\solr.war inside the host appBase has been specified, and will be ignored
Jun 09, 2013 11:04:07 PM org.apache.catalina.startup.SetContextPropertiesRule begin
WARNING: [SetContextPropertiesRule]{Context} Setting property 'debug' to '0' did not find a matching property.
Jun 09, 2013 11:04:09 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Error filterStart
Jun 09, 2013 11:04:09 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/solr] startup failed due to previous errors
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-06-10 16:09:10

您需要按照here的说明安装用于日志记录的jars。

只需将所有提到的文件复制到tomcat/lib目录中。然后重启Tomcat。

  1. 将jars从solr/example/lib/ext复制到容器的主lib目录中。这些jars将设置SLF4Jlog4j。这个lib目录的具体位置是高度可变的。对于使用操作系统供应商提供的Tomcat包的Debian或Ubuntu服务器,这可能是从solr/example/resources/log4j.properties将日志配置/usr/share/tomcat6/lib/usr/share/tomcat7/lib.
  2. Copy到classpath上的某个位置。通常,您可以使用与上述jar文件相同的位置。编辑首选日志destination.
  3. Optionally,的配置文件如果没有将java option -Dlog4j.configuration=file:///path/to/log4j.properties

放在类路径上,请设置log4j.properties

票数 26
EN

Stack Overflow用户

发布于 2013-11-24 03:56:10

  1. 下载最新的solr-4.x.zip文件。
  2. 将压缩文件解压到类似C:\solr setup的位置。应安装
  3. Apache Tomcat (版本大于5)和Java6或更高版本。将solr-4.x.war文件从“C:\solr setup\solr-4.3.0\dist”复制到“Apache Tomcat”webapps文件夹中,最有可能的位置是C:\Program Files\Apache...\Tomcat...\webapps\,并将复制的war文件重命名为某个有意义的名称,如solrTest.Start Tomcat。如果已经在运行,则重新启动Tomcat。将创建与war文件(solrTest)同名的新文件夹。
  4. 停止Tomcat。将C:\solr setup\solr-4.x\example\solr中的bin和collection1文件夹复制到C:\Program Files\Apache ...\Tomcat...\webapps\solrTest.
  5. Copy。Solr4.x将使用C:\Program Files\Apache...\Tomcat...\conf\Catalina\localhost\中与war文件(solrTest.xml)同名的logging.
  6. Create xml文件的jars,内容如下。Tomcat查找此xml文件以获取application.
  7. Update C:\Program Files\Apache...\Tomcat...\webapps\solrTest\collection1\conf\schema.xml的开始,并添加必需字段并进行更新。Tomcat
  8. 如果不需要,则删除复制字段。在同一文件中提供了复制字段的用法。
  9. 更新C:\Program Files\Apache...\Tomcat...\webapps\solrTest\collection1\conf\solrconfig.xml.更新${solr.data.dir:C:/Indexes/solrTest Index/}标记中的物理索引路径。如果它将被注释,那么默认情况下将使用C:\Program Files\Apache...\Tomcat...\webapps\solrTest\collection1\data\目录。DataDir标签在文件中可用。无需添加您自己的复制条目。
  10. 更新复制条目以在复制请求处理程序中设置主或从。
  11. 尝试访问“...本地主机:端口号/solrTest”。如果没有出现错误,则表示您已成功配置SOLR 4.x。
票数 5
EN

Stack Overflow用户

发布于 2013-12-22 22:03:24

在Tomcat上开始使用Solr的最简单方法是使用HDS (Heliosearch for Solr),这是一个Tomcat/Solr distribution

它是Apache Solr的超集,包含一个额外的“服务器”目录,该目录是预先配置的(线程、日志记录、连接设置、消息大小等)基于Tomcat的Solr服务器。

其他一些实施说明:

  • 启动脚本可以从任何地方运行,并允许在命令行上传递JVM参数(就像jetty一样,因此它更易于使用)
  • 启动脚本解决已知的JVM错误
  • 启动脚本允许从命令行设置端口,以及基于http端口的默认停止端口,以便于在单个计算机上运行多个服务器)
  • zkcli,solr zookeeper工具的启动脚本,将在必要时自动分解WAR

<代码>H110“服务器”目录一直保持干净,但填充了“服务器/tc”目录下的所有tomcat <代码>H211<代码>F212

要开始:

代码语言:javascript
复制
$ cd server
$ bin/startup.sh

要在其他端口(例如7574)上启动,请执行以下操作:

代码语言:javascript
复制
$ cd server
$ bin/startup.sh -Dhttp.port=7574

要关闭,请执行以下操作:

代码语言:javascript
复制
$ cd server
$ bin/shutdown.sh -Dhttp.port=7574

这些脚本甚至接受-Djetty.port=7574,使得使用jetty从开始示例中剪切粘贴变得更容易。"example“目录仍然存在,所以如果你愿意,你仍然可以运行基于jetty的服务器。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17016412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档