我正在学习本教程:https://gist.github.com/kalharbi/fd29661b9926eb087c45
配置2个节点的solr Cloud .
1.两台机器上的配置动物园管理员:192.168.1.56:2181(localadmin4),192.168.1.55:218(催眠动作8)当检查状态时,两者都正常:
localadmin8@localadmin8:/opt/solr$ ../zookeeper/bin/zkServer.sh status /data/zookeeper/z2/zoo.cfg ZooKeeper JMX enabled by default Using config: /data/zookeeper/z2/zoo.cfg Mode: leader
localadmin4@localadmin4:/opt/solr$ ../zookeeper/bin/zkServer.sh status /data/zookeeper/z1/zoo.cfg
ZooKeeper JMX enabled by default
Using config: /data/zookeeper/z1/zoo.cfg
Mode: follower
开始的solr
localadmin4@localadmin4:/opt/solr$ ./bin/solr start -c -p 8983 -z 192.168.1.56:2181,192.168.1.55:2182
localadmin8@localadmin8:/opt/solr$ ./bin/solr start -c -p 8984 -z 192.168.1.56:2181,192.168.1.55:2182
3.在浏览器中检查solr admin:http://192.168.1.56:8983,01428484 . 这两个solr都工作正常 .
4.upload配置到zookeeper:localadmin4 @ localadmin4:/ opt / solr $ ./server/scripts/cloud-scripts/zkcli.sh -cmd upconfig -zkhost 192.168.1.56:2181 -confdir ./server/solr/configsets/data_driven_schema_configs / conf / -confname l-config
它给了我以下回应:
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">33011</int>
</lst>
<lst name="failure">
<str name="127.0.1.1:8984_solr">org.apache.solr.client.solrj.SolrServerException:Server refused connection at: http://127.0.1.1:8984/solr</str>
</lst>
<lst name="success">
<lst name="127.0.1.1:8983_solr">
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">1957</int>
</lst>
<str name="core">onix_shard2_replica1</str>
</lst>
</lst>
</response>
而不是命中192.168.1.55:8984_solr,它击中了127.0.1.1:8984_solr .
如何解决这个问题?
2 回答
这可能是由于Solr在启动时检测到自己的错误IP,因此在Solr群集中注册节点时使用了错误的IP .
您可以tell Solr which IP to use by giving the embedded Jetty container the IP to use(或仅用于节点内通信,使用
SOLR_HOST
就足够了) .您是否添加了这样的IP 127.0.1.1可能应该是
127.0.0.1
crosscheck .还要确保使用正确的服务器节点和服务器标识映射文件正确修改了zoo.cfg文件 .
例如:
我在External Zookeeper with Solr Cloud上的博客可能会对你有所帮助 .