首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tomcat SOLR多核设置

Tomcat SOLR多核设置
EN

Stack Overflow用户
提问于 2010-04-26 22:02:12
回答 2查看 19.9K关注 0票数 13

我花了整个上午的时间,试图在运行在Apache Tomcat服务器上的SOLR安装上设置多个内核,但没有成功。我的solr.xml看起来像这样:

代码语言:javascript
复制
<solr persistent="false" sharedLib="lib">
  <cores adminPath="/admin/cores">
    <core name="core0" instanceDir="/multicore/core0">   
        <property name="dataDir" value="/multicore/core0/data" />
    </core>
    <core name="core1" instanceDir="/multicore/core1">
        <property name="dataDir" value="/multicore/core1/data" />
    </core>
  </cores>
</solr>

正确的目录结构是什么?我需要在solrconfig.xml中做一些改变吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-26 22:14:38

检查您的instanceDir值是否与-Dsolr.solr.home相关。如果-Dsolr.solr.home是“多核”,那么您的instanceDir应该只是"core0“。

如果您将数据文件夹放在instanceDir中,则不必指定其路径:

代码语言:javascript
复制
<?xml version='1.0' encoding='UTF-8'?>
<solr persistent="true">
<cores adminPath="/admin/cores">
    <core name="core0" instanceDir="core0" />
    <core name="core1" instanceDir="core1" />
</cores>
</solr>

您应该不必在solrconfig.xml中设置任何内容。但是,如果您需要配置独立于核心位置的处理程序,则可以使用变量${solr.core.instanceDir}。

更新

要使用Tomcat设置solr.solr.home变量,请在启动Tomcat之前使用JAVA_OPTS环境变量:

代码语言:javascript
复制
JAVA_OPTS="-Dsolr.solr.home=multicore"
export JAVA_OPTS
tomcat/bin/catalina.sh start

确保相对于工作目录正确设置了“多核”。根据示例,如果solr.solr.home='multicore',则必须从"multicore“所在的目录启动Tomcat。

票数 10
EN

Stack Overflow用户

发布于 2011-04-04 21:14:07

这有点太晚了,但我刚刚在instructions for a multicore SOLR instance on Tomcat上发布了一篇博文,内容是:

  1. 为 Tomcat 下载并安装了 32 位/64 位 Windows 服务安装程序
  2. 在服务器上安装了 Tomcat(这里没有特殊说明——只要运行安装并安装在任何你想要的地方)
  3. 通过访问 http://localhost:8080 验证 Tomcat 的安装
  4. 编辑 Tomcat 的 conf/server.xml 并将 URIEncoding="UTF-8" 添加到 <Connector> 元素,如下所示
  5. 从此处找到的镜像之一下载 SOLR(下载 apache-solr-1.4.1.zip 包)并解压缩包
  6. 创建一个将托管 SOLR 的目录(在我的例子中,我使用了 e:\inetpub\solr)
  7. 将 example\solr 目录的内容复制到您的 SOLR 主机目录(在我的情况下为 e:\inetpub\solr)
  8. 在您的 SOLR 主机目录下为您希望创建的每个内核创建目录(我为每个要在 e:\inetpub\solr 目录中创建的内核创建了十几个文件夹。这些目录包括 en-US、en- CA、en-GB 等)
  9. 从 example\multicore 目录复制 solr.xml 文件并将其粘贴到您的 SOLR 主机目录(我的示例为 e:\inetpub\solr)
  10. 编辑 solr.xml 文件以包含您创建的每个核心的信息(如果您在主机下为名为 en-US 的核心创建了一个文件夹,则在 solr.xml 文件的 <cores> 元素下添加以下内容: <core name="en-US" instanceDir="en-US" />)
  11. 停止 Tomcat 服务
  12. 将解压后的 SOLR 包中 dist 目录下的 *solr*.war 文件复制到你的 Tomcat webapps 文件夹中
  13. 将 *solr*.war 文件重命名为 solr.wa
  14. 在 Windows 任务栏右侧的通知区域中,右键单击 Apache Tomcat 7 图标并选择配置
  15. 单击 Java 选项卡并将以下内容添加到 Java 选项文本框中:-Dsolr.solr.home=e:\inetpub\solr(将 e:\inetpub\solr 更改为托管 SOLR 的位置)
  16. 在对话框中单击确定,然后启动 Tomcat 服务
  17. 打开您创建的每个内核下的 conf\solrconfig.xml 文件,并将 dataDir 元素更改为指向特定目录。如果此步骤未完成,您的所有核心都将使用相同的数据存储来存储它们的数据。
  18. 停止并重新启动 Tomcat 服务
  19. 通过从 Web 浏览器 http://localhost:8080/solr/en-US/select?q=*:* 运行查询来测试您的核心是否正在运行(将“en-US”替换为您命名的任何内容之一你的核心)
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2714046

复制
相关文章

相似问题

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