Hi Shi Wei,
looks like you're the first trying to connect to ES from Nutch over
HTTPS. HTTP is used as default scheme and there is no way to configure
the Elasticsearch index writer to use HTTPS.
Please open a Jira issue. It's a trivial fix.
For a quick fix: in the Nutch source package (or git tree) edit the file
src/plugin/indexer-elastic/src/java/org/apache/nutch/indexwriter/elastic/ElasticIndexWriter.java
and change the line
hostsList[i++] = new HttpHost(host, port);
into
hostsList[i++] = new HttpHost(host, port, "https");
After that you need to build nutch by running
ant runtime
See
https://www.javadoc.io/static/org.apache.httpcomponents/httpcore/4.3.2/org/apache/http/HttpHost.html#HttpHost(java.lang.String,%20int,%20java.lang.String)
Best,
Sebastian
On 11/16/21 09:49, [email protected] wrote:
> Hi there,
>
> We encountered an issue when connecting to our Elasticsearch with HTTPS
> connection as follow:
>
> 2021-11-16 16:37:22,034 DEBUG client.RestClient - request [POST
> http://192.168.0.105:9200/_bulk?timeout=1m] failed
> org.apache.http.ConnectionClosedException: Connection is closed
> at
> org.apache.http.nio.protocol.HttpAsyncRequestExecutor.endOfInput(HttpAsyncRequestExecutor.java:356)
>
> at
> org.apache.http.impl.nio.client.InternalRequestExecutor.endOfInput(InternalRequestExecutor.java:132)
>
> at
> org.apache.http.impl.nio.DefaultNHttpClientConnection.consumeInput(DefaultNHttpClientConnection.java:261)
>
> at
> org.apache.http.impl.nio.client.InternalIODispatch.onInputReady(InternalIODispatch.java:81)
>
> at
> org.apache.http.impl.nio.client.InternalIODispatch.onInputReady(InternalIODispatch.java:39)
>
> at
> org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:114)
>
> at
> org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:162)
>
> at
> org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:337)
>
> at
> org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:315)
>
> at
> org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:276)
>
> at
> org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104)
>
> at
> org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:591)
>
> at java.lang.Thread.run(Thread.java:748)
>
> Looks like the HTTP connection is established instead of HTTPS. Could
> you advise if there are any required parameters that we missed out in
> the index-writers.xml? Attached are the log file and index-writers.xml.
>
> Thanks in advance!
>
>
> Best Regards,
> Shi Wei