在 mac Snow leopard 上,我使用brew 安装了 Apache Solr 4.2.0 并使用以下命令触发了服务器,
Usage: $ solr path/to/config/dir
当我尝试使用以下链接访问浏览器中的管理页面时,SolrCore 初始化失败的页面如下所示,
http://localhost:8983/solr/admin
collection1: org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: Could not load config for solrconfig.xml
页面还有留言,
There are no SolrCores running.
Using the Solr Admin UI currently requires at least one SolrCore.
非常感谢任何有关此问题的帮助。
在 Solr 配置目录的根目录中,有一个名为
solr.xml
的文件。该文件配置 Solr 核心。该文件可能包含:
<cores adminPath="/admin/cores" host="${host:}" hostPort="${jetty.port:}" hostContext="${hostContext:}" zkClientTimeout="${zkClientTimeout:15000}">
<core default="true" name="auction" instanceDir="auctionConfigDir" />
</cores>
重要的一点是将
instanceDir="auctionConfigDir"
与实际的path/to/config/dir
相匹配。如果 Solr 找不到配置文件的位置,它将无法启动核心。
sudo vim /opt/solr-4.8.1/example/etc/jetty.xml 改变
<!-- This connector is currently being used for Solr because it
showed better performance than nio.SelectChannelConnector
for typical Solr requests. -->
<Call name="addConnector">
<Arg>
<New class="org.eclipse.jetty.server.bio.SocketConnector">
<Set name="host">127.0.0.1</Set>
<Set name="port"><SystemProperty name="jetty.port" default="8983"/></Set>
<Set name="maxIdleTime">50000</Set>
<Set name="lowResourceMaxIdleTime">1500</Set>
<Set name="statsOn">false</Set>
</New>
</Arg>
</Call>
到
<!-- This connector is currently being used for Solr because it
showed better performance than nio.SelectChannelConnector
for typical Solr requests. -->
<Call name="addConnector">
<Arg>
<New class="org.eclipse.jetty.server.bio.SocketConnector">
<Set name="host">0.0.0.0</Set>
<Set name="port"><SystemProperty name="jetty.port" default="8983"/></Set>
<Set name="maxIdleTime">50000</Set>
<Set name="lowResourceMaxIdleTime">1500</Set>
<Set name="statsOn">false</Set>
</New>
</Arg>
</Call>
然后 sudo 服务 solrd 重新启动