# Multiple Elasticsearch instance on one node

**URL:** <https://discuss.elastic.co/t/multiple-elasticsearch-instance-on-one-node/218449>\
**Category:** Elasticsearch\
**Created:** [February 8, 2020, 8:20pm UTC](https://discuss.elastic.co/t/multiple-elasticsearch-instance-on-one-node/218449 "2020-02-08T20:20:37Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![AndyGarcia](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/andygarcia/32/62315_2.png) [@AndyGarcia](https://discuss.elastic.co/u/AndyGarcia)\
**Post date:** [February 8, 2020, 8:20pm UTC](https://discuss.elastic.co/t/multiple-elasticsearch-instance-on-one-node/218449/1 "2020-02-08T20:20:37Z")

</div>

I'm having an issue with setting up multiple instances of Elasticsearch 7.5 on one node. I've created 3 seperate directories, each with elasticsearch.yml, jvm.options, and log44j2.properties.

I run the command "/bin/elasticsearch -Epath.conf=/etc/elasticsearch2/elasticsearch.yml" on 3 terminals on my machine and I only get a warning saying can not run elasticsearch as root. I assume this is fine since its just a warning?

But when I try to run the command "curl -XGET [http://localhost:9200/\_cluster/health?pretty=true](http://localhost:9200/_cluster/health?pretty=true)" it says I only have 1 node in my cluster.

I'm just wondering if there's anything I'm doing wrong. Any help is greatly appreciated!

---

<div class="post-metadata">

**Author:** ![DavidTurner](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/davidturner/32/22453_2.png) [@DavidTurner](https://discuss.elastic.co/u/DavidTurner)\
**Post date:** [February 8, 2020, 8:34pm UTC](https://discuss.elastic.co/t/multiple-elasticsearch-instance-on-one-node/218449/2 "2020-02-08T20:34:30Z")

</div>

> [@AndyGarcia](#):
>
> I only get a warning saying can not run elasticsearch as root. I assume this is fine since its just a warning?

Hmm, that should be fatal. It's certainly a bad idea to run things as `root` that don't need to be, and Elasticsearch doesn't need to be.

> [@AndyGarcia](#):
>
> it says I only have 1 node in my cluster.

Does [this note in the docs](https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-discovery-bootstrap-cluster.html#modules-discovery-bootstrap-cluster-joining) help?

---

<div class="post-metadata">

**Author:** ![AndyGarcia](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/andygarcia/32/62315_2.png) [@AndyGarcia](https://discuss.elastic.co/u/AndyGarcia)\
**Post date:** [February 8, 2020, 8:53pm UTC](https://discuss.elastic.co/t/multiple-elasticsearch-instance-on-one-node/218449/3 "2020-02-08T20:53:52Z")

</div>

Hey David thanks for the reply,

This is the message that I get when running elasticsearch. Is this causing a problem with my Elasticsearch? I can still curl 192.168.30.11:9200 and get information about the cluster though.

OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.  
[2020-02-08T15:16:38,796]

[WARN][o.e.b.ElasticsearchUncaughtExceptionHandler] [myNode\_1] uncaught exception in thread [main]  
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root

As for the notes in the doc, I've configured my first elasticsearch as the masternode through 192.168.30.11:9200. The other nodes in discovery.seed\_providers are identified by 192.168.30.11:9200, 192.168.30.11:9201, 192.168.30.11:9202. The second and third config have the exact same settings except I've added node.master: false and node.data: true in the other 2 files.

---

<div class="post-metadata">

**Author:** ![DavidTurner](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/davidturner/32/22453_2.png) [@DavidTurner](https://discuss.elastic.co/u/DavidTurner)\
**Post date:** [February 8, 2020, 9:01pm UTC](https://discuss.elastic.co/t/multiple-elasticsearch-instance-on-one-node/218449/4 "2020-02-08T21:01:17Z")

</div>

> [@AndyGarcia](#):
>
> [WARN][o.e.b.ElasticsearchUncaughtExceptionHandler] [myNode\_1] uncaught exception in thread [main]  
> org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root

Yes that looks fatal to me. On my machine Elasticsearch exits after logging that:

```auto
$ tar xf ~/Downloads/elasticsearch-7.5.0.tar.gz
$ sudo elasticsearch-7.5.0/bin/elasticsearch
OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
[2020-02-08T21:00:30,746][WARN][o.e.b.ElasticsearchUncaughtExceptionHandler] [Davids-MBP-3.lan] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:163) ~[elasticsearch-7.5.0.jar:7.5.0]
	at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150) ~[elasticsearch-7.5.0.jar:7.5.0]
	at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-7.5.0.jar:7.5.0]
	at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:125) ~[elasticsearch-cli-7.5.0.jar:7.5.0]
	at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-7.5.0.jar:7.5.0]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:115) ~[elasticsearch-7.5.0.jar:7.5.0]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92) ~[elasticsearch-7.5.0.jar:7.5.0]
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
	at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:105) ~[elasticsearch-7.5.0.jar:7.5.0]
	at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:172) ~[elasticsearch-7.5.0.jar:7.5.0]
	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:349) ~[elasticsearch-7.5.0.jar:7.5.0]
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:159) ~[elasticsearch-7.5.0.jar:7.5.0]
	... 6 more
$

```

> [@AndyGarcia](#):
>
> I can still curl 192.168.30.11:9200 and get information about the cluster though

Maybe you have another Elasticsearch process running?

---

<div class="post-metadata">

**Author:** ![AndyGarcia](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/andygarcia/32/62315_2.png) [@AndyGarcia](https://discuss.elastic.co/u/AndyGarcia)\
**Post date:** [February 8, 2020, 9:21pm UTC](https://discuss.elastic.co/t/multiple-elasticsearch-instance-on-one-node/218449/5 "2020-02-08T21:21:28Z")

</div>

I created a local user with sudo priveleges, but when I run sudo /bin/elasticsearch it gives me the exact same error. I even tried chown -R 777 /etc/elasticsearch and the config directories but it gives an error saying permission denied.

It seems like elasticsearch will work on one instance if I do systemctl start elasticsearch. But I don't think I can run multiple elasticsearch instances using systemctl.

---

<div class="post-metadata">

**Author:** ![DavidTurner](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/davidturner/32/22453_2.png) [@DavidTurner](https://discuss.elastic.co/u/DavidTurner)\
**Post date:** [February 9, 2020, 9:44am UTC](https://discuss.elastic.co/t/multiple-elasticsearch-instance-on-one-node/218449/6 "2020-02-09T09:44:50Z")

</div>

> [@AndyGarcia](#):
>
> when I run sudo /bin/elasticsearch it gives me the exact same error

I'm not following. The message says you cannot run Elasticsearch as root. I am not really understanding what else you expect to happen if you run Elasticsearch as root, which is what `sudo bin/elasticsearch` does. You should run it as a normal non-root user.

> [@AndyGarcia](#):
>
> It seems like elasticsearch will work on one instance if I do systemctl start elasticsearch. But I don't think I can run multiple elasticsearch instances using systemctl.

I'm sure it's _possible_ to run multiple nodes all managed by `systemd` but by default I think it is only configured to run one indeed. You can launch multiple processes in lots of ways; perhaps the simplest is to open multiple terminals and run one process in each terminal. If you really need to configure `systemd` to run multiple nodes then you will need help from someone who knows more about configuring `systemd` than I do.

---

<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:** [March 8, 2020, 9:44am UTC](https://discuss.elastic.co/t/multiple-elasticsearch-instance-on-one-node/218449/7 "2020-03-08T09:44:59Z")

</div>

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