将外部 zookeper 与 solr 云一起使用

Using external zookeper with solr cloud

我正在尝试从官方资源 https://cwiki.apache.org/confluence/display/solr/Getting+Started+with+SolrCloud 中实现 solrcloud.I 被愚弄的文档。它与嵌入式 zookeper 一起工作正常,但建议使用外部 zookeper。我在我的系统上安装了 zookeper 在我的家里创建了数据字典 zookeper folder.I 创建了名为 1 和 2 的子文件夹并分别创建了带有文本 1 和 2 的 myid 文件我在 doc.I 中提到的每个文件夹都为创建了配置文件动物园管理员 zoo.cnfg

clientPort=2181
initLimit=5
syncLimit=2
server.1=localhost:2879:3879
server.2=localhost:2888:3888

和zoo2.cnfg

initLimit=5
syncLimit=2
clientPort=2182
server.1=localhost:2878:3878
server.2=localhost:2888:3888

接下来我运行 cd

bin/zkServer.sh start zoo.cfg
bin/zkServer.sh start zoo2.cfg

并且启动成功。接下来我运行

bin/solr start -e cloud -z localhost:2181,localhost:2182 系统询问我没有碎片等,比如在开始时我 select 节点 1 8990 和节点 2 8991 的端口。它给出错误

Waiting to see Solr listening on port 8991 [/]  Still not seeing Solr listening on 8991 after 30 seconds!
WARN  - 2015-10-30 09:47:04.827; [   ] org.apache.zookeeper.ClientCnxn$SendThread; Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: Connection refused
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:744)
    at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361)
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081)
WARN  - 2015-10-30 09:47:05.929; [   ] org.apache.zookeeper.ClientCnxn$SendThread; Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: Connection refused
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:744)
    at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361)
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081)
WARN  - 2015-10-30 09:47:06.030; [   ] org.apache.zookeeper.ClientCnxn$SendThread; Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: Connection refused
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:744)
    at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361)
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081)
WARN  - 2015-10-30 09:47:07.131; [   ] org.apache.zookeeper.ClientCnxn$SendThread; Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: Connection refused
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:744)
    at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361)
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081)
WARN  - 2015-10-30 09:47:07.232; [   ] org.apache.zookeeper.ClientCnxn$SendThread; Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: Connection refused
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:744)
    at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361)
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081)

我哪里不见了?浏览了许多文档,但 apche 文档不适用于外部 zookeper 设置。

您的 Zookeeper 集合必须有一定数量的节点:1、3、5 等...

如果你想测试 ZK 集群功能,你必须至少设置 3 个 ZK 实例。在这种情况下,不要忘记:

  1. 要在文件 myid 中正确设置 ZK 服务器 ID,该文件必须在目录 dataDir 中创建,由您的 zoo.cfg.
  2. 引用
  3. 为每个 ZK 实例分离 dataDir 和 dataLogDir。