如何升级/更新Solr Jetty ubuntu包?

如何升级/更新Solr Jetty ubuntu包?,ubuntu,solr,jetty,Ubuntu,Solr,Jetty,我在我的前端webapp中使用Solr,为了在ubuntu10.04中安装它,我做了一个简单的apt-get-Solr-jetty,一切都很好 现在的问题是,我需要Solr的一些新特性,这些特性存在于Solr的最新版本中,但是ubuntu包中的Solr版本仍然是1.4 我的问题是如何将Solr版本升级到最新版本?有人能给我一些建议吗?我该怎么做 编辑:或者可能是如何使用Jetty干净地安装Solr 编辑:最后,在我的VPS中已经安装了Jetty的情况下安装Solr并不困难。如果有人觉得它很有用,

我在我的前端webapp中使用Solr,为了在ubuntu10.04中安装它,我做了一个简单的apt-get-Solr-jetty,一切都很好

现在的问题是,我需要Solr的一些新特性,这些特性存在于Solr的最新版本中,但是ubuntu包中的Solr版本仍然是1.4

我的问题是如何将Solr版本升级到最新版本?有人能给我一些建议吗?我该怎么做

编辑:或者可能是如何使用Jetty干净地安装Solr

编辑:最后,在我的VPS中已经安装了Jetty的情况下安装Solr并不困难。如果有人觉得它很有用,我遵循以下步骤:

  • 将solr.war文件放在jetty的webapps文件夹的Dist文件夹中
  • 将示例/solr文件夹作为solr主文件夹放在我的计算机中的/var/share/solr文件夹中
  • 将solrconfig.xml和schema.xml编辑到我的需要中
  • 最后,为了让Jetty知道Solr Home Dir在哪里,我将Jetty文件编辑到/etc/default目录中,方法是取消对JAVA_OPTIONS var的注释,并将其添加到以下选项中: JAVA_OPTIONS=“-Dsolr.solr.home=/var/share/solr$JAVA_OPTIONS”
  • 就这样。我不确定最后一步是否是最好的方法,但由于Solr正在工作,应该是正确的方法(Solr文档中提到了一些关于JNDI查找的内容,但我没有找到它)

    干杯


    更新:在digitalocean中玩一台小型ubuntu机器,我发现了一篇非常有用的文章,介绍了如何在ubuntu中安装最新的solr版本。免责声明:我没有工作或与digitalocean有任何关系

    最简单的方法是:在launchpad(维护debian包的人)提交合并请求

    或者获取源代码,更新它并构建自己的包

    sudo apt-get build-dep solr
    apt-get source solr
    cd solr-*/
    
    查看debian/下的文件,查看其是否包含上游源URL; 遵循您的常识,或获取最新版本进行构建


    准备一些冲突解决方案,因为Debian/Ubuntu经常以补丁/被子的形式喷洒他们的秘密酱汁;这些可能不适用于较新的上游tar ball

    在Ubuntu上处理这样的关键任务包的最佳方法是完全忽略Ubuntu打包系统,其中包括Launchpad。他们总是落后,因为对他们来说,SOLR并不重要。Erlang、RabbitMQ、Python等也是如此。我尝试自己从源代码构建这些软件包,并将它们安装在Ubuntu系统之外的/usr/local或/home/packagename中

    SOLR 3.2可从apache.org下载,作为名为
    apache-SOLR-3.2.0.tgz的现成软件包,包括jetty。您只需将其解压缩到任意位置。将目录更改为示例目录并键入
    java-jar start.jar

    然后可以更改schema.xml等以满足您的需要

    因为这是一个Java包,您不需要从源代码构建,因为相同的编译包将在安装Java的任何地方运行

    除了用于配置SOLR的xml文件外,还必须查看.properties文件以更改jetty配置,例如所使用的端口号

    如果您的公司有Java开发人员,那么还有另一种方法可以解决这个问题。干脆拒绝安装SOLR,句号。SOLR是一个Java应用程序。Java开发人员已经有了一个持续集成系统,可以收集依赖项,将它们捆绑到JAR或WAR中,并将它们部署到生产服务器上。告诉他们以同样的方式照顾索尔。Java开发人员不需要做太多的工作来设置它,因为不需要编码,只需要打包。然后,您可以像管理任何其他Java应用程序一样管理配置更改的部署


    仅使用Ubuntu软件包(或任何其他发行版软件包)来使用和评估工具。当一个工具对您的业务至关重要时,控制它并直接与“上游开发人员”打交道。发行版中间商无需搅浑局势。

    我忘了solr和jetty的包装。我在debian上成功地使用这个脚本(您必须进行调整)来自动化安装。脚本应该可以在其他Linux发行版上运行。

    我发现


    尚未测试,但将在此处报告。

    要使用solr和jetty的最新版本,您可以尝试我的github回购:

    要获得概述,请查看我的博客文章:

    您需要在系统上安装git

    sudo apt-get install git-core
    git clone https://github.com/umars/jetty-solr.git
    cd jetty-solr
    java -jar start.jar
    

    这将为您提供最新版本的solr+jetty配置。

    以及如何处理生产环境中的其他事项,如初始化脚本、日志记录、日志旋转等?@Martijn这些都是系统管理问题。我不认为SOLR是一种系统服务,而是一种安装在服务器上的关键任务应用程序。我确保我的应用程序有一个启动脚本和一个停止脚本,管理员可以使用它来创建initscript。如果由管理员负责,则通过syslog登录,或由应用程序旋转到应用程序文件中。应用程序是系统的附加组件,而不是系统服务。我看不出有什么区别,除非您在企业环境中工作。我是一家SMB的管理员,正在为我们的开发人员构建Solr设置,但这让我觉得Solr需要我成为一名Java开发人员。我只想安装一个最新的Solr,而不是编写初始化脚本、计算Java日志等。我花了数小时寻找Java最佳实践和脚本,只有发现大多数人建议您更改目录并键入java-jar start.jar。安装一个应用程序应该不会花我几天的时间。@Martijn:如果你能让一个开发人员先帮你把它打包,你就不会花你几天的时间来安装它。许多开源项目的目标是操作系统发行版的开发人员,而不是最终用户,甚至不是系统管理员