Concept of Elasticsearch cluster

Hello @Dominic_Page,

Thanks for reply!!!
One humble request, Can you please hide ip address used in earlier comments from your side?
And please do not use it directly. You can mention ip_address_of_master.

Master node is working. I am getting below responses:

curl -X GET ip_of_master:9200
{
  "name" : "Master-node",
  "cluster_name" : "cluster",
  "cluster_uuid" : "yQvifHj-Tw2RNMCItAT7SA",
  "version" : {
    "number" : "7.2.0",
    "build_flavor" : "default",
    "build_type" : "zip",
    "build_hash" : "508c38a",
    "build_date" : "2019-06-20T15:54:18.811730Z",
    "build_snapshot" : false,
    "lucene_version" : "8.0.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
} 

curl -X GET ip_of_master:9300
curl: (7) Failed to connect to "ip_of_master" port 9300: Timed out

Thanks,
Priyanka

Hi @pyerunka

No problem, I've redacted the IPs in my previous posts

From these 2 calls:

curl -X GET XXX.XXX.XXX.XXX:9200

indicates that the data node has visibility of the master node's HTTP Port 9200, however, to form a cluster it must be able to access to the master node's Transport Port 9300

curl -X GET XXX.XXX.XXX.XXX:9300

is not yet connecting, so try that again with the verbose flag, you would hope to see a conversation something like this:

$ curl -vX GET IP_OF_MASTER_NODE:9300
* About to connect() to IP_OF_MASTER_NODE port 9300 (#0) 
*   Trying XXX.XXX.XXX.XXX...
* Connected to server1 (XXX.XXX.XXX.XXX) port 9300 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.29.0
> Host: IP_OF_MASTER_NODE:9300
> Accept: */*
>
* Connection #0 to host server1 left intact
This is not an HTTP port

Hi @pyerunka

Were you able to obtain additional information using

$ curl -vX GET IP_OF_MASTER_NODE:9300

from the Data node?

Hello @Dominic_Page,

I tried using above command on data node. I am getting below response:

* Rebuilt URL to: IP_OF_MASTER_NODE:9300/
* Hostname was NOT found in DNS cache
*   Trying IP_OF_MASTER_NODE...
* connect to IP_OF_MASTER_NODE port 9300 failed: Timed out
* Failed to connect to IP_OF_MASTER_NODE port 9300: Timed out
* Closing connection 0
curl: (7) Failed to connect to IP_OF_MASTER_NODE port 9300: Timed out 

Regards,
Priyanka

Hi @pyerunka

Just checking - did you change IP_OF_MASTER_NODE to the IP of your master node?

Hello @Dominic_Page,

Yes, I have changed it to actual IP address and then checked.
While giving reply, I have mentioned "IP_OF_MASTER_NODE" only.

Regards,
Priyanka

Hi @pyerunka

It appears there is still some network issue blocking communications between the servers.

For a healthy cluster, it is a good idea to reduce the number of network hops between servers.

If you run

$ traceroute IP_OF_MASTER_NODE

from the data node: how many network hops are shown?

You should see an output something like this:

$ traceroute IP_OF_MASTER_NODE
traceroute to IP_OF_MASTER_NODE (xxx.xxx.xx.xx), xx hops max, xx byte packets
 1  xx.xxx.xxx.x (xx.xxx.xxx.x)  x.xxx ms  x.xxx ms  x.xxx ms
 3  xxx.xx.xxx.xxx (xxx.xx.xxx.xxx)  x.xxx ms  x.xxx ms  x.xxx ms
 4  xxx.xx.xxx.xxx (xxx.xx.xxx.xxx)  x.xxx ms  x.xxx ms  x.xxx ms
 5  gix-x-x-x-xx-crx.mad.router.colt.net (xxx.xx.xx.xxx)  xx.xxx ms  x.xxx ms  x.xxx ms
 6  xex-x-x-prx.mad.router.colt.net (xxx.xx.xx.xxx)  x.xxx ms
    xex-x-x-prx.mad.router.colt.net (xxx.xx.xx.xxx)  x.xxx ms  x.xxx ms
 7  xex-x-x-prx.mad.router.colt.net (xxx.xx.xx.xxx)  x.xxx ms 

Hello @Dominic_Page,

I have raised this network issue which is blocking communications between two servers to our network team.

And i also tried $ traceroute IP_OF_MASTER_NODE from the data node with actual ip address of master node. It is showing me below error:

 'traceroute' is not recognized as an internal or external command,
operable program or batch file.

Regards,
Priyanka

Hi @pyerunka

You sure know about traceroute, don't you? The error message shows that you are using Windows as your operating system. If traceroute is not accepted there, then a quick search indicates that the correct command on Windows is tracert.

How to Use TRACERT to Troubleshoot TCP/IP Problems in Windows

Usage of tracert:

Usage: tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout]
               [-R] [-S srcaddr] [-4] [-6] target_name

Options:
    -d                 Do not resolve addresses to hostnames.
    -h maximum_hops    Maximum number of hops to search for target.
    -j host-list       Loose source route along host-list (IPv4-only).
    -w timeout         Wait timeout milliseconds for each reply.
    -R                 Trace round-trip path (IPv6-only).
    -S srcaddr         Source address to use (IPv6-only).
    -4                 Force using IPv4.
    -6                 Force using IPv6.
1 Like

Hello @MiTschMR,

Thanks for your reply!!!
I do not know about this command actually.
and when i have tried tracert command, i did not get any quick search indication for correct command.
I will refer above help.

Thanks,
Priyanka

Hello @Dominic_Page,

Ports issue has been resolved now.
I am able to connect to another server to form a cluster using ES.
How to check that which cluster nodes are running on my ES?
and after that when i have tried to start kibana, it is not working for me.

Can you guide me more on the same.

Regards,
Priyanka

1 Like

HI @pyerunka

Great news that your port issue is resolved!

How to check that which cluster nodes are running on my ES?

Try

$curl YOUR_IP:9200/_cat/nodes?v\&h=ip,node.role,master,name

This will list the nodes which are currently members of the cluster

Re Kibana:

and after that when i have tried to start kibana, it is not working for me.

Can you open a new discussion for this question?

BR - Dominic

Hello @Dominic_Page,

Thanks for your help!!!
I have open new discussion for kibana issue.
For Es cluster, I can see one head plugin we can download.
I am trying to download it using "plugin --install mobz/elasticsearch-head" . but not able to create.
Can you help me this?

Regards,
Priyanka

Hi @pyerunka

The elasticsearch-head plugin is outside my area of expertise

I believe you can find the docs here: https://github.com/mobz/elasticsearch-head

BR,

Dominic

Hi again @pyerunka

One update, I took a quick look at that, I think you have to run as a standalone server for Elasticsearch >= 5.0 - the guide is here

Hope this helps,

Dominic