AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 540213
Accepted
anup
anup
Asked: 2013-09-20 07:05:35 +0800 CST2013-09-20 07:05:35 +0800 CST 2013-09-20 07:05:35 +0800 CST

带有tomcat 6的Solr 4.4在tomcat管理器上抛出503

  • 772

系统详细信息:
操作系统:Cent OS 5.5 x86_64
java - 1.7 (1.7.0_25)
tomcat:6.0.37
solr 4.4(配置为多核)

我在码头上完美运行了 solr 4.4 多核(尽管目前只运行一个核心)。

我需要在 tomcat 6 上运行相同的程序,看看它是否可以比码头更好。

这是我所做的: 1.从http://mirrors.sonic.net/apache/tomcat/tomcat-6/v6.0.37/bin/apache-tomcat-6.0.37.tar.gz
下载了 tomcat 6

2. 将apache-tomcat-6.0.37.tar.gz解压到/usr/local/tomcat/
创建启动和关闭脚本,进程通过user:group tomcat:tomcat查看启动脚本,发现tomcat运行正常. 我将端口从 8080 修改为 8400

3.在tomcat下为solr app创建了一个solr.xml: 文件:/usr/local/tomcat/conf/Catalina/localhost/solr.xml

<?xml version="1.0" encoding="utf-8"?>
<Context docBase="/var/www/projects/solr-oncars/example/solr/solr-4.4.0.war" debug="0" privileged="true" allowLinking="true" crossContext="true">
    <Environment name="solr/home" type="java.lang.String" value="/var/www/projects/solr-oncars/example/solr" override="true" />
</Context>

4. 复制 solr.war 到 core 的 home-path

cp /var/www/projects/solr-oncars/example/webapps/solr.war  /var/www/projects/solr-oncars/example/solr/oncars/

甚至尝试使用 solr-4.4.war

cp /var/www/projects/solr-oncars/dist/solr-4.4.0.war /var/www/projects/solr-oncars/example/solr/

5. 编辑 solrconfig.xml
5.a:我尝试
从以下位置编辑 solrconfig.xml 中的数据目录:

<dataDir>${solr.core0.data.dir:}</dataDir>

至:

<dataDir>${solr.core0.data.dir:/var/www/projects/solr-oncars/example/solr/oncars/data}</dataDir>

5.b上面的设置还原后我也试过了

6. 将 slf4j jar 复制到 tomcat: 当我尝试从 tomcat 管理器启动 solr 应用程序时,在 catalina 日志中遇到很多 sl4j 错误。这是通过将 sl4j 库从 solr 复制到 tomcat 来解决的。如下所示:

cp -v /var/www/projects/solr-oncars/example/lib/ext/slf4j-*  /usr/local/tomcat/lib/
cp -v /var/www/projects/solr-oncars/example/lib/ext/log4j-1.2.16.jar  /usr/local/tomcat/lib/

从 1 到 6 完成了从 tomcat 执行现有的 solr。在 Tomcat 管理器下,“/solr”显示为已启动。Stop 和 Start 一样不会抛出错误。

我可以看到 solr 文件夹是在 tomcat 的 webapps 下创建的:

ll webapps/solr/

输出:

-rw-r--r-- 1 tomcat tomcat 5642 Jul 10 11:11 admin.html
drwxr-xr-x 3 tomcat tomcat 4096 Sep 19 18:53 css
-rw-r--r-- 1 tomcat tomcat 1146 Jul 10 11:11 favicon.ico
drwxr-xr-x 4 tomcat tomcat 4096 Sep 19 18:53 img
drwxr-xr-x 4 tomcat tomcat 4096 Sep 19 18:53 js
drwxr-xr-x 2 tomcat tomcat 4096 Sep 19 18:53 META-INF
drwxr-xr-x 2 tomcat tomcat 4096 Sep 19 18:53 tpl
drwxr-xr-x 3 tomcat tomcat 4096 Sep 19 18:53 WEB-INF

