# Can you set ES node name to same as the machine hostname?

**URL:** <https://discuss.elastic.co/t/can-you-set-es-node-name-to-same-as-the-machine-hostname/900>\
**Category:** Elasticsearch\
**Created:** [May 19, 2015, 1:15pm UTC](https://discuss.elastic.co/t/can-you-set-es-node-name-to-same-as-the-machine-hostname/900 "2015-05-19T13:15:53Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![MattStibbs](https://avatars.discourse-cdn.com/v4/letter/m/5e9695/32.png) [@MattStibbs](https://discuss.elastic.co/u/MattStibbs)\
**Post date:** [May 19, 2015, 1:15pm UTC](https://discuss.elastic.co/t/can-you-set-es-node-name-to-same-as-the-machine-hostname/900/1 "2015-05-19T13:15:53Z")

</div>

Is it possible to use environment variables or similar to automatically set an Elasticsearch node name to the hostname of the machine?

i.e. if a machine is called ES1, the ES node name would also be ES1 without having to configure it in elasticsearch.yml manually?

---

<div class="post-metadata">

**Author:** ![dakrone](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dakrone/32/23351_2.png) [@dakrone](https://discuss.elastic.co/u/dakrone)\
**Post date:** [May 19, 2015, 2:41pm UTC](https://discuss.elastic.co/t/can-you-set-es-node-name-to-same-as-the-machine-hostname/900/2 "2015-05-19T14:41:24Z")

</div>

Yes, you can substitute any environment variable in `elasticsearch.yml` by using ${...} notation, such as:

```
node.name: ${HOSTNAME}
```

---

<div class="post-metadata">

**Author:** ![MattStibbs](https://avatars.discourse-cdn.com/v4/letter/m/5e9695/32.png) [@MattStibbs](https://discuss.elastic.co/u/MattStibbs)\
**Post date:** [May 19, 2015, 2:55pm UTC](https://discuss.elastic.co/t/can-you-set-es-node-name-to-same-as-the-machine-hostname/900/3 "2015-05-19T14:55:11Z")

</div>

Perfect - thank you. I tried to find something about this in the documentation but clearly wasn't looking in the right place!

---

<div class="post-metadata">

**Author:** ![MattStibbs](https://avatars.discourse-cdn.com/v4/letter/m/5e9695/32.png) [@MattStibbs](https://discuss.elastic.co/u/MattStibbs)\
**Post date:** [May 19, 2015, 3:30pm UTC](https://discuss.elastic.co/t/can-you-set-es-node-name-to-same-as-the-machine-hostname/900/5 "2015-05-19T15:30:02Z")

</div>

I found that I had to add the following line to `/etc/init.d/elasticsearch` script (on Ubuntu):

```
export NODENAME=`hostname`

```

_N.B. Important that you use back ticks for this_

and then update `elasticsearch.yml` to:

```
node.name: ${NODENAME}
```

---

<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:** [May 20, 2015, 8:29am UTC](https://discuss.elastic.co/t/can-you-set-es-node-name-to-same-as-the-machine-hostname/900/6 "2015-05-20T08:29:58Z")

</div>

I wouldn't edit the init script, this can change between versions and you might find an upgrade will break it.

---

<div class="post-metadata">

**Author:** ![MattStibbs](https://avatars.discourse-cdn.com/v4/letter/m/5e9695/32.png) [@MattStibbs](https://discuss.elastic.co/u/MattStibbs)\
**Post date:** [May 20, 2015, 9:19am UTC](https://discuss.elastic.co/t/can-you-set-es-node-name-to-same-as-the-machine-hostname/900/7 "2015-05-20T09:19:06Z")

</div>

Thanks for the advice @warkolm - I'll look into alternative ways of setting the env variable!

---

<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:** [July 6, 2017, 12:13am UTC](https://discuss.elastic.co/t/can-you-set-es-node-name-to-same-as-the-machine-hostname/900/8 "2017-07-06T00:13:07Z")

</div>


