solr bin/snapinstaller 报 failed to connect to Solr server

2019-03-27 01:02|来源: 网路

昨天在用 solrj 在 solr 的子机上做索引,报错:

  1. The @Deprecated SolrUpdateServlet does not accept query parameters: /update?wt=javabin&version=2.2  
  2. If you are using solrj, make sure to register a request handler to /update rather then use this servlet.  
  3.  Add: <requestHandler name="/update" class="solr.XmlUpdateRequestHandler" > to your solrconfig.xml;  

由于 solrconfig.xml 还是旧的(solr 1.2 时候的应用),而升级了 solr 1.3 没有改 solrconfig.xml。所以出现这种的错误,还是 solrconfig.xml 打开它(没有打开它就不支持参数,是在servlet处理)。

打开后可以用 solrj 做索引了。但是今天发现 solr 子机从主机上拉的索引提交不正常,安装索引的日志显示:

command: bin/snapinstaller -u chenlb -v
installing snapshot /XXX/data/snapshot.20090414090015
notifing Solr to open a new Searcher
failed to connect to Solr server
snapshot installed but Solr server has not open a new Searcher

而用 solr 1.3 带的post.sh例子里的commit命令没有问题,再打开 bin/commit 与 post.sh 里对比下,发现bin/commit 没有

-H 'Content-type:text/xml; charset=utf-8'

说明它也是旧的,在 solrconfig.xml 的 /update 的注释可以看到提示。

把 bin/commit 修改,加上 curl -H 的内容,可以正常提交,但还是有 failed to connect to Solr server 的错误日志。

解决方法:

1、bin目录下的,与 conf 目录下的全换上 solr 1.3 版的。

2、在 solrconfig.xml 关闭 /update,也即还是用旧的。子机没所为, 都不用 solrj 去提交索引(是拉主机的索引)
转自:http://www.cnblogs.com/wycg1984/archive/2009/09/16/1567642

相关问答

更多
  • 感谢Lewis John Mcgibbney,我意识到应该使用索引工具,如下所示: bin / nutch索引-D solr.server.url =“https://gateway.watsonplatform.net/retrieve-and-rank/api/v1/solr_clusters/CLUSTER-ID/solr/admin/collections -D solr.auth = true -D solr.auth.username =“USERNAME”-D solr.auth.passwo ...
  • 当您的Solr实例未运行或尝试访问错误的端口时,会发生此异常。 检查端口号并重新启动Solr实例。 This exception occurs when your Solr instance is not running or when you try to access wrong port. Check port number and restart your Solr instance.
  • 我联系了Adobe,并且(令人惊讶地)得到了一些帮助。 他们说ColdFusion正式不支持非ColdFusion Solr服务器。 最后,我们刚刚安装了包含ColdFusion的Solr服务器(当然,通过重新安装ColdFusion)。 另外,他们说ColdFusion附带的Solr服务器是3.4.x版本。 ColdFusion独立Solr服务器版本相同。 我们可能已经安装了CF独立服务器,但为了简单起见选择了本地服务器(经过我们已经遇到的所有麻烦)。 作为旁注,可以使用与ColdFusion不同的Sol ...
  • 问题是solr,nutch和hbase之间的版本不兼容。 这篇文章对我来说非常合适。 The problem was version incompatibility between solr, nutch and hbase. This article worked perfectly for me.
  • 我不认为你的正则表达式与DIH相关的罐子相匹配。 尝试将配置更改为: 或者,作为替代方案,您可以尝试指定每个lib的完整路径:
    我试过了......在这里......只有不同之处在于我尝试了Ubantu abhijit@abhijit:~/Downloads/solr-5.0.0$ bin/solr start -e cloud Welcome to the SolrCloud example! This interactive session will help you launch a SolrCloud cluster on your local workstation. To begin, how many Sol ...
  • 尝试bin / solr start -e techproducts 。 然后使用techproducts而不是开始。 再也没有开始收集, 技术产品是最近的一个。 你所做的就是启动一个服务器,但根本没有收藏。 所以你也可以在那里创建一个集合,但是你需要正确的配置来引导它。 所以,现在第一种方法可能会更容易一些。 Try bin/solr start -e techproducts. And then use techproducts instead of gettingstarted. There is n ...
  • public CloudSolrClient(String zkHost) 创建一个连接到Zookeeper的新客户端对象,并始终知道SolrCloud状态。 默认情况下,更新将发送给分片领导者。 您正在指定solr实例host:port而不是zookeeper host:port 。 修复它,它应该事后工作。 public CloudSolrClient(String zkHost) Create a new client object that connects to Zookeeper and i ...
  • 运行以下命令解决了以下问题: sudo chown -R solr:solr /opt/solr/indexes/ 该目录是附加卷(Amazon EBS)的安装点。 在运行命令之前,目录权限看起来像: $ sudo ls -al /opt/solr/indexes/ total 24 drwxr-x--- 3 solr solr 4096 Feb 26 09:25 . drwxr-xr-x 5 solr solr 4096 Feb 26 09:33 .. drwx------ 2 root root ...
  • 不,正如它在错误日志中明确指出的那样,com.microsoft.sqlserver.jdbc.SQLServerDriver缺少JDBC驱动程序jar文件。这是由供应商提供的,在本例中是microsfot sqlserver。 您需要使其可用于运行solr实例的容器。 如果您正在使用tomcat将其复制到tomcat_home \ lib目录中。 您将在sql server安装中找到jar文件或询问您的sql server admin。 No, as it clearly says in the erro ...