I think I've run into similar problems with SolrCloud in the past w/
Docker. SolrCloud stores the IP address it binds to in ZooKeeper, which is
why you see the Docker internal IP address there and not localhost:8983
since presumably you're using localhost:<ZK_PORT> as the Solr Location. I
think you can force Solr to use a particular IP address with an environment
variable on startup.

If this is a local test, you shouldn't have any problems skipping ZooKeeper
and going straight to Solr since the interface is the same between cloud
and non-cloud Solr for everything that matters here.

On Thu, Sep 27, 2018 at 7:56 AM Tomislav Novosel <[email protected]>
wrote:

> Hi all,
>
>
>
> I'm trying to put data in Solr Index using Nifi. Solr is v7.5.0 and Nifi
> is v1.6.0.
>
> I'm using PutSolrContentStream processor and Solr in Solrcloud mode with
> embedded zookeeper
>
> Inside docker container. I exposed Solr admin port and zookeeper port to
> be accessible through browser.
>
>
>
> I configured Nifi processor to Solr Cloud, gave collection name and Solr
> location(hostname where docker with Solr container is
>
> and port to embedded zookeeper)
>
>
>
> After I tried to put data into collection, i got error:
>
>
>
> rg.apache.solr.client.solrj.SolrServerException: No live SolrServers
> available to handle this request:[
> http://172.17.0.16:8983/solr/monitoringapi_shard1_replica_n1]
>
>                 at
> org.apache.solr.client.solrj.impl.LBHttpSolrClient.request(LBHttpSolrClient.java:382)
>
>                 at
> org.apache.solr.client.solrj.impl.CloudSolrClient.sendRequest(CloudSolrClient.java:1291)
>
>                 at
> org.apache.solr.client.solrj.impl.CloudSolrClient.requestWithRetryOnStaleState(CloudSolrClient.java:1061)
>
>                 at
> org.apache.solr.client.solrj.impl.CloudSolrClient.request(CloudSolrClient.java:997)
>
>                 at
> org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:149)
>
>                 at
> org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:166)
>
>                 at
> org.apache.nifi.processors.solr.PutSolrContentStream$1.process(PutSolrContentStream.java:242)
>
>                 at
> org.apache.nifi.controller.repository.StandardProcessSession.read(StandardProcessSession.java:2207)
>
>                 at
> org.apache.nifi.controller.repository.StandardProcessSession.read(StandardProcessSession.java:2175)
>
>                 at
> org.apache.nifi.processors.solr.PutSolrContentStream.onTrigger(PutSolrContentStream.java:199)
>
>                 at
> org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
>
>                 at
> org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1147)
>
>                 at
> org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:175)
>
>                 at
> org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:117)
>
>                 at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>
>                 at
> java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
>
>                 at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
>
>                 at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
>
>                 at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>
>                 at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>
>                 at java.lang.Thread.run(Thread.java:748)
>
> Caused by: org.apache.solr.client.solrj.SolrServerException: Server
> refused connection at:
> http://172.17.0.16:8983/solr/monitoringapi_shard1_replica_n1
>
>                 at
> org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:599)
>
>                 at
> org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:261)
>
>                 at
> org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:250)
>
>                 at
> org.apache.solr.client.solrj.impl.LBHttpSolrClient.doRequest(LBHttpSolrClient.java:403)
>
>                 at
> org.apache.solr.client.solrj.impl.LBHttpSolrClient.request(LBHttpSolrClient.java:355)
>
>                 ... 20 common frames omitted
>
> Caused by: java.net.ConnectException: Connection timed out: connect
>
>                 at java.net.TwoStacksPlainSocketImpl.socketConnect(Native
> Method)
>
>                 at
> java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
>
>                 at
> java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
>
>                 at
> java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
>
>                 at
> java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
>
>                 at
> java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
>
>                 at java.net.Socket.connect(Socket.java:589)
>
>                 at
> org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:117)
>
>                 at
> org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:177)
>
>                 at
> org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:304)
>
>                 at
> org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:611)
>
>                 at
> org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:446)
>
>                 at
> org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:882)
>
>                 at
> org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
>
>                 at
> org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:107)
>
>                 at
> org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55)
>
>                 at
> org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:497)
>
>                 ... 24 common frames omitted
>
>
>
> I checked in Solr Admin web UI and everything is fine, shards and replicas
> are alive, zookeeper is alive and running.
>
> I also tried to put data using REST API from Python (pysolr) and
> everything is working fine, but with Nifi doesn't.
>
> What could be the issue? Please help.
>
>
>
> BR,
>
> Tom
>

Reply via email to