solr集群Server refused connection at: http://127.0.0.1:6060/solr/ego 注册zookeepr自动使用内网ip

引导:适用于各种注册服务,zookeeper和被注册的服务器不在同一ip上,产生的注册了127.0.0.1本地ip地址

 

在使用solr集群操作的时候,报了如下的错误

org.apache.solr.client.solrj.SolrServerException: 
No live SolrServers available to handle this request:[http://127.0.0.1:9090/solr/ego, http://127.0.0.1:6060/solr/ego, http://127.0.0.1:8080/solr/ego, http://127.0.0.1:7070/solr/ego] Caused by: org.apache.solr.client.solrj.SolrServerException: Server refused connection at: http://127.0.0.1:6060/solr/ego

 

这个究竟就是什么呢?

跟我们要配置的访问solr集群的地址很像,但是solr的ip例如我的是169.254.18.14而且和zookeeper不在同一台服务器上

这也就是说,它们两个的ip地址不一致,而且它访问的还是127.0.0.1是肯定访问不到solr的!


 

我们可以在注册中心zookeeper里面进行查看 live_nodes 这个就是我们solr集群活着的节点注册的地址,

 

 那么是从哪里注册的地址?肯定是在我们的solr服务器上注册的,那么应该传递过来的是solr的ip地址啊,

由此我们大家都可以想到些什么了,那就是我们的hosts文件里没有指定我们本机的外网地址。

 

具体解决操作如下:

1.首先查看你的主机名

  vi /etc/sysconfig/network

  

 

   如果里面有HOSTNAME=xxx 那么你就记住这个xxx主机名即可,如果没有的话,自行按照这个格式 添加一个 :HOSTNAME=xxx

 

2.修改HOSTS文件

  vi /etc/hosts

  大多数没修改过的人看到的应该是这个样子

 

 

 我们在下面新添加一行,

本机的ip地址 主机名
例如我的:
169.254.18.14 arebirth

修改后的样子

 

 

让后我们重启所有solr集群,也就是重启tomcate,

然后重新查看zookeeper里面的live_nodes

 

 

问题解决!

 

参考:

https://blog.csdn.net/wwwjjj_3/article/details/79756066

 

posted @ 2019-10-22 17:15  Arebirth  阅读(2194)  评论(0编辑  收藏  举报