# Node Management APIs

**URL:** https://discuss.elastic.co/t/node-management-apis/100262
**Category:** Elasticsearch
**Created:** [September 12, 2017, 10:27pm UTC](https://discuss.elastic.co/t/node-management-apis/100262 "2017-09-12T22:27:41Z")
**Posts on this page:** 11
**Page:** 1

<div class="post-metadata">

### Author: ![rnataraja](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rnataraja/32/26255_2.png) [@rnataraja](https://discuss.elastic.co/u/rnataraja)
#### Post date: [September 12, 2017, 10:27pm UTC](https://discuss.elastic.co/t/node-management-apis/100262/1 "2017-09-12T22:27:41Z")

</div>

Are there APIs to add and remove Nodes from Elastic Search cluster? Or modifying and restarting elasticsearch is the only way?

---

<div class="post-metadata">

### Author: ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)
#### Post date: [September 12, 2017, 10:54pm UTC](https://discuss.elastic.co/t/node-management-apis/100262/2 "2017-09-12T22:54:47Z")

</div>

There is no API, it needs to be done in the config.

---

<div class="post-metadata">

### Author: ![rnataraja](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rnataraja/32/26255_2.png) [@rnataraja](https://discuss.elastic.co/u/rnataraja)
#### Post date: [September 12, 2017, 11:04pm UTC](https://discuss.elastic.co/t/node-management-apis/100262/3 "2017-09-12T23:04:33Z")

</div>

What is the best way to reload elasticsearch? Is there an API that causes ElasticSearch to reprocess the yml file?

---

<div class="post-metadata">

### Author: ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)
#### Post date: [September 13, 2017, 9:58am UTC](https://discuss.elastic.co/t/node-management-apis/100262/4 "2017-09-13T09:58:02Z")

</div>

You need to restart the service.

---

<div class="post-metadata">

### Author: ![rnataraja](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rnataraja/32/26255_2.png) [@rnataraja](https://discuss.elastic.co/u/rnataraja)
#### Post date: [September 13, 2017, 6:11pm UTC](https://discuss.elastic.co/t/node-management-apis/100262/5 "2017-09-13T18:11:02Z")

</div>

Interesting, What are the ways to add a node into cluster without downtime? Doesnt restarting elasticsearch cause downtime? In some dynamic environments it may be difficult to implement a coordination of restarting one after the other.

---

<div class="post-metadata">

### Author: ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)
#### Post date: [September 13, 2017, 8:29pm UTC](https://discuss.elastic.co/t/node-management-apis/100262/6 "2017-09-13T20:29:44Z")

</div>

There is no downtime required to add more nodes to a cluster. What makes you think that?

---

<div class="post-metadata">

### Author: ![rnataraja](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rnataraja/32/26255_2.png) [@rnataraja](https://discuss.elastic.co/u/rnataraja)
#### Post date: [September 13, 2017, 11:20pm UTC](https://discuss.elastic.co/t/node-management-apis/100262/7 "2017-09-13T23:20:31Z")

</div>

So if the only way is to modify elasticsearch.yml then dont I have to restart es everywhere where that node needs to be reflected. That is after modifying es.yml everywhere.

If not what is the other way? Also in our scenario VIP points to all the elastic nodes and restarting elasticsearch at one place can cause failure of requests to that node which may have been restarting at that time. How is this avoided?

---

<div class="post-metadata">

### Author: ![Ivan](https://avatars.discourse-cdn.com/v4/letter/i/df788c/32.png) [@Ivan](https://discuss.elastic.co/u/Ivan)
#### Post date: [September 14, 2017, 2:26pm UTC](https://discuss.elastic.co/t/node-management-apis/100262/8 "2017-09-14T14:26:06Z")

</div>

I am assuming Rajesh might be worried about updating the unicast node list  
on the existing nodes.

If the new node contains a list of valid nodes in the cluster, it will join  
the cluster and the cluster state will be shared with all the nodes in the  
cluster to each other. The new node just needs to know one single current  
host. Of course, the maintainability might suffer in the long run if  
cluster continues to expand and each older nodes does not have the newer  
nodes in its unicast host list, but the cluster state should work smoothly.

---

<div class="post-metadata">

### Author: ![rnataraja](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rnataraja/32/26255_2.png) [@rnataraja](https://discuss.elastic.co/u/rnataraja)
#### Post date: [September 14, 2017, 6:45pm UTC](https://discuss.elastic.co/t/node-management-apis/100262/9 "2017-09-14T18:45:28Z")

</div>

When a new node is getting added, We can populate entire node list into this new node and start it fresh. This will let the new node discover entire cluster.

For the existing nodes in the cluster, from Ivan's reply I understood, they can be untouched and they will essentially get their cluster figured out due to the new node having the information.

This is good.

When a node is decommissioned, how is this handled?

thanks  
Rajesh

---

<div class="post-metadata">

### Author: ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)
#### Post date: [September 15, 2017, 2:27am UTC](https://discuss.elastic.co/t/node-management-apis/100262/10 "2017-09-15T02:27:58Z")

</div>

> [@rnataraja](#):
>
> When a new node is getting added, We can populate entire node list into this new node and start it fresh. This will let the new node discover entire cluster.

> [@Ivan](#):
>
> If the new node contains a list of valid nodes in the cluster, it will join  
> the cluster and the cluster state will be shared with all the nodes in the  
> cluster to each other. The new node just needs to know one single current  
> host. Of course, the maintainability might suffer in the long run if  
> cluster continues to expand and each older nodes does not have the newer  
> nodes in its unicast host list, but the cluster state should work smoothly.

This is a good example of why dedicated masters makes sense.  
That or abstract the list to a DNS alias.

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)
#### Post date: [October 13, 2017, 2:28am UTC](https://discuss.elastic.co/t/node-management-apis/100262/11 "2017-10-13T02:28:40Z")

</div>

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