# Elasticsearch as a service ignores ENVIRONMENT VARIABLES in /etc/environemnt

**URL:** <https://discuss.elastic.co/t/elasticsearch-as-a-service-ignores-environment-variables-in-etc-environemnt/51486>\
**Category:** Elasticsearch\
**Created:** [May 31, 2016, 8:30pm UTC](https://discuss.elastic.co/t/elasticsearch-as-a-service-ignores-environment-variables-in-etc-environemnt/51486 "2016-05-31T20:30:54Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![dm0000](https://avatars.discourse-cdn.com/v4/letter/d/f475e1/32.png) [@dm0000](https://discuss.elastic.co/u/dm0000)\
**Post date:** [May 31, 2016, 8:30pm UTC](https://discuss.elastic.co/t/elasticsearch-as-a-service-ignores-environment-variables-in-etc-environemnt/51486/1 "2016-05-31T20:30:54Z")

</div>

The documentation makes it sound as though you can set Environment Variables and use them in the /etc/elasticsearch/elasticsearch.yml file. It even gives ${HOSTNAME} as an example. According to Ubuntu, if I set a variable in /etc/environment, that variable name is available every time I log in.

When I set ES\_HEAP\_SIZE=4g or FOO=bar in my /etc/environment file I can see it with echo ${ES\_HEAP\_SIZE} or export -p but Elasticsearch completes ignores these variables.

I've seen some references to /etc/default/servicename via this post ([THIS POST][http://unix.stackexchange.com/questions/44370/how-to-make-unix-service-see-environment-variables](http://unix.stackexchange.com/questions/44370/how-to-make-unix-service-see-environment-variables))

AM I completely misreading the documentation? Does ES allow for reading/Importing of Environment Variables other than ${HOSTNAME} via the service?

---

<div class="post-metadata">

**Author:** ![msimos](https://avatars.discourse-cdn.com/v4/letter/m/bb73d2/32.png) [@msimos](https://discuss.elastic.co/u/msimos)\
**Post date:** [May 31, 2016, 8:43pm UTC](https://discuss.elastic.co/t/elasticsearch-as-a-service-ignores-environment-variables-in-etc-environemnt/51486/2 "2016-05-31T20:43:23Z")

</div>

Hi,

If you run Elasticsearch from the command line do you still see the same behavior? Running Elasticsearch from the command line below shows it does pickup the environment variable and set the node name accordinglky.. How are you starting Elasticsearch? Upstart or systemd? I'd try using /etc/default/elasticsearch to set ES\_HEAP\_SIZE.

```auto
[msimos@msi-gs60 elasticsearch-2.3.1]$ hostname
msi-gs60
[msimos@msi-gs60 elasticsearch-2.3.1]$ grep HOSTNAME config/elasticsearch.yml 
node.name: ${HOSTNAME}
[msimos@msi-gs60 elasticsearch-2.3.1]$ echo $HOSTNAME
msi-gs60
[msimos@msi-gs60 elasticsearch-2.3.1]$ bin/elasticsearch
[2016-05-31 13:39:37,688][INFO][node] [msi-gs60] version[2.3.1], pid[26742], build[bd98092/2016-04-04T12:25:05Z]
[2016-05-31 13:39:37,688][INFO][node] [msi-gs60] initializing ...

```

---

<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 5, 2017, 10:47pm UTC](https://discuss.elastic.co/t/elasticsearch-as-a-service-ignores-environment-variables-in-etc-environemnt/51486/3 "2017-07-05T22:47:33Z")

</div>


