How to start two instances of ES 6.0 as a service?

As an experiment I would like to run 2 instances of ES on each server - I know this is not normally recommended. My servers has 128GB RAM and 12 processors (24 cores) so I would like to try running two instances.

I have made the changes to the yml files - elasticsearch.1.yml and elasticsearch.2.yml and I have put them in their own directories with the other files

My problem is that I can not work out how to start the two instances. I am running Centos 6.9 and ES 6.0.

When I try from the command line I get permission errors - either I do not have permission or I can not run as root. In this case how should I start the two instances?

I usually use "service elasticsearch start" but to get both instances I will need a new approach?

you can start the elasticsearch as a service using script ( which is created in elasticsearch installation directory as:
and if there is permission issue make sure elasticsearch folder have permission
chmod 777 /etc/elasticsearch

Thanks for your help.

One more question if I may. I am having problems with x-pack now. Do I need to configure x-pack for each instance?

And I presume I can work with only one copy of kibana running?

I have successfully finished this, so I will close this off as "solved".
Here is a summary of things I did.

  • Copied and edited files to:

  • To start and stop the instances, I use "service elasticsearch1 start" etc

  • I split my 12 disks per node between the two instances, 6 disks/pathsfor each instance

  • As I have two ethernet adapters I assigned on unique IP to each instance

All working nicely and I am bulk loading in the 12,000 - 15,000/s region, being bound by the I/O on the spinning disks. Its steady and useable so I am happy.

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