Forum: Managing VoltDB

Post: Unclustered VoltDB instances on the same host

Unclustered VoltDB instances on the same host
edwardsm
Mar 24, 2015
Hi,

I've been trying to run two or more unclustered VoltDB instances on the same host in order for developers to have their own instance.

I've tried the following:

voltdb create -d deployment.xml --client=40011 --admin=40012 --internal=40013 --zookeeper=40015

and changed the httpd port in the deployment.xml for each instance.

The first instance starts but the second crashes with a FATAL error:

Build: 5.1 voltdb-5.0.1-188-g6e9592a Community Edition
Connecting to the VoltDB cluster leader localhost/127.0.0.1:3021
WARN: Strict java memory checking is enabled, don't do release builds or performance runs with this enabled. Invoke "ant clean" and "ant -Djmemcheck=NO_MEMCHECK" to disable.
Strict java memory checking is enabled, don't do release builds or performance runs with this enabled. Invoke "ant clean" and "ant -Djmemcheck=NO_MEMCHECK" to disable.
Host id of this node is: 3
WARN: The locally provided deployment configuration did not match the configuration information found in the cluster.
FATAL: Expected to find 1 hosts in cluster at startup but found 2. Terminating this host.
VoltDB has encountered an unrecoverable error and is exiting.
The log may contain additional information.


I am using VoltDB 5.1 Community Edition on a Centos 6.5 VM. The company I'm working for does have the Enterprise version.

Any help would be greatly appreciated.

Thanks
edwardsm
Mar 24, 2015
Hi,

I think I've solved this with:

voltdb create -d deployment.xml -H localhost --client=40011 --admin=40012 --internal=40013 --zookeeper=40015 --replication=40016

So I've got 2 instances running. I'll run some tests to see if it works.
bballard
Mar 24, 2015
One other thing to be careful of is to either run the instances in separate directories and use the default voltdbroot subfolder, or configure the paths in the deployment.xml file to output to separate directories.

There is also an easier way to run multiple instances on one host for development using docker containers, as explained in this blog post: http://voltdb.com/blog/how-docker-simplifies-distributed-systems-development-voltdb