solr集群zookeeper---solrcould Could not connect to ZooKeeper

is_Perry 2016-04-14 05:18:08
solr集群zookeeper之后,在eclipse端用solrj测试报如下错误,请教各位是什么问题?

SLF4J: See http://www.slf4j.org/codes.html#no_static_mdc_binder for further details.
Exception in thread "main" org.apache.solr.common.SolrException: java.util.concurrent.TimeoutException: Could not connect to ZooKeeper 192.168.1.122:2181 within 1000 ms
at org.apache.solr.common.cloud.SolrZkClient.<init>(SolrZkClient.java:181)
at org.apache.solr.common.cloud.SolrZkClient.<init>(SolrZkClient.java:115)
at org.apache.solr.common.cloud.SolrZkClient.<init>(SolrZkClient.java:105)
at org.apache.solr.common.cloud.ZkStateReader.<init>(ZkStateReader.java:238)
at org.apache.solr.client.solrj.impl.CloudSolrClient.connect(CloudSolrClient.java:459)
at com.qhii.controller.TestSolrCould.main(TestSolrCould.java:119)
Caused by: java.util.concurrent.TimeoutException: Could not connect to ZooKeeper 192.168.1.122:2181 within 1000 ms
at org.apache.solr.common.cloud.ConnectionManager.waitForConnected(ConnectionManager.java:208)
at org.apache.solr.common.cloud.SolrZkClient.<init>(SolrZkClient.java:173)
... 5 more



而用如下这种测试方式就没问题,返回了正确数据
address = "http://192.168.1.122:81/solr/solr";
httpServer = new HttpSolrServer(address);
SolrQuery solrQuery = new SolrQuery(query);
try {

QueryResponse response = httpServer.query(solrQuery);
System.out.println(response.getQTime());


} catch (SolrServerException e) {

e.printStackTrace();

} catch (IOException e) {
e.printStackTrace();
}
...全文
880 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
huang_sir_91 2016-10-09
  • 打赏
  • 举报
回复
引用 2 楼 Intboy的回复:
address = "http://192.168.1.122:81/solr/solr"; final String zkHost = "192.168.1.122:2181"; 端口不一样
他这个前面是测试集群版测试,后面ok的是单机版。可能是运行了两个,所以端口不一样
huang_sir_91 2016-10-09
  • 打赏
  • 举报
回复
同样出现这个问题!集群出现超时异常,单机版测试ok!
huang_sir_91 2016-10-09
  • 打赏
  • 举报
回复
今天试了一下,这个问题的原因有两个: 1-zookeeper集群管理没开启zkService.sh start 2-防火墙相应的端口没有打开
Intboy 2016-04-14
  • 打赏
  • 举报
回复
address = "http://192.168.1.122:81/solr/solr"; final String zkHost = "192.168.1.122:2181"; 端口不一样
is_Perry 2016-04-14
  • 打赏
  • 举报
回复
用集群方式测试时这么写的 public static void main(String[] args) { final String zkHost = "192.168.1.122:2181"; final String defaultCollection = "solr"; final int zkClientTimeout = 20000; final int zkConnectTimeout = 1000; CloudSolrServer cloudSolrServer = getCloudSolrServer(zkHost); cloudSolrServer.setDefaultCollection(defaultCollection); cloudSolrServer.setZkClientTimeout(zkClientTimeout); cloudSolrServer.setZkConnectTimeout(zkConnectTimeout); cloudSolrServer.connect(); // addIndex(cloudSolrServer); // deleteAllIndex(cloudSolrServer); search(cloudSolrServer, "*:*"); cloudSolrServer.shutdown(); }

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