Elastic 5.4.0 adding cluster for remote search

Hi,

Initially I set up two clusters (by name "nc3" and "new-cluster2") and each is having two nodes. The cross cluster search worked from one cluster "nc3" to "new-cluster2". From both Kibana and REST API.

But when send the cross cluster search from "new-cluster2" to "nc3". This was working in Kibana and not working via REST API.

Then i tried clearing the cluster setting for remote search and try to configure them again. It was not successful. I got the error as not dynamically updateable.

After checking this https://stackoverflow.com/questions/33520384/elasticsearch-how-to-delete-a-cluster-setting, I deleted the entries manually renamed "/var/lib/elasticsearch/nodes/0/_state" and restarted the elastic-search service.

Now, when trying to register the remote cluster for search is throwing the error as "reason": "persistent setting [search.remote.new-cluster2.0], not dynamically updateable"

Below is the response from elastic:

{
  "error": {
    "root_cause": [
      {
        "type": "remote_transport_exception",
        "reason": "[node-2][10.0.21.92:9300][cluster:admin/settings/update]"
      }
    ],
    "type": "illegal_argument_exception",
    "reason": "persistent setting [search.remote.new-cluster2.0], not dynamically updateable"
  },
  "status": 400
}

Does this related to some elastic-search data folder permissions issue?

Pl. help me , thanks in advance.

This is an absolutely terrible idea. If you haven't lost data this time then you were very lucky. Don't mess around inside the data folder like that.

Are you calling the remote cluster new-cluster2.0? I don't think you can have a . in the cluster name.

Hi @DavidTurner

This is local development servers. Hence I worked on the data folder of ELK.

Yes there was one typo mistake in the cluster settings and corrected the same now the clusters are configured for the remote search properly as below.

GET http://172.25.24.96:9200/_remote/info?pretty

HTTP/1.1 200 OK
content-type: application/json; charset=UTF-8
transfer-encoding: chunked

{
  "new-cluster2": {
    "seeds": [
      "172.25.24.87:9300"
    ],
    "http_addresses": [
      "10.0.22.59:9200",
      "10.0.22.30:9200"
    ],
    "connected": true,
    "num_nodes_connected": 2,
    "max_connections_per_cluster": 3,
    "initial_connect_timeout": "30s"
  },
  "nc3": {
    "seeds": [
      "172.25.25.247:9300"
    ],
    "http_addresses": [
      "10.0.22.43:9200",
      "10.0.21.92:9200"
    ],
    "connected": true,
    "num_nodes_connected": 2,
    "max_connections_per_cluster": 3,
    "initial_connect_timeout": "30s"
  }
}

However the initial problem of search requests from cluster "nc3" are working correctly. Not from the other cluster "new-cluster2".

If search request is submitted via the Kibana to new-cluster2 (requested the information of "nc3") it is working.

Hi @DavidTurner

Thanks for the replies.

It was problem in my search string via my application.

Pl. close this discussion.

1 Like

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.