У меня возникла проблема при подключении к Solr через CloudSolrClient.
Я использовал следующий фрагмент кода.

CloudSolrClient server = new CloudSolrClient("ip:8983");
server.setDefaultCollection("hadoop_logs_shard3_replica1");

Я получаю следующую ошибку


    java.io.IOException: Packet len1213486160 is out of range!
        at org.apache.zookeeper.ClientCnxnSocket.readLength(ClientCnxnSocket.java:112)
        at org.apache.zookeeper.ClientCnxnSocketNIO.doIO(ClientCnxnSocketNIO.java:79)
        at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:366)
        at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081)

1
Anirudh Jadhav 29 Окт 2015 в 15:54

2 ответа

Лучший ответ
public CloudSolrClient(String zkHost)

Создайте новый клиентский объект, который подключается к Zookeeper и всегда знает о состоянии SolrCloud. По умолчанию обновления будут отправляться лидерам шардов.

Вы указываете экземпляр solr host:port вместо zookeeper host:port. Исправьте это, он должен работать позже.

0
YoungHobbit 30 Окт 2015 в 03:46

1213486160 - это код ASCII «HTTP», интерпретируемый как 32-битное целое число с прямым порядком байтов. Как предполагает YoungHobbit, вы не обращаетесь к нужной службе.

0
Joe Oswald 21 Апр 2016 в 13:07