如何从用户创建的Windows服务启动和停止SOLR

时间:2011-08-25 10:30:16

标签: service solr

我有两个bat文件start.bat和stop.bat用于手动启动和停止SOLR服务器, 我是否可以创建一个windows serive,它将在启动服务时调用start.bat并在停止sERVICE时调用stop.bat

2 个答案:

答案 0 :(得分:2)

考虑使用Tomcat的Solr多核功能。每个核心都像一个完全成熟的安装,“单独的配置和索引,具有自己的配置和架构,适用于非常不同的应用程序,但仍然具有统一管理的便利”http://wiki.apache.org/solr/CoreAdmin

即使你不使用多个索引,设置起来也要优雅得多。如果以这种方式设置Tomcat,则Solr在启动时可用。我假设您使用的是Solr 1.4。

您需要执行以下步骤:

设置solr根目录

概述

c:\solr 
 |-lib
 |-solr.war
 |-solr.xml
  1. 创建c:\ solr
  2. 从Solr包目录中,将lib目录复制到根目录。
  3. 来自Solr包目录的\ example \ webapps,复制solr.war
  4. solr.xml具有以下内容

    <?xml version="1.0" encoding="UTF-8" ?>
    <solr persistent="false" sharedLib="lib">
      <cores adminPath="/admin/cores">
    
        <core name="myindex" instanceDir="myindexdir" />
    
      </cores>
    </solr>
    
  5. 核心参数指定新核心。这些属性指定用于提供http // localhost:8080 / mysearchapp / myindex ,索引目录为 myindexdir ,这将我们带到下一步。

    创建实际核心

    概述

    c:\solr 
     |-lib
     |-solr.war
     |-solr.xml
     |-myindexdir
       |-bin
       |-conf
       |-data
    
    1. 复制 conf 目录,您已完成配置 myindexdir 。不要打扰创建bin和数据,它将自动创建。
    2. 设置tomcat

      1. 安装Tomcat,运行一次(不要跳过此步骤)并打开http://localhost:8080以查看是否已成功安装
      2. 当然,请使用services.msc
      3. 将其设置为启动时启动
      4. 打开此目录 Apache Software Foundation \ Tomcat 6.0 \ conf \ Catalina \ localhost
      5. 创建文件 mysearchapp.xml

        Context docBase="c:\solr\solr.war" debug="0" crossContext="true" >
           <Environment name="solr/home" type="java.lang.String" value="c:\solr\" override="true" />
        </Context>
        
      6. 重启tomcat并打开http://localhost:8080/mysearchapp/ 如果一切顺利,它将显示

        Welcome to Solr!
        Solr Admin myindex
        
      7. 现在就像http://localhost:8080/mysearchapp/myindex/select?q=MY-QUERY

        那样对您的核心进行操作

答案 1 :(得分:0)

Solr运行在像Tomcat这样的Servlet容器之上。因此,要启动Solr,您必须使用Servlet容器配置Solr,然后启动。

是的,您当然可以创建Windows服务。但是,您没有提到您使用哪个Servlet容器来运行Solr?

如果是Apache Tomcat,请转到:

1. Just go to tomcat/bin folder from command prompt
2. Say service.bat install
3. You can see the service being listed in the Microsoft Services
Application
4. Right click on the service and add solr home (in Start
parameters). For an example if your Solr home is in D drive then:
-Dsolr.solr.home="D:\solr"
5.You are done. Just right click on the service, start it or even you can set 
it to start automatically when your system starts.