当从 tomcat 管理器中单击 /solr 时,即 URL:http ://localdomain.com:8400/solr/ 出现以下页面:

HTTP 状态 503 - 服务器正在关闭

类型状态报告

消息服务器正在关闭

描述 请求的服务当前不可用。
Apache Tomcat/6.0.37

SOLR 配置: /var/www/projects/solr-oncars/example/solr/solr.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<solr persistent="true">
  <cores adminPath="/admin/cores">
    <core schema="schema.xml" name="oncars" instanceDir="oncars" conf="solrconfig.xml"/>
  </cores>
</solr>

我曾尝试在网上寻找帮助,但找不到任何有效的方法。甚至来自 serverfault 的资源

tomcat6
  • 1 1 个回答
  • 1242 Views

1 个回答

  • Voted
  1. Best Answer
    anup
    2013-09-21T00:25:08+08:002013-09-21T00:25:08+08:00

    问题可能出在 solr 上,因为我们最初修改了 solrconfig,后来在试错过程中甚至修改了 solr.xml(属于 solr)。

    所以,我从零开始又做了整件事。这次我提到了另一个相当相关的 How-To

    总的来说,我犯的错误是对 solr 进行更改。不要那样做!
    Solr Tomcat Wiki建议:“ Solr4.3 需要完全不同的部署。这些说明不是最新的,并且适用于不确定的 Solr 版本。”
    使用 wiki,您往往会点击索引而错过精美的印刷品!我已经提到了它,因此弄乱了工作 solr(幸运的是我已经备份了)。

    从我提到的 How-To 中,我学到了以下内容:

    1 不要更改正在工作的 solr 配置(即从码头运行 solr 以检查它是否启动正常)

    2 在添加 solr 之前启动并运行 tomcat。(独立运行。如果您对两者都很好,请停止这两个服务)

    3 假设solr路径是/usr/local/solr-4.x,然后将solr-4.x.war从/usr/local/solr-4.x/dist/solr-4.xxwar复制到/usr/local /solr-4.x/example/solr/solr.war 。_ 这就是您在 solr 目录中需要做的所有事情。休息,你需要从 solr 目录中取出几个文件到 tomcat 目录(pt. 6)

    4 修改tomcat的server.xml,确保里面有URIEncoding:

    <Connector port="8080" protocol="HTTP/1.1"
        connectionTimeout="20000"
        redirectPort="8443"
        URIEncoding="UTF-8" />
    

    5 在 tomcat 的 conf 中创建 solr.xml:vim /usr/local/tomcat/conf/Catalina/localhost/solr.xml 添加以下行:

    <Context path="/solr" docBase="/usr/local/solr/example/solr/solr.war" debug="0" crossContext="true">
            <Environment name="solr/home" type="java.lang.String" value="/usr/local/solr/example/solr" override="true"/>
    </Context>
    

    注意: solr 核心位于路径下:/usr/local/solr/example/solr/core{0,1,..n}

    6 将 Solr 扩展文件和 log4j 配置文件复制到 tomcat:

    cp -v /usr/local/solr/example/lib/ext/*  /usr/local/tomcat/lib/
    cp -v /usr/local/solr-oncars/example/resources/log4j.properties /usr/local/tomcat/conf/
    

    对于其余部分,请与“操作方法”进行交叉检查

    最后,将 tomcat 所有权授予 solr 和 tomcat 目录(如果 tomcat 作为用户/组“tomcat”运行):

    chown -R tomcat:tomcat /usr/local/tomcat
    chown -R tomcat:tomcat /usr/local/solr
    

    启动tomcat并访问solr-url,它成功了!

    • 1

相关问题

  • Tomcat shudown 不会杀死进程

  • 让 JPackage 在 CentOS5 上看到 Sun JVM 的问题

  • Tomcat 防止外部访问 ROOT 和其他 webapps

  • Tomcat 无法提供超过 1MB 的文件而不会在高负载下中断

  • “当前加载的类:”不断增加,PermGen 在最大值附近反弹?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve